maabara/playbooks/k8s/install_k8s_tools.yml
2025-04-20 14:07:20 -04:00

64 lines
2.3 KiB
YAML

---
- name: adds the kubernetes repo and installs kubectl
hosts: localhost
become: true
tasks:
########## KUBECTL INSTALL ##########
- name: update apt cache
ansible.builtin.apt:
update_cache: true
- name: install core pre-reqs
ansible.builtin.apt:
pkg:
- apt-transport-https
- ca-certificates
- curl
- gnupg
- name: check to see if gpg key exists
ansible.builtin.stat:
path: /etc/apt/keyrings/kubernetes-apt-keyring.gpg
register: st
- name: download the key and install it
ansible.builtin.shell: |
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # allow unprivileged APT programs to read this keyring
when: st.stat.exists != true
- name: add the kubernetes apt repository
ansible.builtin.apt_repository:
repo: "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /"
state: present
filename: kubernetes.list
- name: update apt cache and install kubectl
ansible.builtin.apt:
name: kubectl
update_cache: true
########## ARGOCD INSTALL ##########
- name: does argocd exists
ansible.builtin.stat:
path: /usr/local/bin/argocd
register: st
- name: install argocd
ansible.builtin.shell: |
VERSION=$(curl -L -s https://raw.githubusercontent.com/argoproj/argo-cd/stable/VERSION)
curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/download/v$VERSION/argocd-linux-amd64
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64
when: st.stat.exists != true
########## HELM INSTALL ##########
- name: install repository and key (not idempotent)
ansible.builtin.shell: |
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
apt update
- name: install helm kubernetes package manager
ansible.builtin.apt:
name: helm