syncthing

This commit is contained in:
2024-06-06 16:31:11 -04:00
parent 5fae9e6a3e
commit 09e8fd669e
7 changed files with 136 additions and 0 deletions

43
syncthing/deployment.yaml Normal file
View File

@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: syncthing
namespace: syncthing
spec:
selector:
matchLabels:
app: syncthing
template:
metadata:
labels:
app: syncthing
spec:
containers:
- env:
- name: PGID
value: "1000"
- name: PUID
value: "1000"
image: syncthing/syncthing
name: syncthing
ports:
- containerPort: 8384
name: http
protocol: TCP
- containerPort: 22000
name: tcp
protocol: TCP
- containerPort: 22000
name: quic
protocol: UDP
- containerPort: 21027
name: discovery
protocol: UDP
volumeMounts:
- mountPath: /var/syncthing
name: data
restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: data

View File

@@ -0,0 +1,12 @@
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: syncthing.michaelthomson.dev
namespace: syncthing
spec:
endpoints:
- dnsName: syncthing.michaelthomson.dev
recordTTL: 180
recordType: CNAME
targets:
- server.michaelthomson.dev

24
syncthing/ingress.yaml Normal file
View File

@@ -0,0 +1,24 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: syncthing
namespace: syncthing
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
rules:
- host: syncthing.michaelthomson.dev
http:
paths:
- pathType: ImplementationSpecific
path: /
backend:
service:
name: syncthing
port:
name: http
tls:
- hosts:
- syncthing.michaelthomson.dev
secretName: letsencrypt-wildcard-cert-michaelthomson.dev

12
syncthing/pvc-data.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: syncthing
spec:
accessModes:
- ReadWriteOnce
storageClassName: nfs-client
resources:
requests:
storage: 1Ti

23
syncthing/service.yaml Normal file
View File

@@ -0,0 +1,23 @@
apiVersion: v1
kind: Service
metadata:
name: syncthing
namespace: syncthing
spec:
selector:
app: syncthing
ports:
- name: http
port: 8384
targetPort: http
- name: tcp
port: 22000
targetPort: tcp
- name: quic
port: 22000
protocol: UDP
targetPort: quic
- name: discovery
port: 21027
protocol: UDP
targetPort: discovery