Remove ArgoCD and Helm dependencies, add everything unnecessary to .dockerignore, add support for DB authentication in Payphone's CLI, make Scylla be fully managed by Ansible, add Payphone deployment ansible file
68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
- name: Set up Scylla Operator, NodeConfig, and the Local CSI Driver
|
|
hosts: init
|
|
become: true
|
|
vars:
|
|
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: Apply Scylla Operator YAML
|
|
ansible.builtin.command: |
|
|
kubectl apply --server-side -f /tmp/k8s/scylla/03-scylla-operator.yml -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
|
|
|
|
- name: Apply Scylla NodeConfig YAML
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
src: "/tmp/k8s/scylla/04-scylla-node-config.yml"
|
|
namespace: scylla-operator
|
|
kubeconfig: /etc/rancher/k3s/k3s.yaml
|
|
|
|
- name: Wait for Scylla NodeConfig to be applied across all nodes
|
|
ansible.builtin.command: |
|
|
kubectl wait --for='condition=Reconciled' --timeout=10m nodeconfigs.scylla.scylladb.com/scylladb-nodepool-1
|
|
changed_when: false
|
|
|
|
- name: Find Scylla CSI Driver K8s YAMLs on Remote Host
|
|
ansible.builtin.find:
|
|
paths: /tmp/k8s/scylla
|
|
patterns: "05-*.yml"
|
|
file_type: file
|
|
register: scylla_csi_driver_files
|
|
|
|
- name: Apply all Scylla CSI Driver K8s YAMLs
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
src: "{{ item.path }}"
|
|
kubeconfig: /etc/rancher/k3s/k3s.yaml
|
|
loop: "{{ scylla_csi_driver_files.files | sort(attribute='path') }}"
|
|
loop_control:
|
|
label: "{{ item.path }}"
|
|
|
|
- name: Wait for Local CSI Driver DaemonSet
|
|
ansible.builtin.command: |
|
|
kubectl -n=local-csi-driver rollout status --timeout=10m daemonset.apps/local-csi-driver
|
|
changed_when: false
|