feat: volsync is now a addon

Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
Devin Buhl committed 2024-01-11 16:01:48 -05:00
1 parent f87af3fba0
commit 8e7d36c0c5
12 files changed
+84 -41

No files matched your search

+4
View File
@@ -37,3 +37,7 @@
- name: Process addon discord-template-notifier
when: discord_template_notifier.enabled | default(false)
ansible.builtin.include_tasks: discord_template_notifier.yaml
- name: Process addon volsync
when: volsync.enabled | default(false)
ansible.builtin.include_tasks: volsync.yaml
+34
View File
@@ -0,0 +1,34 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: volsync
addon_namespace: storage
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
@@ -0,0 +1,40 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app snapshot-controller
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/volsync/snapshot-controller
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app volsync
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/volsync/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -5,8 +5,9 @@ kind: Kustomization
resources:
- ./namespace.yaml
- ./openebs/ks.yaml
- ./snapshot-controller/ks.yaml
{% if volsync.enabled | default(false) %}
- ./volsync/ks.yaml
{% endif %}
{% if csi_driver_nfs.enabled | default(false) %}
- ./csi-driver-nfs/ks.yaml
{% endif %}
@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app snapshot-controller
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/snapshot-controller/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app volsync
namespace: flux-system
spec:
targetNamespace: storage
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/volsync/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
+4
View File
@@ -50,3 +50,7 @@ discord_template_notifier:
# so it's easier to keep track of changes.
enabled: false
webhook_url: # Discord webhook url
# https://github.com/backube/volsync
volsync:
enabled: false