feat: volsync is now a addon
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
12 files changed
+84
-41
No files matched your search
@@ -37,3 +37,7 @@
|
|||||||
- name: Process addon discord-template-notifier
|
- name: Process addon discord-template-notifier
|
||||||
when: discord_template_notifier.enabled | default(false)
|
when: discord_template_notifier.enabled | default(false)
|
||||||
ansible.builtin.include_tasks: discord_template_notifier.yaml
|
ansible.builtin.include_tasks: discord_template_notifier.yaml
|
||||||
|
|
||||||
|
- name: Process addon volsync
|
||||||
|
when: volsync.enabled | default(false)
|
||||||
|
ansible.builtin.include_tasks: volsync.yaml
|
||||||
@@ -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 }}/"]
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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
|
||||||
File renamed without changes.
File renamed without changes.
@@ -5,8 +5,9 @@ kind: Kustomization
|
|||||||
resources:
|
resources:
|
||||||
- ./namespace.yaml
|
- ./namespace.yaml
|
||||||
- ./openebs/ks.yaml
|
- ./openebs/ks.yaml
|
||||||
- ./snapshot-controller/ks.yaml
|
{% if volsync.enabled | default(false) %}
|
||||||
- ./volsync/ks.yaml
|
- ./volsync/ks.yaml
|
||||||
|
{% endif %}
|
||||||
{% if csi_driver_nfs.enabled | default(false) %}
|
{% if csi_driver_nfs.enabled | default(false) %}
|
||||||
- ./csi-driver-nfs/ks.yaml
|
- ./csi-driver-nfs/ks.yaml
|
||||||
{% endif %}
|
{% 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
|
|
||||||
@@ -50,3 +50,7 @@ discord_template_notifier:
|
|||||||
# so it's easier to keep track of changes.
|
# so it's easier to keep track of changes.
|
||||||
enabled: false
|
enabled: false
|
||||||
webhook_url: # Discord webhook url
|
webhook_url: # Discord webhook url
|
||||||
|
|
||||||
|
# https://github.com/backube/volsync
|
||||||
|
volsync:
|
||||||
|
enabled: false
|
||||||
Reference in new issue
Block a user