minikube_pre_reqs.yml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. ---
  2. - name: Create minikube Home Dir
  3. file:
  4. state: directory
  5. name: "{{ item }}"
  6. loop:
  7. - "{{ minikube_home_dir }}"
  8. - name: Check if minikube is installed
  9. stat:
  10. path: /usr/local/bin/minikube
  11. register: minikube_stat_result
  12. changed_when: False
  13. - name: Download minikube binary
  14. set_fact:
  15. need_to_download: '{{ not minikube_stat_result.stat.exists }}'
  16. - name: "Check for minikube updates"
  17. command:
  18. argv:
  19. - "{{ minikube_stat_result.stat.path }}"
  20. - update-check
  21. register: minikube_result
  22. when: minikube_stat_result.stat.exists
  23. - name: Set minikube versions
  24. set_fact:
  25. current_version: "{{ minikube_result.stdout_lines[0] | regex_search('v\\d+.\\d+.\\d+') }}"
  26. new_version: "{{ minikube_result.stdout_lines[1] | regex_search('v\\d+.\\d+.\\d+') }}"
  27. when: minikube_result is defined and minikube_result.stdout_lines is defined
  28. - name: Minikube Version Check
  29. debug:
  30. msg: "Current Version {{ current_version }}, New Version: {{ new_version }}"
  31. when: current_version is defined and new_version is defined
  32. - name: Update minikube binary
  33. set_fact:
  34. need_to_download: '{{ not minikube_stat_result.stat.exists or current_version is version(new_version,"<" ,strict=False) }}'
  35. when: current_version is defined and new_version is defined
  36. - name: set minikube version fact
  37. set_fact:
  38. minikube_version: "{{ new_version }}"
  39. when: current_version is version(new_version,"<",strict=False)
  40. - name: Set minikube macOS download binary
  41. set_fact:
  42. minikube_download_binary: "https://github.com/kubernetes/minikube/releases/download/{{ minikube_version }}/minikube-darwin-amd64"
  43. when: need_to_download and ansible_os_family == "Darwin"
  44. - name: Set minikube Linux download binary
  45. set_fact:
  46. minikube_download_binary: "https://github.com/kubernetes/minikube/releases/download/{{ minikube_version }}/minikube-linux-amd64"
  47. when: need_to_download and (ansible_os_family == "RedHat" or ansible_os_family == "CentOS" or ansible_os_family == "Debian")
  48. - name: Set minikube Windows download binary
  49. set_fact:
  50. minikube_download_binary: "https://github.com/kubernetes/minikube/releases/download/{{ minikube_version }}/minikube-windows-amd64"
  51. when: need_to_download and ansible_os_family == "Windows"
  52. - name: Create user local bin directory
  53. file:
  54. path: /usr/local/bin
  55. state: directory
  56. become: yes
  57. when: need_to_download
  58. - name: Download minikube binary
  59. get_url:
  60. url: "{{ minikube_download_binary }}"
  61. dest: "/usr/local/bin/minikube"
  62. mode: "0755"
  63. force: yes
  64. become: yes
  65. when: need_to_download
  66. register: downloaded_minikube
  67. - name: set the macOS default driver
  68. set_fact:
  69. minikube_driver: hyperkit
  70. when: ansible_os_family == "Darwin" and minikube_driver_override is not defined
  71. - name: set the linux default driver
  72. set_fact:
  73. minikube_driver: kvm2
  74. when: (ansible_os_family == "RedHat" or ansible_os_family == "CentOS" or ansible_os_family == "Debian") and minikube_driver_override is not defined
  75. - name: set minikube binary fact
  76. set_fact:
  77. minikube_binary: /usr/local/bin/minikube