diff --git a/apps/syncthing/app.yaml b/apps/syncthing/app.yaml new file mode 100644 index 0000000..8c6f9e4 --- /dev/null +++ b/apps/syncthing/app.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: syncthing +metadata: + name: syncthing +resources: + - app/namespace.yaml + - app/release.yaml + - app/route.yaml diff --git a/apps/syncthing/app/namespace.yaml b/apps/syncthing/app/namespace.yaml new file mode 100644 index 0000000..5247218 --- /dev/null +++ b/apps/syncthing/app/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: syncthing + labels: + name: syncthing diff --git a/apps/syncthing/app/release.yaml b/apps/syncthing/app/release.yaml new file mode 100644 index 0000000..edb20d6 --- /dev/null +++ b/apps/syncthing/app/release.yaml @@ -0,0 +1,23 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: syncthing + namespace: syncthing +spec: + releaseName: syncthing + chart: + spec: + chart: syncthing + sourceRef: + kind: HelmRepository + name: k8s-home-lab + namespace: repos + interval: 60m + install: + remediation: + retries: 3 + values: + pesistence: + data: + enabled: true + storageClass: ebs-hdd diff --git a/apps/syncthing/app/route.yaml b/apps/syncthing/app/route.yaml new file mode 100644 index 0000000..7adc5ca --- /dev/null +++ b/apps/syncthing/app/route.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: syncthing-route + namespace: syncthing +spec: + entryPoints: + - web + routes: + - match: Host(`syncthing.trivernis.net`) + kind: Rule + middlewares: + - name: strict-security-headers + namespace: default + services: + - name: syncthing + port: http diff --git a/cluster/apps.yaml b/cluster/apps.yaml index d6ab72d..462a6c1 100644 --- a/cluster/apps.yaml +++ b/cluster/apps.yaml @@ -201,3 +201,20 @@ spec: prune: true wait: true timeout: 5m0s +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: apps-syncthing + namespace: flux-system +spec: + dependsOn: + - name: repos + interval: 5m + sourceRef: + kind: GitRepository + name: flux-system + path: ./apps/syncthing + prune: true + wait: true + timeout: 5m0s diff --git a/repos/k8s-home-lab.yaml b/repos/k8s-home-lab.yaml new file mode 100644 index 0000000..888869b --- /dev/null +++ b/repos/k8s-home-lab.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: k8s-home-lab + namespace: repos +spec: + interval: 60m + url: https://k8s-home-lab.github.io/helm-charts/