From a8e2908c48b38abd4bc452446bae39b98f567a32 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Fri, 25 Nov 2022 22:45:35 +0100 Subject: [PATCH] feat(syncthing): Deploy most simple version of syncthing This patch implements a trivial syncthing setup, which should provide a a good place to sync data to. --- apps/k8s01/syncthing/kustomization.yaml | 8 ++++ apps/k8s01/syncthing/namespace.yaml | 11 +++++ apps/k8s01/syncthing/syncthing.yaml | 55 +++++++++++++++++++++++++ renovate.json | 1 + 4 files changed, 75 insertions(+) create mode 100644 apps/k8s01/syncthing/kustomization.yaml create mode 100644 apps/k8s01/syncthing/namespace.yaml create mode 100644 apps/k8s01/syncthing/syncthing.yaml diff --git a/apps/k8s01/syncthing/kustomization.yaml b/apps/k8s01/syncthing/kustomization.yaml new file mode 100644 index 000000000..f7d38a5b2 --- /dev/null +++ b/apps/k8s01/syncthing/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: syncthing +resources: + - namespace.yaml + - syncthing.yaml + - ../../../shared/networkpolicies/allow-from-same-namespace.yaml + - ../../../shared/resourcequotas/default.yaml diff --git a/apps/k8s01/syncthing/namespace.yaml b/apps/k8s01/syncthing/namespace.yaml new file mode 100644 index 000000000..416decd38 --- /dev/null +++ b/apps/k8s01/syncthing/namespace.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: syncthing + labels: + pod-security.kubernetes.io/audit: restricted + pod-security.kubernetes.io/enforce: baseline + pod-security.kubernetes.io/warn: restricted + pod-security.kubernetes.io/audit-version: v1.23 + pod-security.kubernetes.io/enforce-version: v1.23 + pod-security.kubernetes.io/warn-version: v1.23 diff --git a/apps/k8s01/syncthing/syncthing.yaml b/apps/k8s01/syncthing/syncthing.yaml new file mode 100644 index 000000000..5174c98eb --- /dev/null +++ b/apps/k8s01/syncthing/syncthing.yaml @@ -0,0 +1,55 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: syncthing + namespace: syncthing + labels: + app.kubernetes.io/name: syncthing +spec: + selector: + matchLabels: + app.kubernetes.io/name: syncthing + serviceName: "syncthing" + replicas: 1 + minReadySeconds: 10 + template: + metadata: + labels: + app.kubernetes.io/name: syncthing + spec: + terminationGracePeriodSeconds: 10 + containers: + - name: syncthing + image: docker.io/syncthing/syncthing:1.22.1 + ports: + - containerPort: 8384 + name: web + protocol: TCP + - containerPort: 22000 + name: transfer-tcp + protocol: TCP + - containerPort: 22000 + name: transfer-quick + protocol: UDP + - containerPort: 21027 + name: discovery + protocol: UDP + volumeMounts: + - name: storage + mountPath: /var/syncthing + resources: + requests: + cpu: 100m + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + volumeClaimTemplates: + - metadata: + name: storage + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 70Gi \ No newline at end of file diff --git a/renovate.json b/renovate.json index 9f16d99d9..41e2f83a2 100644 --- a/renovate.json +++ b/renovate.json @@ -14,6 +14,7 @@ "kubernetes": { "fileMatch": [ "apps/k8s01/dns/.+\.yaml$", + "apps/k8s01/syncthing/.+\.yaml$", "apps/base/iot/.+\.yaml$" ] }, -- GitLab