minikube_pre_reqs.yml 2.7 KB

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