Files
a13labs.infra/ansible/roles/microk8s/tasks/main.yml
T

80 lines
1.7 KiB
YAML
Raw Normal View History

2024-09-24 15:19:51 +02:00
- name: Install requirements
become: true
ansible.builtin.package:
pkg: "{{ item }}"
state: present
loop:
- python3-pip
- python3-virtualenv
- snapd
- jq
tags: always
- name: Read current remote $HOME
ansible.builtin.shell: "echo $HOME"
register: remote_home_dir
changed_when: false
check_mode: false
tags: always
- name: Set working folders
ansible.builtin.set_fact:
k8s_etc: "{{ remote_home_dir.stdout }}/.kube"
k8s_kubeconfig: "{{ remote_home_dir.stdout }}/.kube/config"
k8s_venv: "{{ remote_home_dir.stdout }}/.venv"
tags: always
- name: Create required folders
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: "0750"
loop:
- "{{ k8s_etc }}"
- "{{ k8s_venv }}"
tags: always
- name: Install required PIP packages
ansible.builtin.pip:
name: "{{ item }}"
state: present
virtualenv: "{{ k8s_venv }}"
virtualenv_site_packages: true
loop:
- kubernetes
- yq
tags: always
- name: Install Microk8s
ansible.builtin.include_tasks: microk8s/install.yml
tags:
- k8s::install
- name: Download kubectl
become: true
ansible.builtin.get_url:
2024-09-28 23:12:19 +02:00
url: "https://dl.k8s.io/release/v{{ microk8s_kubectl_version }}/bin/linux/amd64/kubectl"
2024-09-24 15:19:51 +02:00
dest: "/usr/local/bin/kubectl"
mode: "0755"
owner: "root"
tags:
- k8s::install
- k8s::kubectl
- name: Setup CertManager
ansible.builtin.include_tasks: certmanager.yml
tags:
- k8s::certmanager
- name: Setup IAC access
ansible.builtin.include_tasks: iac.yml
tags:
- k8s::iac
- name: "Setup local user access to k8s - {{ item.username }}"
ansible.builtin.include_tasks: "setupenv/main.yml"
2024-09-28 23:12:19 +02:00
loop: "{{ microk8s_users }}"
when: microk8s_users is defined
2024-09-24 15:19:51 +02:00
tags:
- k8s::users