k8s/roles/longhorn/tasks/helm.yml
2026-07-21 10:36:49 +03:00

38 lines
1.7 KiB
YAML

---
- name: Helm | Add Longhorn chart repository
ansible.builtin.command: helm repo add longhorn https://charts.longhorn.io
environment:
KUBECONFIG: "{{ longhorn_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
register: _helm_repo_add
changed_when: "'already exists' not in _helm_repo_add.stdout"
failed_when: _helm_repo_add.rc != 0 and 'already exists' not in _helm_repo_add.stdout
- name: Helm | Update chart repositories
ansible.builtin.command: helm repo update
environment:
KUBECONFIG: "{{ longhorn_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
changed_when: false
- name: Helm | Install or upgrade Longhorn
ansible.builtin.command: >
helm upgrade --install longhorn longhorn/longhorn
--namespace {{ longhorn_namespace }}
--create-namespace
--version {{ longhorn_chart_version }}
--set defaultSettings.defaultReplicaCount={{ longhorn_default_replica_count }}
--set defaultSettings.replicaNodeLevelSoftAntiAffinity={{ longhorn_replica_node_soft_anti_affinity }}
--set defaultSettings.minimalAvailableStoragePercentage={{ longhorn_minimal_available_storage_percentage }}
--set defaultSettings.storageOverProvisioningPercentage={{ longhorn_storage_over_provisioning_percentage }}
--set defaultSettings.createDefaultDiskLabeledNodes=true
--set persistence.defaultClassReplicaCount={{ longhorn_default_replica_count }}
--set persistence.defaultFsType=xfs
--set persistence.defaultClass=true
--set service.ui.type=ClusterIP
environment:
KUBECONFIG: "{{ longhorn_kubeconfig }}"
PATH: "/usr/local/bin:/usr/bin:/bin"
register: _helm_install
changed_when: "'STATUS: deployed' in _helm_install.stdout or 'has been upgraded' in _helm_install.stdout"