feat: add davis caldav
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: davis
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 10m0s
|
||||
path: ./clusters/homelab/davis
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: flux-system
|
||||
decryption:
|
||||
provider: sops
|
||||
secretRef:
|
||||
name: sops-age
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: davis-db
|
||||
namespace: davis
|
||||
spec:
|
||||
instances: 3
|
||||
storage:
|
||||
size: 1Gi
|
||||
storageClass: longhorn
|
||||
backup:
|
||||
barmanObjectStore:
|
||||
destinationPath: s3://cnpg-backups/davis
|
||||
endpointURL: http://192.168.2.107:9010
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_SECRET_KEY
|
||||
retentionPolicy: "30d"
|
||||
bootstrap:
|
||||
initdb:
|
||||
database: davis
|
||||
owner: davis
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: ScheduledBackup
|
||||
metadata:
|
||||
name: davis-db-backup
|
||||
namespace: davis
|
||||
spec:
|
||||
schedule: "0 3 * * *"
|
||||
backupOwnerReference: self
|
||||
cluster:
|
||||
name: davis-db
|
||||
@@ -0,0 +1,53 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: davis
|
||||
namespace: davis
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: davis
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: davis
|
||||
spec:
|
||||
containers:
|
||||
- name: davis
|
||||
image: ghcr.io/tchapi/davis:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: APP_ENV
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: davis-config
|
||||
key: APP_ENV
|
||||
- name: DATABASE_DRIVER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: davis-config
|
||||
key: DATABASE_DRIVER
|
||||
- name: DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: davis-db-app
|
||||
key: uri
|
||||
- name: ADMIN_LOGIN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: davis-config
|
||||
key: ADMIN_LOGIN
|
||||
- name: ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: davis-config
|
||||
key: ADMIN_PASSWORD
|
||||
resources:
|
||||
requests:
|
||||
memory: "128Mi"
|
||||
cpu: "10m"
|
||||
limits:
|
||||
memory: "256Mi"
|
||||
cpu: "200m"
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- secret.sops.yaml
|
||||
- minio-secret.sops.yaml
|
||||
- cnpg-cluster.yaml
|
||||
- cnpg-scheduledbackup.yaml
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: ENC[AES256_GCM,data:bBc=,iv:2uC2W3v/ukx8ywtBXMJsZH6mVDc/EKUzuB6c2DJw2Ek=,tag:6AmF0PKY8qk9JGKdMh9rAQ==,type:str]
|
||||
kind: ENC[AES256_GCM,data:Afeveqjf,iv:p71Ckk4gJsOUH/FfGo8dtm2QfsRaMDE9gPntUqs67x8=,tag:jPMuvgELtkIoeRv+ML/sJA==,type:str]
|
||||
metadata:
|
||||
name: ENC[AES256_GCM,data:6/qB0+8z+VOvYvfh3OLYPnpjfz4FCA==,iv:g5ObGpS79q3MB3iEyXiOuOtZe4DB8exdPpoeuTu4+ag=,tag:dv5wECCCdE7PkJPCuLm8hw==,type:str]
|
||||
namespace: ENC[AES256_GCM,data:0mq47nY=,iv:RNXXj7BQVQrx+drIh3wi0X4JwFjgUyy1bC95jZdvzOg=,tag:1QibgU+vuXTMqL5wfXC2FQ==,type:str]
|
||||
stringData:
|
||||
ACCESS_KEY_ID: ENC[AES256_GCM,data:5Qyouwe/SYduMBYkfeDmGl6xyDc=,iv:HFGnaGbZKDfodULpQ23uicMo2tpeeNT8OR+lkgiHh78=,tag:QpOyRCWE50gl2LlNw7ljew==,type:str]
|
||||
ACCESS_SECRET_KEY: ENC[AES256_GCM,data:Gkgmc9WfBxvE7qDqh1cXbJkdTSUzGSDOWWIpdiObG7Sc0OR5gBsZdA==,iv:aOt4HgtzEq3WfPd/p0IJv8xK3gZwig1NgXPgb8Iu5SE=,tag:iotGoO37jTwQM9Ggsz93JQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJR2RpVGJPaUpncDRRMHNJ
|
||||
b012TTRGR3c3R3dqOERVSytGQWRSV3Bwd0JNCnlzYkxRaXd6WXg0bk1hUXlRMlNp
|
||||
L3FJTjExaGZRVG1kaElZYlkrVVlPQ0kKLS0tIGV0TjlsWkkxcVhJK2o0cnhvbkZ1
|
||||
TW83ZVVjalpaZEVVNkU1TEhyS25lbTQK/V6y5Y6E+sEPryKXTJAA4j5Uw0kJs55E
|
||||
gdVLhPxsf7VXkgMunMJdQnQoXN8uGbUQXkQhLC+r943JJMOfJqzDrg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-03-22T09:04:40Z"
|
||||
mac: ENC[AES256_GCM,data:PM2SjFzjhSZ7nD8g3MjfiYw2MpyhM5JVd0Uc6yLzhx5tGe9BSv0zV6BE7nTXZ9wDDqKoEDDpMWyHfh9zrXZ8CukqJBHSl/ULyN3WNmTZ5UwpDtpVloBA5KLp+YbVemlJzWb9aAg/6vXRn+0xOIcBhOGpC7fntw+Wm70bOhdlOhs=,iv:nHC3ubPWZn20wLsaXHBh4SypGp10Ot9PxzK23UyInrc=,tag:Va2BmQxQNlrSNtjvGXoSTQ==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: davis
|
||||
@@ -0,0 +1,30 @@
|
||||
apiVersion: ENC[AES256_GCM,data:o2U=,iv:+95NyE+T6sQykvRtd96UOfjBPxMLrPzQAV2WtD/S7a4=,tag:zn2x59gAXlclp8t5q0utcQ==,type:str]
|
||||
kind: ENC[AES256_GCM,data:XJT/EqB8,iv:4MBf0lKUWlrgtVmjFG6vau9NeCf1RDc4Ck41ApeW6Zc=,tag:AFLtvsP2p44CbD/K9Xiisw==,type:str]
|
||||
metadata:
|
||||
name: ENC[AES256_GCM,data:aoPvyszUeC7nDjsr,iv:KfOt9OMXHn1T7O4oEUUrLQ3l3Uyvaf07FzuUcnDUMC0=,tag:UQbXGHgNZMeY0/pfjQpyUQ==,type:str]
|
||||
namespace: ENC[AES256_GCM,data:tcBqol0=,iv:RzzwtqUWIG8cqwjPIDwcaRcK4iAekBGSSol3T5vPltE=,tag:jYjBX0OkS9iitLP+zZ1JcA==,type:str]
|
||||
stringData:
|
||||
APP_ENV: ENC[AES256_GCM,data:bLA9smgzQW71lA==,iv:c4LTqfKQPSDEfxYA9nbDqTEUXf0yIOOiKDkJJKkpIs8=,tag:eczIHWoh5mXxLDTKE4ws4Q==,type:str]
|
||||
DATABASE_DRIVER: ENC[AES256_GCM,data:3+6YyPOGIARDhg==,iv:RbYe2qPN1138QyVstle0DHIRAoEX6QQnuQ5y2gkAMlc=,tag:nXLLowH5fmY76leT9rN2qQ==,type:str]
|
||||
ADMIN_LOGIN: ENC[AES256_GCM,data:l9QGSnk=,iv:MqpNoLkpfZzoFNLBXWXHtrmsQvHCgDu+sOZ/6RYGiJk=,tag:aMD3fFGTyqqLqGxDe6wsnA==,type:str]
|
||||
ADMIN_PASSWORD: ENC[AES256_GCM,data:8l3+w0REMpA=,iv:LXCoa+fLokIHXcsi979GKA003ke1U2IeN5JDw4n7AnU=,tag:avKceDXABHW1N+2KKZ3uOg==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3ZFYrOHczd0JhM2dsT3Rk
|
||||
QktaK1o4dnVnakh6YjVWNWRyKzhSSXd5RnpNCngrZjBHR2p3REtwajVoM0M1Tmg3
|
||||
TzQ4eHBOU2REVTVLMmxEK0tzMWF3cmsKLS0tIFNUVG0vNTg0SFJDUCtRWjF2RnpP
|
||||
YVFmNU5CMHZkRzlHOGZzUVBXYlZnRE0KMKh5h7nPWiBKXC0QApxIAvpvY/mMwNRC
|
||||
ahN/fLtQwwtDBtepIGnC7x8Ad5vWBumL7S22oJLCHXqXxmffutKzQA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-03-22T09:05:17Z"
|
||||
mac: ENC[AES256_GCM,data:p4oSaUiAYp5723/1B+XtREMWCl0TV11CVErMDP7AILXEj9OuAsUWLbeLL6jAWgDIKrJgCZisCLBpuJDWb32fGmJZrPhSEkBV3L0sfn25P9Cg77uj9iPHkRiOXgD7ySNBpI06vETenydPFK+ib93JOTbOVYEe4an3yo05LYkjX/A=,iv:o8L+sNSjszzCajroXva1DDi2TZ5J/11HlA5PAqQz/bg=,tag:rSMO9DOw/Mybi6CI73ZmHg==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: davis
|
||||
namespace: davis
|
||||
spec:
|
||||
selector:
|
||||
app: davis
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
Reference in New Issue
Block a user