prole/infrastructure/roles/k3s/handlers/main.yml
chrisfu 9af1f5c5c6 refactor(k3s, cnpg): improve CNPG operator management and Ansible role robustness
* CNPG: Implement version pinning, automatic manifest URL derivation, and optional operator upgrades.

* CNPG: Add installation and management of the kubectl-cnpg plugin with architecture detection.

* k3s: Update etc/init_cloudnative_pg.sh to support configurable CNPG operator versions.

* Ansible: Enhance cgroups and k3s roles with improved check mode support and more robust variable defaults.

* Ansible: Improve kernel command-line path selection logic in the cgroups role.

Co-authored-by: Junie <junie@jetbrains.com>
2026-03-03 23:20:34 -08:00

41 lines
1.4 KiB
YAML

---
- name: Restart k3s
ansible.builtin.service:
name: "{{ k3s_service_name | default('k3s') }}"
state: restarted
- name: Upgrade CNPG operator
listen: Upgrade CNPG operator
ansible.builtin.command: kubectl apply --server-side -f {{ cnpg_manifest_url }}
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
register: cnpg_upgrade_apply
changed_when: "'created' in cnpg_upgrade_apply.stdout or 'configured' in cnpg_upgrade_apply.stdout"
- name: Verify CNPG controller rollout (upgrade)
listen: Upgrade CNPG operator
ansible.builtin.command: kubectl rollout status deployment -n cnpg-system cnpg-controller-manager --timeout=300s
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
register: cnpg_upgrade_rollout_check
changed_when: false
failed_when: false
- name: Restart CNPG controller if rollout failed (upgrade)
listen: Upgrade CNPG operator
ansible.builtin.command: kubectl rollout restart deployment -n cnpg-system cnpg-controller-manager
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: true
when:
- cnpg_upgrade_rollout_check is defined
- cnpg_upgrade_rollout_check.rc != 0
- name: Final CNPG controller rollout check (upgrade)
listen: Upgrade CNPG operator
ansible.builtin.command: kubectl rollout status deployment -n cnpg-system cnpg-controller-manager --timeout=300s
environment:
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
changed_when: false
failed_when: false