synthing
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: syncthing
|
||||
namespace: syncthing
|
||||
spec:
|
||||
interval: 10m
|
||||
chartRef:
|
||||
kind: OCIRepository
|
||||
name: syncthing
|
||||
driftDetection:
|
||||
mode: enabled
|
||||
values:
|
||||
controllers:
|
||||
app:
|
||||
containers:
|
||||
app:
|
||||
image:
|
||||
repository: syncthing/syncthing
|
||||
tag: "2.1.3"
|
||||
env:
|
||||
TZ: Europe/Moscow
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
readiness:
|
||||
enabled: true
|
||||
|
||||
service:
|
||||
app:
|
||||
controller: app
|
||||
ports:
|
||||
http:
|
||||
port: 8384
|
||||
|
||||
ingress:
|
||||
app:
|
||||
className: traefik
|
||||
# the GUI has no auth of its own out of the box, so it's gated
|
||||
# behind Authelia the same way fava/zigbee2mqtt are.
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
traefik.ingress.kubernetes.io/router.middlewares: auth-authelia@kubernetescrd
|
||||
hosts:
|
||||
- host: sync.aggtaa.com
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
service:
|
||||
identifier: app
|
||||
port: http
|
||||
tls:
|
||||
- secretName: syncthing-tls
|
||||
hosts:
|
||||
- sync.aggtaa.com
|
||||
|
||||
persistence:
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: longhorn
|
||||
retain: true
|
||||
globalMounts:
|
||||
- path: /var/syncthing
|
||||
# same nfs-ganesha export webdav and markdown-vault-mcp use
|
||||
# (10.0.64.5:/exports); mounted at the same container path (/data)
|
||||
# as webdav so the layout matches (/data/shared/documents/...).
|
||||
shared:
|
||||
type: persistentVolumeClaim
|
||||
existingClaim: syncthing-shared
|
||||
globalMounts:
|
||||
- path: /data
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: OCIRepository
|
||||
metadata:
|
||||
name: syncthing
|
||||
namespace: syncthing
|
||||
spec:
|
||||
interval: 10m
|
||||
url: oci://ghcr.io/bjw-s-labs/helm/app-template
|
||||
ref:
|
||||
tag: "5.0.1"
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helmrepository.yaml
|
||||
- pv-pvc-shared.yaml
|
||||
- helmrelease.yaml
|
||||
@@ -0,0 +1,35 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: syncthing-shared-nfs
|
||||
spec:
|
||||
capacity:
|
||||
storage: 30Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ""
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
nfs:
|
||||
server: 10.0.64.5
|
||||
path: /exports
|
||||
claimRef:
|
||||
namespace: syncthing
|
||||
name: syncthing-shared
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: syncthing-shared
|
||||
namespace: syncthing
|
||||
annotations:
|
||||
helm.sh/resource-policy: keep
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
storageClassName: ""
|
||||
volumeName: syncthing-shared-nfs
|
||||
resources:
|
||||
requests:
|
||||
storage: 30Gi
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: syncthing
|
||||
@@ -13,3 +13,4 @@ resources:
|
||||
- webdav.yaml
|
||||
- fava.yaml
|
||||
- infcloud.yaml
|
||||
- syncthing.yaml
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: syncthing
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 10m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: flux-system
|
||||
path: ./clusters/base/apps/syncthing
|
||||
prune: true
|
||||
wait: true
|
||||
dependsOn:
|
||||
- name: namespaces
|
||||
- name: infra
|
||||
retryInterval: 5s
|
||||
decryption:
|
||||
provider: sops
|
||||
secretRef:
|
||||
name: sops-age
|
||||
@@ -14,3 +14,4 @@ resources:
|
||||
- ../../base/namespaces/webdav.yaml
|
||||
- ../../base/namespaces/finance.yaml
|
||||
- ../../base/namespaces/nfs.yaml
|
||||
- ../../base/namespaces/syncthing.yaml
|
||||
|
||||
Reference in New Issue
Block a user