prole/infrastructure/roles/k3s/tasks/start.yml
chrisfu da2f6600ba feat: infrastructure and installer updates for k3s, OpenTofu, and prole-db
- Add k3s start/stop Ansible playbooks and roles.

- Implement OpenTofu initialization scripts and k8s manifests.

- Update ncurses installer with OpenTofu support and improved k3s integration.

- Add mode support (--mode) to etc/ initialization scripts.

- Update prole-db with recovery, barman objectstore, and SSH OpenBao support.

- Refine k8s manifests for OpenBao and prole-db.
2026-02-05 21:27:18 -08:00

29 lines
906 B
YAML

---
- name: Set k3s service name
ansible.builtin.set_fact:
k3s_service_name: "{{ 'k3s' if k3s_role == 'server' else 'k3s-agent' }}"
- name: Gather service facts
ansible.builtin.service_facts:
- name: Ensure k3s service is installed
ansible.builtin.assert:
that:
- (k3s_service_name + ".service") in ansible_facts.services
fail_msg: "k3s service {{ k3s_service_name }} is not installed. Run the k3s role or reset playbook first."
- name: Start k3s service
ansible.builtin.systemd:
name: "{{ k3s_service_name }}"
state: started
enabled: true
no_block: true
- name: Wait for k3s to become active
ansible.builtin.command: "systemctl is-active {{ k3s_service_name }}"
register: k3s_service_state
changed_when: false
retries: "{{ [1, (k3s_start_timeout_seconds | default(120) | int) // 10] | max }}"
delay: 10
until: k3s_service_state.stdout == "active"