All the Ansible playbooks used to deploy k3s, argo server, admiralty and minio
This commit is contained in:
134
ansible/Minio/deploy_minio.yml
Normal file
134
ansible/Minio/deploy_minio.yml
Normal file
@@ -0,0 +1,134 @@
|
||||
- name: Deploy MinIO
|
||||
hosts: all:!localhost
|
||||
user: "{{ user_prompt }}"
|
||||
vars:
|
||||
host_name: "{{ host_name_prompt }}"
|
||||
memory_req: "2Gi"
|
||||
storage_req: "20Gi"
|
||||
environment:
|
||||
KUBECONFIG: /home/{{ user_prompt }}/.kube/config
|
||||
|
||||
tasks:
|
||||
- name: Install yaml library for python
|
||||
become: true
|
||||
ansible.builtin.package:
|
||||
name: ansible
|
||||
state: present
|
||||
|
||||
- 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://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
|
||||
dest: ./get_helm.sh
|
||||
mode: 0700
|
||||
|
||||
- name: Launch helm install script
|
||||
become: true
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
./get_helm.sh
|
||||
|
||||
- name: Test if MinIO is already installed
|
||||
ansible.builtin.shell:
|
||||
cmd : helm repo list | grep 'https://charts.min.io/'
|
||||
register: minio_charts
|
||||
failed_when: minio_charts.rc not in [0,1]
|
||||
|
||||
- name: Add helm repo MinIO
|
||||
kubernetes.core.helm_repository:
|
||||
repo_url: https://charts.min.io/
|
||||
repo_state: present
|
||||
repo_name: minio
|
||||
when: minio_charts.rc == 1
|
||||
|
||||
- name: Update helm repo
|
||||
ansible.builtin.command:
|
||||
cmd : |
|
||||
helm repo update
|
||||
when: minio_charts.rc == 1
|
||||
|
||||
- name: Test is argo-artifact is already running
|
||||
ansible.builtin.shell:
|
||||
helm list | grep -w "argo-artifacts" | wc -l
|
||||
register: argo_artifact_deployed
|
||||
failed_when: argo_artifact_deployed.rc not in [ 0, 1 ]
|
||||
|
||||
- name: Initialize MinIO
|
||||
when: argo_artifact_deployed.stdout == "0"
|
||||
kubernetes.core.helm:
|
||||
name: argo-artifacts
|
||||
chart_ref: minio/minio
|
||||
release_namespace: default
|
||||
values:
|
||||
service:
|
||||
type: LoadBalancer
|
||||
fullnameOverride: argo-artifacts
|
||||
resources:
|
||||
requests:
|
||||
memory: "{{ memory_req }}"
|
||||
replicas: 2
|
||||
volumeClaimTemplates:
|
||||
spec:
|
||||
resources:
|
||||
requests: "{{ storage_req }}"
|
||||
consoleService:
|
||||
type: LoadBalancer
|
||||
# port: 9001
|
||||
state: present
|
||||
|
||||
- name: Retrieve root user
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
kubectl get secret argo-artifacts --namespace default -o jsonpath="{.data.rootUser}"
|
||||
register : user_encoded
|
||||
|
||||
- name: Decode root user
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
echo {{ user_encoded.stdout }} | base64 -d
|
||||
register: user
|
||||
|
||||
- name: Retrieve root password
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
kubectl get secret argo-artifacts --namespace default -o jsonpath="{.data.rootPassword}"
|
||||
register : password_encoded
|
||||
|
||||
|
||||
- name: Decode root password
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
echo {{ password_encoded.stdout }} | base64 -d
|
||||
register: password
|
||||
|
||||
- name: Retrieve console ip
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
kubectl get service argo-artifacts-console -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
|
||||
register : ip_console
|
||||
|
||||
- name: Retrieve API internal ip
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
kubectl get service argo-artifacts -o jsonpath="{.spec.clusterIP}"
|
||||
register : ip_api
|
||||
|
||||
- name: Display info
|
||||
debug:
|
||||
msg :
|
||||
"
|
||||
MinIO UI console info
|
||||
external IP GUI : {{ ip_console.stdout }}
|
||||
user : {{ user.stdout }}
|
||||
password : {{ password.stdout }}
|
||||
|
||||
IP API : {{ ip_api.stdout }}
|
||||
"
|
||||
Reference in New Issue
Block a user