diff --git a/docs/admiralty/Capture d’écran du 2025-05-20 16-03-39.png b/docs/admiralty/Capture d’écran du 2025-05-20 16-03-39.png new file mode 100644 index 0000000..56a744b Binary files /dev/null and b/docs/admiralty/Capture d’écran du 2025-05-20 16-03-39.png differ diff --git a/docs/admiralty/Capture d’écran du 2025-05-20 16-04-21.png b/docs/admiralty/Capture d’écran du 2025-05-20 16-04-21.png new file mode 100644 index 0000000..4019efb Binary files /dev/null and b/docs/admiralty/Capture d’écran du 2025-05-20 16-04-21.png differ diff --git a/docs/admiralty/deployment.md b/docs/admiralty/deployment.md index d3e235a..14b2a1c 100644 --- a/docs/admiralty/deployment.md +++ b/docs/admiralty/deployment.md @@ -3,6 +3,85 @@ We have written two playbooks available on a private [GitHub repo](https://github.com/pi-B/ansible-oc/tree/384a5acc0713a0fa013a82f71fbe2338bf6c80c1/Admiralty) - `deploy_admiralty.yml` installs Helm and necessary charts in order to run Admiralty on the cluster -- `setup_admiralty_target.yml` create the environment necessary to use a cluster as a target in an Admiralty federation running Argo Workflows. Create the necessary serviceAccount, target ressource and token to authentify the source -- `add_admiralty_target.yml` creates the environment to use a cluster as a source, providing the data necessary to use a given cluster as a target. +# Ansible playbook + +ansible-playbook deploy_admiralty.yml -i , --extra-vars "user_prompt=" --ask-pass + +```yaml +- name: Install Helm + hosts: all:!localhost + user: "{{ user_prompt }}" + become: true + # become_method: su + vars: + arch_mapping: # Map ansible architecture {{ ansible_architecture }} names to Docker's architecture names + x86_64: amd64 + aarch64: arm64 + + + tasks: + - name: Check if Helm does exist + ansible.builtin.command: + cmd: which helm + register: result_which + failed_when: result_which.rc not in [ 0, 1 ] + + - name: Install helm + when: result_which.rc == 1 + block: + - name: download helm from source + ansible.builtin.get_url: + url: https://get.helm.sh/helm-v3.15.0-linux-amd64.tar.gz + dest: ./ + + - name: unpack helm + ansible.builtin.unarchive: + remote_src: true + src: helm-v3.15.0-linux-amd64.tar.gz + dest: ./ + + - name: copy helm to path + ansible.builtin.command: + cmd: mv linux-amd64/helm /usr/local/bin/helm + +- name: Install admiralty + hosts: all:!localhost + user: "{{ user_prompt }}" + + tasks: + - name: Install required python libraries + become: true + # become_method: su + package: + name: + - python3 + - python3-yaml + state: present + + - name: Add jetstack repo + ansible.builtin.shell: + cmd: | + helm repo add jetstack https://charts.jetstack.io && \ + helm repo update + + - name: Install cert-manager + kubernetes.core.helm: + chart_ref: jetstack/cert-manager + release_name: cert-manager + context: default + namespace: cert-manager + create_namespace: true + wait: true + set_values: + - value: installCRDs=true + + - name: Install admiralty + kubernetes.core.helm: + name: admiralty + chart_ref: oci://public.ecr.aws/admiralty/admiralty + namespace: admiralty + create_namespace: true + chart_version: 0.16.0 + wait: true +```