diff --git a/bootstrap/tasks/validation/cloudflare.yaml b/bootstrap/tasks/validation/cloudflare.yaml index cc9ac633..19ced4be 100644 --- a/bootstrap/tasks/validation/cloudflare.yaml +++ b/bootstrap/tasks/validation/cloudflare.yaml @@ -1,6 +1,6 @@ --- - name: Query Cloudflare zone - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.uri: url: https://api.cloudflare.com/client/v4/zones?name={{ bootstrap_cloudflare_domain }}&status=active headers: @@ -12,14 +12,14 @@ register: result - name: Check if Cloudflare zone exists - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.assert: that: result.json.success is true success_msg: Cloudflare zone {{ bootstrap_cloudflare_domain }} exists fail_msg: Cloudflare zone {{ bootstrap_cloudflare_domain }} does not exist - name: Query Cloudflared tunnel - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.uri: url: https://api.cloudflare.com/client/v4/accounts/{{ bootstrap_cloudflare_account_tag }}/cfd_tunnel/{{ bootstrap_cloudflare_tunnel_id }} headers: @@ -31,7 +31,7 @@ register: result - name: Check if Cloudflared tunnel exists - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.assert: that: result.json.success is true success_msg: Cloudflared tunnel {{ bootstrap_cloudflare_tunnel_id }} exists diff --git a/bootstrap/tasks/validation/github.yaml b/bootstrap/tasks/validation/github.yaml index a5ebe34c..1942ac02 100644 --- a/bootstrap/tasks/validation/github.yaml +++ b/bootstrap/tasks/validation/github.yaml @@ -1,6 +1,6 @@ --- - name: Query Github username - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.uri: url: https://api.github.com/users/{{ bootstrap_github_username }} timeout: 5 @@ -9,14 +9,14 @@ register: result - name: Check if username exists - when: not ci_test | default(false) + when: not ci_test|default(false) ansible.builtin.assert: that: result.json.login == bootstrap_github_username success_msg: Github user {{ bootstrap_github_username }} exists fail_msg: Github user {{ bootstrap_github_username }} does not exist - name: Query Github repo - when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) + when: (not ci_test|default(false)) and (not bootstrap_private_github_repo|default(false)) ansible.builtin.uri: url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} timeout: 5 @@ -25,24 +25,24 @@ register: result - name: Check if repo exists - when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) + when: (not ci_test|default(false)) and (not bootstrap_private_github_repo|default(false)) ansible.builtin.assert: that: result.json.full_name == bootstrap_github_username + '/' + bootstrap_github_repository_name success_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} exists fail_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} does not exist - name: Query Github repo branch - when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) + when: (not ci_test|default(false)) and (not bootstrap_private_github_repo|default(false)) ansible.builtin.uri: - url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }}/branches/{{ bootstrap_github_repository_branch | default('main', true) }} + url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }}/branches/{{ bootstrap_github_repository_branch|default('main', true) }} timeout: 5 return_content: true body_format: json register: result - name: Check if repo branch exists - when: (not ci_test | default(false)) and (not bootstrap_private_github_repo | default(false)) + when: (not ci_test|default(false)) and (not bootstrap_private_github_repo|default(false)) ansible.builtin.assert: - that: result.json.name == bootstrap_github_repository_branch | default('main', true) - success_msg: Github repo branch {{ bootstrap_github_repository_branch | default('main', true) }} exists - fail_msg: Github repo branch {{ bootstrap_github_repository_branch | default('main', true) }} does not exist + that: result.json.name == bootstrap_github_repository_branch|default('main', true) + success_msg: Github repo branch {{ bootstrap_github_repository_branch|default('main', true) }} exists + fail_msg: Github repo branch {{ bootstrap_github_repository_branch|default('main', true) }} does not exist diff --git a/bootstrap/tasks/validation/net.yaml b/bootstrap/tasks/validation/net.yaml index 7e018a43..c845e77d 100644 --- a/bootstrap/tasks/validation/net.yaml +++ b/bootstrap/tasks/validation/net.yaml @@ -14,21 +14,21 @@ fail_msg: Node CIDR {{ bootstrap_node_cidr }} is invalid. - name: Check if cluster CIDR is ipv4 OR ipv6 - when: not bootstrap_ipv6_enabled | default(false) + when: not bootstrap_ipv6_enabled|default(false) ansible.builtin.assert: that: bootstrap_cluster_cidr is ansible.utils.ipv4 or bootstrap_cluster_cidr is ansible.utils.ipv6 success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid. fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid. - name: Check if service CIDR is ipv4 OR ipv6 - when: not bootstrap_ipv6_enabled | default(false) + when: not bootstrap_ipv6_enabled|default(false) ansible.builtin.assert: that: bootstrap_service_cidr is ansible.utils.ipv4 or bootstrap_service_cidr is ansible.utils.ipv6 success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid. fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid. - name: Check if cluster CIDR is ipv4 AND ipv6 - when: bootstrap_ipv6_enabled | default(false) + when: bootstrap_ipv6_enabled|default(false) ansible.builtin.assert: that: > ( @@ -42,7 +42,7 @@ fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid. - name: Check if service CIDR is ipv4 AND ipv6 - when: bootstrap_ipv6_enabled | default(false) + when: bootstrap_ipv6_enabled|default(false) ansible.builtin.assert: that: > ( @@ -122,24 +122,24 @@ fail_msg: All IP addresses are not unique. - name: Check if nodes are not the same IPs as k8s_gateway or ingress external/internal - when: not bootstrap_kube_vip_enabled | default(true) + when: not bootstrap_kube_vip_enabled|default(true) ansible.builtin.assert: that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr) success_msg: Node address {{ item.address }} is different than k8s_gateway or ingress-nginx. fail_msg: Node address {{ item.address }} is not different than k8s_gateway or ingress-nginx. quiet: true - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" - name: Check if nodes are not the same IPs as k8s_gateway, ingress external/internal or Kube API address - when: (bootstrap_distribution == "k3s") and (bootstrap_kube_vip_enabled | default(true)) + when: (bootstrap_distribution == "k3s") and (bootstrap_kube_vip_enabled|default(true)) ansible.builtin.assert: that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr, bootstrap_kube_api_addr) success_msg: Node address {{ item.address }} is different than k8s_gateway, ingress-nginx or Kube API. fail_msg: Node address {{ item.address }} is not different than k8s_gateway, ingress-nginx or Kube API. quiet: true - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" @@ -149,7 +149,7 @@ success_msg: Node address {{ item.address }} is valid. fail_msg: Node address {{ item.address }} is invalid. quiet: true - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" @@ -159,7 +159,7 @@ success_msg: Node address {{ item.address }} is within {{ bootstrap_node_cidr }}. fail_msg: Node address {{ item.address }} is not within {{ bootstrap_node_cidr }}. quiet: true - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" @@ -167,11 +167,11 @@ ansible.builtin.assert: that: > ( - (bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='address') | list + (bootstrap_nodes.master + bootstrap_nodes.worker|default([])) | map(attribute='address') | list ) | unique | length == ( - (bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='address') | list + (bootstrap_nodes.master + bootstrap_nodes.worker|default([])) | map(attribute='address') | list ) | length success_msg: All node IP addresses are unique. fail_msg: All node IP addresses are not unique. @@ -181,34 +181,34 @@ ansible.builtin.assert: that: > ( - (bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='name') | list + (bootstrap_nodes.master + bootstrap_nodes.worker|default([])) | map(attribute='name') | list ) | unique | length == ( - (bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='name') | list + (bootstrap_nodes.master + bootstrap_nodes.worker|default([])) | map(attribute='name') | list ) | length success_msg: All node names are unique. fail_msg: All node names are not unique. quiet: true - name: Check if SSH ports are reachable - when: (not ci_test | default(false)) and (not bootstrap_distribution == "talos") + when: (not ci_test|default(false)) and (not bootstrap_distribution == "talos") ansible.builtin.wait_for: host: "{{ item.address }}" port: 22 timeout: 10 connection: local - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" - name: Check if Talos ports are reachable - when: (not ci_test | default(false)) and (bootstrap_distribution == "talos") + when: (not ci_test|default(false)) and (bootstrap_distribution == "talos") ansible.builtin.wait_for: host: "{{ item.address }}" port: 50000 timeout: 10 connection: local - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.address }}" diff --git a/bootstrap/tasks/validation/vars.yaml b/bootstrap/tasks/validation/vars.yaml index 15528f1f..32834154 100644 --- a/bootstrap/tasks/validation/vars.yaml +++ b/bootstrap/tasks/validation/vars.yaml @@ -43,6 +43,6 @@ that: item.name is match('^[a-z0-9-\.]+$') success_msg: Node name {{ item.name }} is valid fail_msg: Node name {{ item.name }} is not valid - loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}" + loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker|default([]) }}" loop_control: label: "{{ item.name }}" diff --git a/bootstrap/templates/ansible/.ansible-lint.j2 b/bootstrap/templates/ansible/.ansible-lint.j2 index 9608493a..f3ee88fc 100644 --- a/bootstrap/templates/ansible/.ansible-lint.j2 +++ b/bootstrap/templates/ansible/.ansible-lint.j2 @@ -1,5 +1,6 @@ -#% if bootstrap_distribution == 'k3s' or bootstrap_distribution == 'k0s' %# +#% if bootstrap_distribution in ['k3s', 'k0s'] %# skip_list: + - jinja[spacing] - yaml[commas] - yaml[line-length] - var-naming diff --git a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 index 2796de57..5ff7658a 100644 --- a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/main.yaml.j2 @@ -11,7 +11,7 @@ k3s_registration_address: "{{ kube_api_addr }}" # /var/lib/rancher/k3s/server/manifests k3s_server_manifests_templates: - custom-cilium-helmchart.yaml.j2 -#% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr | default('') %# +#% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr|default('') %# # /var/lib/rancher/k3s/server/manifests k3s_server_manifests_urls: - url: https://raw.githubusercontent.com/kube-vip/website/main/content/manifests/rbac.yaml diff --git a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/supplemental.yaml.j2 b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/supplemental.yaml.j2 index ee6ae82e..a88e515f 100644 --- a/bootstrap/templates/ansible/inventory/group_vars/kubernetes/supplemental.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/group_vars/kubernetes/supplemental.yaml.j2 @@ -1,20 +1,20 @@ -#% if bootstrap_distribution == 'k3s' or bootstrap_distribution == 'k0s' %# +#% if bootstrap_distribution in ['k3s', 'k0s'] %# --- timezone: "#{ bootstrap_timezone }#" github_username: "#{ bootstrap_github_username }#" coredns_addr: "#{ bootstrap_service_cidr.split(',')[0] | nthhost(10) }#" -#% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr | default('') %# +#% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr|default('') %# kube_api_addr: "#{ bootstrap_kube_api_addr }#" #% else %# kube_api_addr: "#{ bootstrap_nodes.master[0].address }#" #% endif %# -#% if bootstrap_kube_api_hostname | default('') %# +#% if bootstrap_kube_api_hostname|default('') %# kube_api_hostname: "#{ bootstrap_kube_api_hostname }#" #% endif %# cluster_cidr: "#{ bootstrap_cluster_cidr.split(',')[0] }#" service_cidr: "#{ bootstrap_service_cidr.split(',')[0] }#" node_cidr: "#{ bootstrap_node_cidr }#" -#% if bootstrap_ipv6_enabled | default(false) %# +#% if bootstrap_ipv6_enabled|default(false) %# cluster_cidr_v6: "#{ bootstrap_cluster_cidr.split(',')[1] }#" service_cidr_v6: "#{ bootstrap_service_cidr.split(',')[1] }#" #% endif %# diff --git a/bootstrap/templates/ansible/inventory/group_vars/master/main.yaml.j2 b/bootstrap/templates/ansible/inventory/group_vars/master/main.yaml.j2 index c87e81de..1608f96a 100644 --- a/bootstrap/templates/ansible/inventory/group_vars/master/main.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/group_vars/master/main.yaml.j2 @@ -4,14 +4,14 @@ # https://github.com/PyratLabs/ansible-role-k3s k3s_control_node: true k3s_server: - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# node-ip: "{{ ansible_host }},{{ ansible_default_ipv6.address }}" #% else %# node-ip: "{{ ansible_host }}" #% endif %# tls-san: - "{{ kube_api_addr }}" - #% if bootstrap_kube_api_hostname | default('') %# + #% if bootstrap_kube_api_hostname|default('') %# - "{{ kube_api_hostname }}" #% endif %# docker: false @@ -23,7 +23,7 @@ k3s_server: write-kubeconfig-mode: "644" pause-image: registry.k8s.io/pause:3.9 secrets-encryption: true - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# cluster-cidr: "{{ cluster_cidr }},{{ cluster_cidr_v6 }}" service-cidr: "{{ service_cidr }},{{ service_cidr_v6 }}" #% else %# diff --git a/bootstrap/templates/ansible/inventory/group_vars/worker/main.yaml.j2 b/bootstrap/templates/ansible/inventory/group_vars/worker/main.yaml.j2 index 923365ee..45a41275 100644 --- a/bootstrap/templates/ansible/inventory/group_vars/worker/main.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/group_vars/worker/main.yaml.j2 @@ -4,7 +4,7 @@ # https://github.com/PyratLabs/ansible-role-k3s k3s_control_node: false k3s_agent: - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# node-ip: "{{ ansible_host }},{{ ansible_default_ipv6.address }}" #% else %# node-ip: "{{ ansible_host }}" diff --git a/bootstrap/templates/ansible/inventory/hosts.yaml.j2 b/bootstrap/templates/ansible/inventory/hosts.yaml.j2 index ea0c7b08..9557882c 100644 --- a/bootstrap/templates/ansible/inventory/hosts.yaml.j2 +++ b/bootstrap/templates/ansible/inventory/hosts.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == 'k3s' or bootstrap_distribution == 'k0s' %# +#% if bootstrap_distribution in ['k3s', 'k0s'] %# --- kubernetes: children: @@ -9,7 +9,7 @@ kubernetes: ansible_user: "#{ item.username }#" ansible_host: "#{ item.address }#" #% endfor %# - #% if bootstrap_nodes.worker | default([]) | length > 0 %# + #% if bootstrap_nodes.worker|default([]) | length > 0 %# worker: hosts: #% for item in bootstrap_nodes.worker %# diff --git a/bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2 b/bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2 index 43ee78b8..ace5be45 100644 --- a/bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2 +++ b/bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2 @@ -41,7 +41,7 @@ kubeconfig: /etc/rancher/k3s/k3s.yaml kind: "{{ item.kind }}" name: "{{ item.name }}" - namespace: "{{ item.namespace | default('') }}" + namespace: "{{ item.namespace|default('') }}" wait: true wait_sleep: 10 wait_timeout: 360 diff --git a/bootstrap/templates/ansible/playbooks/cluster-prepare.yaml.j2 b/bootstrap/templates/ansible/playbooks/cluster-prepare.yaml.j2 index 0ac865aa..5cd50ee7 100644 --- a/bootstrap/templates/ansible/playbooks/cluster-prepare.yaml.j2 +++ b/bootstrap/templates/ansible/playbooks/cluster-prepare.yaml.j2 @@ -16,7 +16,7 @@ block: - name: Locale | Set timezone community.general.timezone: - name: "{{ timezone | default('Etc/UTC') }}" + name: "{{ timezone|default('Etc/UTC') }}" - name: Packages block: @@ -62,6 +62,7 @@ ff02::2 ip6-allrouters dest: /etc/hosts mode: preserve + #% if bootstrap_advanced_flags|default({}) and bootstrap_advanced_flags.update_resolv_conf|default(true) %# # https://github.com/onedr0p/flux-cluster-template/discussions/635 - name: Network Configuration | Remove immutable flag from /etc/resolv.conf ansible.builtin.file: @@ -79,7 +80,8 @@ dest: /etc/resolv.conf content: | search . - nameserver #{ bootstrap_dns_server | default('1.1.1.1', true) }# + nameserver #{ bootstrap_dns_server|default('1.1.1.1', true) }# + #% endif %# - name: System Configuration notify: Reboot diff --git a/bootstrap/templates/ansible/playbooks/cluster-reboot.yaml.j2 b/bootstrap/templates/ansible/playbooks/cluster-reboot.yaml.j2 index 8c73e49c..2a695681 100644 --- a/bootstrap/templates/ansible/playbooks/cluster-reboot.yaml.j2 +++ b/bootstrap/templates/ansible/playbooks/cluster-reboot.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == 'k3s' or bootstrap_distribution == 'k0s' %# +#% if bootstrap_distribution in ['k3s', 'k0s'] %# --- - name: Reboot hosts: kubernetes diff --git a/bootstrap/templates/ansible/playbooks/cluster-rollout-update.yaml.j2 b/bootstrap/templates/ansible/playbooks/cluster-rollout-update.yaml.j2 index e29c1455..e027c26a 100644 --- a/bootstrap/templates/ansible/playbooks/cluster-rollout-update.yaml.j2 +++ b/bootstrap/templates/ansible/playbooks/cluster-rollout-update.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == 'k3s' or bootstrap_distribution == 'k0s' %# +#% if bootstrap_distribution in ['k3s', 'k0s'] %# --- # https://github.com/kevincoakley/ansible-role-k8s-rolling-update - name: Cluster rollout update diff --git a/bootstrap/templates/ansible/playbooks/templates/kube-vip-static-pod.yaml.j2.j2 b/bootstrap/templates/ansible/playbooks/templates/kube-vip-static-pod.yaml.j2.j2 index 58def6a8..9d407b84 100644 --- a/bootstrap/templates/ansible/playbooks/templates/kube-vip-static-pod.yaml.j2.j2 +++ b/bootstrap/templates/ansible/playbooks/templates/kube-vip-static-pod.yaml.j2.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == 'k3s' and (bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr | default('')) %# +#% if bootstrap_distribution == 'k3s' and (bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr|default('')) %# --- apiVersion: v1 kind: Pod diff --git a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/helmrelease.yaml.j2 index fa88c836..8bb46c94 100644 --- a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if discord_template_notifier.enabled | default(false) %# +#% if discord_template_notifier|default({}) and discord_template_notifier.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/kustomization.yaml.j2 index 9f550a7e..23dac334 100644 --- a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if discord_template_notifier.enabled | default(false) %# +#% if discord_template_notifier|default({}) and discord_template_notifier.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/secret.sops.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/secret.sops.yaml.j2 index 180d2120..0366d170 100644 --- a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/secret.sops.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/app/secret.sops.yaml.j2 @@ -1,4 +1,4 @@ -#% if discord_template_notifier.enabled | default(false) %# +#% if discord_template_notifier|default({}) and discord_template_notifier.enabled|default(false) %# --- apiVersion: v1 kind: Secret diff --git a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/ks.yaml.j2 index 99416fc8..2aacb92d 100644 --- a/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/discord-template-notifier/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if discord_template_notifier.enabled | default(false) %# +#% if discord_template_notifier|default({}) and discord_template_notifier.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/default/homepage/app/configmap.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/homepage/app/configmap.yaml.j2 index 6bc0591a..bea8482f 100644 --- a/bootstrap/templates/kubernetes/apps/default/homepage/app/configmap.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/homepage/app/configmap.yaml.j2 @@ -1,4 +1,4 @@ -#% if homepage.enabled | default(false) %# +#% if homepage|default({}) and homepage.enabled|default(false) %# --- apiVersion: v1 kind: ConfigMap diff --git a/bootstrap/templates/kubernetes/apps/default/homepage/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/homepage/app/helmrelease.yaml.j2 index ec28f50d..6e831a0b 100644 --- a/bootstrap/templates/kubernetes/apps/default/homepage/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/homepage/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if homepage.enabled | default(false) %# +#% if homepage|default({}) and homepage.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/default/homepage/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/homepage/app/kustomization.yaml.j2 index 1016616a..d50fc273 100644 --- a/bootstrap/templates/kubernetes/apps/default/homepage/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/homepage/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if homepage.enabled | default(false) %# +#% if homepage|default({}) and homepage.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/default/homepage/app/secret.sops.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/homepage/app/secret.sops.yaml.j2 index 362f1e75..c64cb89b 100644 --- a/bootstrap/templates/kubernetes/apps/default/homepage/app/secret.sops.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/homepage/app/secret.sops.yaml.j2 @@ -1,4 +1,4 @@ -#% if homepage.enabled | default(false) %# +#% if homepage|default({}) and homepage.enabled|default(false) %# --- apiVersion: v1 kind: Secret diff --git a/bootstrap/templates/kubernetes/apps/default/homepage/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/homepage/ks.yaml.j2 index 544f2f57..92757d2e 100644 --- a/bootstrap/templates/kubernetes/apps/default/homepage/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/homepage/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if homepage.enabled | default(false) %# +#% if homepage|default({}) and homepage.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/default/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/default/kustomization.yaml.j2 index c8db1759..205b6dec 100644 --- a/bootstrap/templates/kubernetes/apps/default/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/default/kustomization.yaml.j2 @@ -3,9 +3,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ./namespace.yaml - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# - ./homepage/ks.yaml #% endif %# - #% if discord_template_notifier.enabled | default(false) %# + #% if discord_template_notifier|default({}) and discord_template_notifier.enabled|default(false) %# - ./discord-template-notifier/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/flux-system/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/flux-system/kustomization.yaml.j2 index afb82b8c..0b9649a8 100644 --- a/bootstrap/templates/kubernetes/apps/flux-system/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/flux-system/kustomization.yaml.j2 @@ -4,6 +4,6 @@ kind: Kustomization resources: - ./namespace.yaml - ./addons/ks.yaml - #% if weave_gitops.enabled | default(false) %# + #% if weave_gitops|default({}) and weave_gitops.enabled|default(false) %# - ./weave-gitops/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/helmrelease.yaml.j2 index 00ddb950..a61e0892 100644 --- a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if weave_gitops.enabled | default(false) %# +#% if weave_gitops|default({}) and weave_gitops.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease @@ -31,7 +31,7 @@ spec: ingress: enabled: true className: internal - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# annotations: gethomepage.dev/enabled: "true" gethomepage.dev/group: Home diff --git a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/kustomization.yaml.j2 index 8ad86723..4fadd4f3 100644 --- a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if weave_gitops.enabled | default(false) %# +#% if weave_gitops|default({}) and weave_gitops.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/secret.sops.yaml.j2 b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/secret.sops.yaml.j2 index 0c6d60fb..ab480704 100644 --- a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/secret.sops.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/app/secret.sops.yaml.j2 @@ -1,4 +1,4 @@ -#% if weave_gitops.enabled | default(false) %# +#% if weave_gitops|default({}) and weave_gitops.enabled|default(false) %# --- apiVersion: v1 kind: Secret diff --git a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/ks.yaml.j2 index 54acec23..59863f0b 100644 --- a/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/flux-system/weave-gitops/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if weave_gitops.enabled | default(false) %# +#% if weave_gitops|default({}) and weave_gitops.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 index 326e67b9..dadda9dd 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/cilium/app/kustomization.yaml.j2 @@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - #% if not bootstrap_ipv6_enabled | default(false) %# + #% if not bootstrap_ipv6_enabled|default(false) %# - ./cilium-l2.yaml #% endif %# - ./helmrelease.yaml diff --git a/bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2 index b79fdb0a..35a7454e 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2 @@ -8,6 +8,6 @@ resources: - ./kubelet-csr-approver/ks.yaml #% endif %# - ./metrics-server/ks.yaml - #% if (bootstrap_distribution == "k0s" or bootstrap_distribution == "talos") and spegel.enabled | default(false) %# + #% if bootstrap_distribution in ['k0s', 'talos'] and spegel|default({}) and spegel.enabled|default(false) %# - ./spegel/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml.j2 index 10609f2a..5cc8f200 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if (bootstrap_distribution == "k0s" or bootstrap_distribution == "talos") and spegel.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'talos'] and spegel|default({}) and spegel.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/kustomization.yaml.j2 index aa8f0a5b..c64ca1b1 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/spegel/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if (bootstrap_distribution == "k0s" or bootstrap_distribution == "talos") and spegel.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'talos'] and spegel|default({}) and spegel.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/kube-system/spegel/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/kube-system/spegel/ks.yaml.j2 index 92479485..8a956eac 100644 --- a/bootstrap/templates/kubernetes/apps/kube-system/spegel/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/kube-system/spegel/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if (bootstrap_distribution == "k0s" or bootstrap_distribution == "talos") and spegel.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'talos'] and spegel|default({}) and spegel.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/kustomization.yaml.j2 index f4a1d1e3..f51c15e0 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/helmrelease.yaml.j2 index e33596e0..21d32089 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/kustomization.yaml.j2 index fe61c7f7..9963b614 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/snapshot.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/snapshot.yaml.j2 index df15c5d1..c85f44c4 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/snapshot.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/app/snapshot.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: storage.k8s.io/v1 kind: StorageClass diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/ks.yaml.j2 index 0a1b19f6..fe9b88cb 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/longhorn/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/longhorn-system/namespace.yaml.j2 b/bootstrap/templates/kubernetes/apps/longhorn-system/namespace.yaml.j2 index 920ec7df..16deeafd 100644 --- a/bootstrap/templates/kubernetes/apps/longhorn-system/namespace.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/longhorn-system/namespace.yaml.j2 @@ -1,4 +1,4 @@ -#% if longhorn.enabled | default(false) %# +#% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# --- apiVersion: v1 kind: Namespace diff --git a/bootstrap/templates/kubernetes/apps/network/echo-server/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/network/echo-server/app/helmrelease.yaml.j2 index 9ae343a3..d2f5a752 100644 --- a/bootstrap/templates/kubernetes/apps/network/echo-server/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/network/echo-server/app/helmrelease.yaml.j2 @@ -70,7 +70,7 @@ spec: className: external annotations: external-dns.alpha.kubernetes.io/target: "external.${SECRET_DOMAIN}" - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# gethomepage.dev/enabled: "true" gethomepage.dev/group: Network gethomepage.dev/name: Echo Server diff --git a/bootstrap/templates/kubernetes/apps/network/nginx/certificates/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/network/nginx/certificates/kustomization.yaml.j2 index 55659f51..b7c7437b 100644 --- a/bootstrap/templates/kubernetes/apps/network/nginx/certificates/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/network/nginx/certificates/kustomization.yaml.j2 @@ -3,6 +3,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ./staging.yaml - #% if bootstrap_acme_production_enabled | default(false) %# + #% if bootstrap_acme_production_enabled|default(false) %# - ./production.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/network/nginx/external/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/network/nginx/external/helmrelease.yaml.j2 index 9bb2ecbc..f4251db1 100644 --- a/bootstrap/templates/kubernetes/apps/network/nginx/external/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/network/nginx/external/helmrelease.yaml.j2 @@ -70,7 +70,7 @@ spec: namespaceSelector: any: true extraArgs: - #% if bootstrap_acme_production_enabled | default(false) %# + #% if bootstrap_acme_production_enabled|default(false) %# default-ssl-certificate: "network/${SECRET_DOMAIN/./-}-production-tls" #% else %# default-ssl-certificate: "network/${SECRET_DOMAIN/./-}-staging-tls" diff --git a/bootstrap/templates/kubernetes/apps/network/nginx/internal/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/network/nginx/internal/helmrelease.yaml.j2 index 58ae79d7..0b48af0c 100644 --- a/bootstrap/templates/kubernetes/apps/network/nginx/internal/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/network/nginx/internal/helmrelease.yaml.j2 @@ -68,7 +68,7 @@ spec: namespaceSelector: any: true extraArgs: - #% if bootstrap_acme_production_enabled | default(false) %# + #% if bootstrap_acme_production_enabled|default(false) %# default-ssl-certificate: "network/${SECRET_DOMAIN/./-}-production-tls" #% else %# default-ssl-certificate: "network/${SECRET_DOMAIN/./-}-staging-tls" diff --git a/bootstrap/templates/kubernetes/apps/observability/grafana/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/grafana/app/helmrelease.yaml.j2 index 38b40748..3a602df7 100644 --- a/bootstrap/templates/kubernetes/apps/observability/grafana/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/grafana/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if grafana.enabled | default(false) %# +#% if grafana|default({}) and grafana.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease @@ -159,7 +159,7 @@ spec: ingress: enabled: true ingressClassName: internal - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# annotations: gethomepage.dev/enabled: "true" gethomepage.dev/icon: grafana.png diff --git a/bootstrap/templates/kubernetes/apps/observability/grafana/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/grafana/app/kustomization.yaml.j2 index a140cf73..e68703c3 100644 --- a/bootstrap/templates/kubernetes/apps/observability/grafana/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/grafana/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if grafana.enabled | default(false) %# +#% if grafana|default({}) and grafana.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/grafana/app/secret.sops.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/grafana/app/secret.sops.yaml.j2 index 6f50fed4..f7949562 100644 --- a/bootstrap/templates/kubernetes/apps/observability/grafana/app/secret.sops.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/grafana/app/secret.sops.yaml.j2 @@ -1,4 +1,4 @@ -#% if grafana.enabled | default(false) %# +#% if grafana|default({}) and grafana.enabled|default(false) %# --- apiVersion: v1 kind: Secret diff --git a/bootstrap/templates/kubernetes/apps/observability/grafana/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/grafana/ks.yaml.j2 index 2a52a9f8..80e9944a 100644 --- a/bootstrap/templates/kubernetes/apps/observability/grafana/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/grafana/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if grafana.enabled | default(false) %# +#% if grafana|default({}) and grafana.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 index 8fb425f7..989f67b5 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if kube_prometheus_stack.enabled | default(false) %# +#% if kube_prometheus_stack|default({}) and kube_prometheus_stack.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease @@ -121,7 +121,7 @@ spec: ingress: enabled: true ingressClassName: internal - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# annotations: gethomepage.dev/enabled: "true" gethomepage.dev/icon: prometheus.png diff --git a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/kustomization.yaml.j2 index e5a6f714..2fba0a61 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if kube_prometheus_stack.enabled | default(false) %# +#% if kube_prometheus_stack|default({}) and kube_prometheus_stack.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml.j2 index 0e342987..58ace7fe 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kube-prometheus-stack/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if kube_prometheus_stack.enabled | default(false) %# +#% if kube_prometheus_stack|default({}) and kube_prometheus_stack.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/helmrelease.yaml.j2 index 6d7b8dd1..30ce3e96 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if kubernetes_dashboard.enabled | default(false) %# +#% if kubernetes_dashboard|default({}) and kubernetes_dashboard.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease @@ -31,7 +31,7 @@ spec: ingress: enabled: true className: internal - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# annotations: gethomepage.dev/enabled: "true" gethomepage.dev/icon: kubernetes-dashboard.png diff --git a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/kustomization.yaml.j2 index d7bb7dba..f30a64a5 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if kubernetes_dashboard.enabled | default(false) %# +#% if kubernetes_dashboard|default({}) and kubernetes_dashboard.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/rbac.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/rbac.yaml.j2 index d8d044be..591a5838 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/rbac.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/app/rbac.yaml.j2 @@ -1,4 +1,4 @@ -#% if kubernetes_dashboard.enabled | default(false) %# +#% if kubernetes_dashboard|default({}) and kubernetes_dashboard.enabled|default(false) %# # For dashboard sign in token: # kubectl -n observability get secret kubernetes-dashboard -o jsonpath='{.data.token}' | base64 -d --- diff --git a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/ks.yaml.j2 index ebffce8b..ef79299f 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kubernetes-dashboard/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if kubernetes_dashboard.enabled | default(false) %# +#% if kubernetes_dashboard|default({}) and kubernetes_dashboard.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/observability/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/observability/kustomization.yaml.j2 index c707d7c9..72747791 100644 --- a/bootstrap/templates/kubernetes/apps/observability/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/observability/kustomization.yaml.j2 @@ -3,12 +3,12 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ./namespace.yaml - #% if grafana.enabled | default(false) %# + #% if grafana|default({}) and grafana.enabled|default(false) %# - ./grafana/ks.yaml #% endif %# - #% if kube_prometheus_stack.enabled | default(false) %# + #% if kube_prometheus_stack|default({}) and kube_prometheus_stack.enabled|default(false) %# - ./kube-prometheus-stack/ks.yaml #% endif %# - #% if kubernetes_dashboard.enabled | default(false) %# + #% if kubernetes_dashboard|default({}) and kubernetes_dashboard.enabled|default(false) %# - ./kubernetes-dashboard/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml.j2 index da2d00f7..5662689e 100644 --- a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if csi_driver_nfs.enabled | default(false) %# +#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml.j2 index f24fe81b..e47a3088 100644 --- a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if csi_driver_nfs.enabled | default(false) %# +#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/storageclass.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/storageclass.yaml.j2 index 65af8799..7b35cfdf 100644 --- a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/storageclass.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/app/storageclass.yaml.j2 @@ -1,4 +1,4 @@ -#% if csi_driver_nfs.enabled | default(false) %# +#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %# #% for item in csi_driver_nfs.storage_class %# --- apiVersion: storage.k8s.io/v1 diff --git a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/ks.yaml.j2 index 3f06b1ab..c7c97cfb 100644 --- a/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/csi-driver-nfs/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if csi_driver_nfs.enabled | default(false) %# +#% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/storage/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/kustomization.yaml.j2 index 352e8771..22c64e37 100644 --- a/bootstrap/templates/kubernetes/apps/storage/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/kustomization.yaml.j2 @@ -4,9 +4,9 @@ kind: Kustomization resources: - ./namespace.yaml - ./openebs/ks.yaml - #% if volsync.enabled | default(false) %# + #% if volsync|default({}) and volsync.enabled|default(false) %# - ./volsync/ks.yaml #% endif %# - #% if csi_driver_nfs.enabled | default(false) %# + #% if csi_driver_nfs|default({}) and csi_driver_nfs.enabled|default(false) %# - ./csi-driver-nfs/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/app/helmrelease.yaml.j2 index 887b53f0..2573d725 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/app/kustomization.yaml.j2 index a4460664..358293e8 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/app/prometheusrule.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/app/prometheusrule.yaml.j2 index 18f4f46c..b8258bd1 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/app/prometheusrule.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/app/prometheusrule.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/ks.yaml.j2 index fc7e9a2a..f5276070 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization @@ -10,7 +10,7 @@ spec: commonMetadata: labels: app.kubernetes.io/name: *app - #% if longhorn.enabled | default(false) %# + #% if longhorn|default({}) and longhorn.enabled|default(false) %# dependsOn: - name: longhorn #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/helmrelease.yaml.j2 index 40f06adb..e8df5ad8 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease @@ -27,7 +27,7 @@ spec: keepHistory: false values: controller: - #% if longhorn.enabled | default(false) %# + #% if bootstrap_distribution in ['k0s', 'k3s'] and longhorn|default({}) and longhorn.enabled|default(false) %# volumeSnapshotClasses: - name: longhorn-snapclass annotations: diff --git a/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/kustomization.yaml.j2 index 8649a7f6..367f564b 100644 --- a/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/storage/volsync/snapshot-controller/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if volsync.enabled | default(false) %# +#% if volsync|default({}) and volsync.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/tools/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/kustomization.yaml.j2 index 1cbb34bb..7e7c68f5 100644 --- a/bootstrap/templates/kubernetes/apps/tools/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/kustomization.yaml.j2 @@ -5,6 +5,6 @@ resources: - ./namespace.yaml - ./descheduler/ks.yaml - ./reloader/ks.yaml - #% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# + #% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# - ./system-upgrade-controller/ks.yaml #% endif %# diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/helmrelease.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/helmrelease.yaml.j2 index 8276f352..ecfd6122 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/helmrelease.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/helmrelease.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/kustomization.yaml.j2 index 100dde37..a476d7ac 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/rbac.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/rbac.yaml.j2 index 5ac76dc9..338550d7 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/rbac.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/app/rbac.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/ks.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/ks.yaml.j2 index 5c3eb8cb..3a71aa51 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/ks.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/ks.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: kustomize.toolkit.fluxcd.io/v1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/agent.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/agent.yaml.j2 index 8704a7c6..eb81636d 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/agent.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/agent.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: upgrade.cattle.io/v1 kind: Plan diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/kustomization.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/kustomization.yaml.j2 index 3835a041..a278b624 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/kustomization.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/kustomization.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/server.yaml.j2 b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/server.yaml.j2 index b4813525..b8f548f9 100644 --- a/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/server.yaml.j2 +++ b/bootstrap/templates/kubernetes/apps/tools/system-upgrade-controller/plans/server.yaml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == "k3s" and system_upgrade_controller.enabled | default(false) %# +#% if bootstrap_distribution == "k3s" and system_upgrade_controller|default({}) and system_upgrade_controller.enabled|default(false) %# --- apiVersion: upgrade.cattle.io/v1 kind: Plan diff --git a/bootstrap/templates/kubernetes/flux/config/cluster.yaml.j2 b/bootstrap/templates/kubernetes/flux/config/cluster.yaml.j2 index 5fbec9f0..ea4dea02 100644 --- a/bootstrap/templates/kubernetes/flux/config/cluster.yaml.j2 +++ b/bootstrap/templates/kubernetes/flux/config/cluster.yaml.j2 @@ -7,8 +7,8 @@ metadata: spec: interval: 30m ref: - branch: "#{ bootstrap_github_repository_branch | default('main', true) }#" - #% if bootstrap_private_github_repo | default(false) %# + branch: "#{ bootstrap_github_repository_branch|default('main', true) }#" + #% if bootstrap_private_github_repo|default(false) %# secretRef: name: github-deploy-key url: "ssh://github.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#" diff --git a/bootstrap/templates/kubernetes/flux/vars/cluster-settings.yaml.j2 b/bootstrap/templates/kubernetes/flux/vars/cluster-settings.yaml.j2 index d2260499..18a09d30 100644 --- a/bootstrap/templates/kubernetes/flux/vars/cluster-settings.yaml.j2 +++ b/bootstrap/templates/kubernetes/flux/vars/cluster-settings.yaml.j2 @@ -7,7 +7,7 @@ metadata: data: TIMEZONE: "#{ bootstrap_timezone }#" COREDNS_ADDR: "#{ bootstrap_service_cidr.split(',')[0] | nthhost(10) }#" - #% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr | default('') %# + #% if bootstrap_nodes.master | length > 1 or bootstrap_kube_api_addr|default('') %# KUBE_API_ADDR: "#{ bootstrap_kube_api_addr }#" #% else %# KUBE_API_ADDR: "#{ bootstrap_nodes.master[0].address }#" @@ -15,7 +15,7 @@ data: CLUSTER_CIDR: "#{ bootstrap_cluster_cidr.split(',')[0] }#" SERVICE_CIDR: "#{ bootstrap_service_cidr.split(',')[0] }#" NODE_CIDR: "#{ bootstrap_node_cidr }#" - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# CLUSTER_CIDR_V6: "#{ bootstrap_cluster_cidr.split(',')[1] }#" SERVICE_CIDR_V6: "#{ bootstrap_service_cidr.split(',')[1] }#" #% endif %# diff --git a/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2 b/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2 index 62dcd602..1d4d656f 100644 --- a/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2 +++ b/bootstrap/templates/kubernetes/k0s/k0sctl.yaml.j2 @@ -37,7 +37,7 @@ spec: before: - sudo bash /home/#{ item.username }#/k0s/hooks/apply-system.sh - sudo mv /home/#{ item.username }#/k0s/containerd/unprivileged-ports.toml /etc/k0s/containerd.d/unprivileged-ports.toml - #% if spegel.enabled | default(false) %# + #% if spegel|default({}) and spegel.enabled|default(false) %# - sudo mv /home/#{ item.username }#/k0s/containerd/spegel.toml /etc/k0s/containerd.d/spegel.toml #% endif %# reset: @@ -49,7 +49,7 @@ spec: hooks: *hooks #% endif %# #% endfor %# - #% if bootstrap_nodes.worker | default([]) | length > 0 %# + #% if bootstrap_nodes.worker|default([]) | length > 0 %# #% for item in bootstrap_nodes.worker %# - role: worker ssh: @@ -82,14 +82,14 @@ spec: api: sans: - "#{ bootstrap_kube_api_addr }#" - #% if bootstrap_kube_api_hostname | default('') %# + #% if bootstrap_kube_api_hostname|default('') %# - "#{ bootstrap_kube_api_hostname }#" #% endif %# #% for item in bootstrap_nodes.master %# #% if item.address != bootstrap_kube_api_addr %# - "#{ item.address }#" #% endif %# - #% if (not bootstrap_kube_api_hostname | default('')) or (item.name != bootstrap_kube_api_hostname | default('')) %# + #% if (not bootstrap_kube_api_hostname|default('')) or (item.name != bootstrap_kube_api_hostname|default('')) %# - "#{ item.name }#" #% endif %# #% endfor %# diff --git a/bootstrap/templates/kubernetes/k0s/resources/containerd/spegel.toml.j2 b/bootstrap/templates/kubernetes/k0s/resources/containerd/spegel.toml.j2 index 0d8b2b5c..ab875675 100644 --- a/bootstrap/templates/kubernetes/k0s/resources/containerd/spegel.toml.j2 +++ b/bootstrap/templates/kubernetes/k0s/resources/containerd/spegel.toml.j2 @@ -1,4 +1,4 @@ -#% if bootstrap_distribution == 'k0s' and spegel.enabled | default(false) %# +#% if bootstrap_distribution == 'k0s' and spegel|default({}) and spegel.enabled|default(false) %# [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/var/lib/k0s/containerd/certs.d" [plugins."io.containerd.grpc.v1.cri".containerd] diff --git a/bootstrap/templates/kubernetes/k0s/resources/hooks/apply-system.sh.j2 b/bootstrap/templates/kubernetes/k0s/resources/hooks/apply-system.sh.j2 index 4fc7d518..20e942dc 100755 --- a/bootstrap/templates/kubernetes/k0s/resources/hooks/apply-system.sh.j2 +++ b/bootstrap/templates/kubernetes/k0s/resources/hooks/apply-system.sh.j2 @@ -16,14 +16,16 @@ apt-get install -y --no-install-recommends \ nvme-cli open-iscsi parted psmisc python3 python3-apt python3-kubernetes python3-yaml \ smartmontools socat software-properties-common unzip util-linux +#% if bootstrap_advanced_flags|default({}) and bootstrap_advanced_flags.update_resolv_conf|default(true) %# # Update DNS chattr -i /etc/resolv.conf rm -f /etc/resolv.conf cat < /etc/resolv.conf search . -nameserver #{ bootstrap_dns_server | default('1.1.1.1', true) }# +nameserver #{ bootstrap_dns_server|default('1.1.1.1', true) }# EOF chattr +i /etc/resolv.conf +#% endif %# # Kernel Modules for module in br_netfilter ceph ip_vs ip_vs_rr nbd overlay rbd; do diff --git a/bootstrap/templates/kubernetes/talos/talconfig.yaml.j2 b/bootstrap/templates/kubernetes/talos/talconfig.yaml.j2 index 5bf522d9..28d6435b 100644 --- a/bootstrap/templates/kubernetes/talos/talconfig.yaml.j2 +++ b/bootstrap/templates/kubernetes/talos/talconfig.yaml.j2 @@ -8,7 +8,7 @@ kubernetesVersion: 1.29.1 clusterName: &cluster home-kubernetes -#% if bootstrap_kube_api_hostname | default('') %# +#% if bootstrap_kube_api_hostname|default('') %# endpoint: https://#{ bootstrap_kube_api_hostname }#:6443 #% else %# endpoint: https://#{ bootstrap_kube_api_addr }#:6443 @@ -22,7 +22,7 @@ clusterSvcNets: additionalApiServerCertSans: &sans - "#{ bootstrap_kube_api_addr }#" - 127.0.0.1 #KubePrism - #% if bootstrap_kube_api_hostname | default('') %# + #% if bootstrap_kube_api_hostname|default('') %# - "#{ bootstrap_kube_api_hostname }#" #% endif %# @@ -48,7 +48,7 @@ nodes: vip: ip: "#{ bootstrap_kube_api_addr }#" #% endfor %# - #% if bootstrap_nodes.worker | default([]) | length > 0 %# + #% if bootstrap_nodes.worker|default([]) | length > 0 %# #% for item in bootstrap_nodes.worker %# - hostname: "#{ item.name }#" ipAddress: "#{ item.address }#" @@ -77,7 +77,7 @@ controlPlane: [plugins."io.containerd.grpc.v1.cri"] enable_unprivileged_ports = true enable_unprivileged_icmp = true - #% if spegel.enabled | default(false) %# + #% if spegel|default({}) and spegel.enabled|default(false) %# [plugins."io.containerd.grpc.v1.cri".containerd] discard_unpacked_layers = false [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] @@ -123,7 +123,7 @@ controlPlane: machine: network: nameservers: - - "#{ bootstrap_dns_server | default('1.1.1.1', true) }#" + - "#{ bootstrap_dns_server|default('1.1.1.1', true) }#" # Configure NTP - &ntpPatch |- diff --git a/bootstrap/templates/partials/cilium-values-full.partial.yaml.j2 b/bootstrap/templates/partials/cilium-values-full.partial.yaml.j2 index 64ecf698..ebfaaf20 100644 --- a/bootstrap/templates/partials/cilium-values-full.partial.yaml.j2 +++ b/bootstrap/templates/partials/cilium-values-full.partial.yaml.j2 @@ -44,7 +44,7 @@ hubble: ingress: enabled: true className: internal - #% if homepage.enabled | default(false) %# + #% if homepage|default({}) and homepage.enabled|default(false) %# annotations: gethomepage.dev/enabled: "true" gethomepage.dev/group: Network @@ -59,7 +59,7 @@ hubble: ipam: mode: kubernetes ipv4NativeRoutingCIDR: "${CLUSTER_CIDR}" -#% if bootstrap_ipv6_enabled | default(false) %# +#% if bootstrap_ipv6_enabled|default(false) %# ipv6NativeRoutingCIDR: "${CLUSTER_CIDR_V6}" ipv6: enabled: true @@ -77,7 +77,7 @@ k8sServicePort: 7445 kubeProxyReplacement: true kubeProxyReplacementHealthzBindAddr: 0.0.0.0:10256 l2announcements: - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# enabled: false #% else %# enabled: true @@ -88,7 +88,7 @@ l2announcements: #% endif %# loadBalancer: algorithm: maglev - mode: "#{ bootstrap_cilium_loadbalancer_mode | default('dsr', true) }#" + mode: "#{ bootstrap_cilium_loadbalancer_mode|default('dsr', true) }#" localRedirectPolicy: true operator: replicas: 1 diff --git a/bootstrap/templates/partials/cilium-values-init.partial.yaml.j2 b/bootstrap/templates/partials/cilium-values-init.partial.yaml.j2 index 4a4843e5..0dd69d17 100644 --- a/bootstrap/templates/partials/cilium-values-init.partial.yaml.j2 +++ b/bootstrap/templates/partials/cilium-values-init.partial.yaml.j2 @@ -20,7 +20,7 @@ hubble: ipam: mode: kubernetes ipv4NativeRoutingCIDR: "#{ bootstrap_cluster_cidr }#" -#% if bootstrap_ipv6_enabled | default(false) %# +#% if bootstrap_ipv6_enabled|default(false) %# ipv6NativeRoutingCIDR: "#{ bootstrap_cluster_cidr_v6 }#" ipv6: enabled: true @@ -38,7 +38,7 @@ k8sServicePort: 7445 kubeProxyReplacement: true kubeProxyReplacementHealthzBindAddr: 0.0.0.0:10256 l2announcements: - #% if bootstrap_ipv6_enabled | default(false) %# + #% if bootstrap_ipv6_enabled|default(false) %# enabled: false #% else %# enabled: true @@ -49,7 +49,7 @@ l2announcements: #% endif %# loadBalancer: algorithm: maglev - mode: "#{ bootstrap_cilium_loadbalancer_mode | default('dsr', true) }#" + mode: "#{ bootstrap_cilium_loadbalancer_mode|default('dsr', true) }#" localRedirectPolicy: true operator: replicas: 1 diff --git a/bootstrap/templates/partials/kubelet-csr-approver-values.partial.yaml.j2 b/bootstrap/templates/partials/kubelet-csr-approver-values.partial.yaml.j2 index 3ffb34e3..a740d18a 100644 --- a/bootstrap/templates/partials/kubelet-csr-approver-values.partial.yaml.j2 +++ b/bootstrap/templates/partials/kubelet-csr-approver-values.partial.yaml.j2 @@ -1,2 +1,2 @@ -providerRegex: ^(#{ (bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='name') | join('|') }#)$ +providerRegex: ^(#{ (bootstrap_nodes.master + bootstrap_nodes.worker|default([])) | map(attribute='name') | join('|') }#)$ bypassDnsResolution: true diff --git a/bootstrap/vars/addons.sample.yaml b/bootstrap/vars/addons.sample.yaml index 1a08f8d4..1407bf38 100644 --- a/bootstrap/vars/addons.sample.yaml +++ b/bootstrap/vars/addons.sample.yaml @@ -64,6 +64,7 @@ spegel: longhorn: # IMPORTANT: Only enable this if you have 3 or more nodes in your cluster # and you have enough IOPS on disk to support the number of replicas. + # Longhorn is currently unsupported in Talos # Note: Consider enabling volsync if you would like to configure snapshots # and backups to durable storage. enabled: false diff --git a/bootstrap/vars/config.sample.yaml b/bootstrap/vars/config.sample.yaml index 4fd4e424..2fb5be5c 100644 --- a/bootstrap/vars/config.sample.yaml +++ b/bootstrap/vars/config.sample.yaml @@ -95,3 +95,10 @@ bootstrap_nodes: # username: # ssh username of the worker node # diskSerial: # (Required: Talos) Serial number of Disk for this worker node # ... + +# +# Do not make changes below this line unless you know what you are doing +# + +# bootstrap_advanced_flags: +# update_resolv_conf: true # Disable to prevent changes to nodes /etc/resolv.conf