38 lines
1.7 KiB
YAML
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"
|