Create ansible files for all Scylla-related operators

This commit is contained in:
2025-08-16 02:29:37 -03:00
parent f6866e1a11
commit 8eaa3f6195
11 changed files with 124324 additions and 2 deletions
+22
View File
@@ -0,0 +1,22 @@
- name: Set up repository secrets
hosts: dev
become: true
vars_files:
- ../secrets.yml
tasks:
- name: Add private Git repo credentials to ArgoCD
kubernetes.core.k8s:
state: present
definition:
apiVersion: v1
kind: Secret
metadata:
name: payphone-repo-creds
namespace: argocd
annotations:
argocd.argoproj.io/secret-type: repository
stringData:
url: https://git.nyeki.dev/payphone/payphone.git
username: "{{ gitlab_username }}"
password: "{{ gitlab_pat }}"
kubeconfig: /etc/rancher/k3s/k3s.yaml
+53
View File
@@ -0,0 +1,53 @@
- name: Set up Cert-Manager
hosts: dev
become: true
vars:
cert_manager_ns: cert-manager
cert_manager_yaml_src: "{{ playbook_dir }}/../../k8s/scylla/01-cert-manager.yml"
cert_manager_yaml_dest: /tmp/01-cert-manager.yml
cert_manager_crds:
- certificates.cert-manager.io
- issuers.cert-manager.io
cert_manager_deployments:
- cert-manager
- cert-manager-cainjector
- cert-manager-webhook
tasks:
- name: Copy Cert-Manager YAML to node
ansible.builtin.copy:
src: "{{ cert_manager_yaml_src }}"
dest: "{{ cert_manager_yaml_dest }}"
mode: '0644'
- name: Apply Cert-Manager YAML
kubernetes.core.k8s:
state: present
src: "{{ cert_manager_yaml_dest }}"
kubeconfig: /etc/rancher/k3s/k3s.yaml
- name: Wait for Cert-Manager CRDs
ansible.builtin.shell: |
kubectl wait --for condition=established --timeout=60s crd/{{ cert_manager_crds | join(' crd/') }}
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
- name: Wait for Cert-Manager deployments
ansible.builtin.shell: |
kubectl -n {{ cert_manager_ns }} rollout status --timeout=10m deployment.apps/{{ item }}
loop: "{{ cert_manager_deployments }}"
loop_control:
loop_var: item
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
- name: Wait for Cert-Manager webhook CA secret
ansible.builtin.shell: |
for i in {1..30}; do
kubectl -n {{ cert_manager_ns }} get secret/cert-manager-webhook-ca && break
sleep 1
done
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
+32
View File
@@ -0,0 +1,32 @@
- name: Set up Prometheus operator
hosts: dev
become: true
vars:
prometheus_yaml_src: "{{ playbook_dir }}/../../k8s/scylla/02-prometheus-operator.yml"
prometheus_yaml_dest: /tmp/02-prometheus-operator.yml
prometheus_crds:
- prometheuses.monitoring.coreos.com
- prometheusrules.monitoring.coreos.com
- servicemonitors.monitoring.coreos.com
tasks:
- name: Copy Prometheus YAML to node
ansible.builtin.copy:
src: "{{ prometheus_yaml_src }}"
dest: "{{ prometheus_yaml_dest }}"
mode: '0644'
- name: Apply Prometheus operator server-side
ansible.builtin.command: kubectl apply --server-side -f {{ prometheus_yaml_dest }} -n prometheus-operator
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
- name: Wait for Prometheus operator CRDs
ansible.builtin.shell: |
kubectl wait --for='condition=established' crd/{{ prometheus_crds | join(' crd/') }}
changed_when: false
- name: Wait for Prometheus operator deployment
ansible.builtin.shell: |
kubectl -n=prometheus-operator rollout status --timeout=10m deployment.apps/prometheus-operator
changed_when: false
+41
View File
@@ -0,0 +1,41 @@
- name: Set up Scylla DB Operator
hosts: dev
become: true
vars:
scylla_yaml_src: "{{ playbook_dir }}/../../k8s/scylla/03-scylla-operator.yml"
scylla_yaml_dest: "/tmp/03-scylla-operator.yml"
scylla_crds:
- scyllaclusters.scylla.scylladb.com
- nodeconfigs.scylla.scylladb.com
- scyllaoperatorconfigs.scylla.scylladb.com
- scylladbmonitorings.scylla.scylladb.com
scylla_deployments:
- scylla-operator
- webhook-server
tasks:
- name: Copy Scylla Operator YAML to node
ansible.builtin.copy:
src: "{{ scylla_yaml_src }}"
dest: "{{ scylla_yaml_dest }}"
mode: '0644'
- name: Apply Scylla Operator YAML
ansible.builtin.command: kubectl apply --server-side -f {{ scylla_yaml_dest }} -n scylla-operator
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
- name: Wait for Scylla Operator CRDs
ansible.builtin.shell: |
kubectl wait --for='condition=established' crd/{{ scylla_crds | join(' crd/') }}
changed_when: false
- name: Wait for Scylla Operator deployments
ansible.builtin.shell: |
kubectl -n scylla-operator rollout status --timeout=10m deployment.apps/{{ item }}
loop: "{{ scylla_deployments }}"
loop_control:
loop_var: item
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
+9
View File
@@ -0,0 +1,9 @@
$ANSIBLE_VAULT;1.1;AES256
38636132613135376633623839643865386338396334373937333864633666313934343339343562
3733313938383137336163613439643535303663306130340a386237326433666239383830333262
63626130613136373263666163656436376533376239653632316565346136623138313361643430
6638666133346536330a356666316134326430633435663566316566303239653138393836363335
35383339383739333263636135356463346233346363326331353137313732356237313139386230
65386235346462323565353030333236613965333066366232353132626566353037336563383932
38643462653233653339626137663735396466636635383531636130633964653264313838313366
62633338363063613661