diff --git a/ansible/roles/firstboot/files/ansible_payload/vars/metacluster.yml b/ansible/roles/firstboot/files/ansible_payload/vars/metacluster.yml deleted file mode 100644 index 42a1cc3..0000000 --- a/ansible/roles/firstboot/files/ansible_payload/vars/metacluster.yml +++ /dev/null @@ -1 +0,0 @@ -#jinja2:variable_start_string:'[%' , variable_end_string:'%]' diff --git a/ansible/roles/metacluster/tasks/components.yml b/ansible/roles/metacluster/tasks/components.yml index 43f2191..f1f5052 100644 --- a/ansible/roles/metacluster/tasks/components.yml +++ b/ansible/roles/metacluster/tasks/components.yml @@ -25,16 +25,16 @@ - name: Aggregate chart_values into dict ansible.builtin.set_fact: - chart_values: "{{ chart_values | default({}) | combine({ item.key: { 'chart_values': item.value.helm.chart_values } }) }}" + chart_values: "{{ chart_values | default({}) | combine({ item.key: { 'chart_values': (item.value.helm.chart_values | from_yaml) } }) }}" when: item.value.helm.chart_values is defined loop: "{{ lookup('ansible.builtin.dict', components) }}" loop_control: label: "{{ item.key }}" - name: Write dict to vars_file - ansible.builtin.blockinfile: - path: /opt/firstboot/ansible/vars/metacluster.yml - block: "{{ { 'components': chart_values } | to_nice_yaml(indent=2, width=4096) }}" + ansible.builtin.copy: + dest: /opt/firstboot/ansible/vars/metacluster.yml + content: "{{ { 'components': chart_values } | to_nice_yaml(indent=2, width=4096) }}" - name: Parse helm charts for container images ansible.builtin.shell: diff --git a/ansible/vars/metacluster.yml b/ansible/vars/metacluster.yml index f393f23..25d8a23 100644 --- a/ansible/vars/metacluster.yml +++ b/ansible/vars/metacluster.yml @@ -20,69 +20,76 @@ components: version: 1.3.0 chart: longhorn/longhorn parse_logic: cat values.yaml | yq eval '.. | select(has("repository")) | .repository + ":" + .tag' - chart_values: + chart_values: | + {% raw %} defaultSettings: defaultDataPath: /mnt/blockstorage defaultReplicaCount: 1 ingress: enabled: true - host: storage.[% vapp['metacluster.fqdn'] %] + host: storage.{{ vapp['metacluster.fqdn'] }} persistence: defaultClassReplicaCount: 1 + {% endraw %} harbor: helm: version: 1.9.1 # (= Harbor v2.5.1) chart: harbor/harbor parse_logic: helm template . | yq --no-doc eval '.. | .image? | select(.)' | sort -u | awk '!/ /' - chart_values: + chart_values: | + {% raw %} expose: ingress: hosts: - core: registry.[% vapp['metacluster.fqdn'] %] - externalURL: https://registry.[% vapp['metacluster.fqdn'] %] - harborAdminPassword: "[% vapp['guestinfo.rootpw'] %]" + core: registry.{{ vapp['metacluster.fqdn'] }} + externalURL: https://registry.{{ vapp['metacluster.fqdn'] }} + harborAdminPassword: "{{ vapp['guestinfo.rootpw'] }}" notary: enabled: false + {% endraw %} gitea: helm: version: v5.0.9 # (= Gitea v1.16.8) chart: gitea-charts/gitea parse_logic: helm template . | yq --no-doc eval '.. | .image? | select(.)' | sort -u | sed '/:/!s/$/:latest/' - chart_values: + chart_values: | + {% raw %} gitea: admin: username: administrator - password: "[% vapp['guestinfo.rootpw'] %]" - email: admin@[% vapp['metacluster.fqdn'] %] + password: "{{ vapp['guestinfo.rootpw'] }}" + email: admin@{{ vapp['metacluster.fqdn'] }} image: pullPolicy: IfNotPresent ingress: enabled: true hosts: - - host: git.[% vapp['metacluster.fqdn'] %] + - host: git.{{ vapp['metacluster.fqdn'] }} paths: - path: / pathType: Prefix + {% endraw %} argo-cd: helm: version: 4.9.7 # (= ArgoCD v2.4.2) chart: argo/argo-cd parse_logic: helm template . | yq --no-doc eval '.. | .image? | select(.)' | sort -u | awk '!/ /' - chart_values: + chart_values: | + {% raw %} server: extraArgs: - --insecure ingress: enabled: true hosts: - - gitops.[% vapp['metacluster.fqdn'] %] + - gitops.{{ vapp['metacluster.fqdn'] }} configs: secret: - argocdServerAdminPassword: "[% vapp['guestinfo.rootpw'] | password_hash('bcrypt') %]" - + argocdServerAdminPassword: "{{ vapp['guestinfo.rootpw'] | password_hash('bcrypt') }}" + {% endraw %} dependencies: