10 Commits

12 changed files with 88 additions and 18 deletions

View File

@@ -2,4 +2,5 @@ apiVersion: v2
name: immich-argocd-apps name: immich-argocd-apps
description: A Helm chart for deploying Immich as an ArgoCD app description: A Helm chart for deploying Immich as an ArgoCD app
type: application type: application
version: 0.1.0 version: 0.1.4
appVersion: v1.120.2

View File

@@ -17,6 +17,8 @@ spec:
helm: helm:
releaseName: immich releaseName: immich
valuesObject: valuesObject:
image:
tag: {{ .Chart.AppVersion }}
immich: immich:
persistence: persistence:
library: library:

View File

@@ -15,12 +15,22 @@ spec:
helm: helm:
releaseName: vaultwarden releaseName: vaultwarden
valuesObject: valuesObject:
domain: {{ .Values.vaultwarden.fqdn }}
timeZone: {{ .Values.vaultwarden.timeZone }}
database: database:
type: postgresql type: postgresql
existingSecret: {{ .Values.vaultwarden.dbCluster.secretName }} existingSecret: {{ .Values.vaultwarden.dbCluster.secretName }}
existingSecretKey: uri existingSecretKey: uri
data:
name: {{ .Values.vaultwarden.dataPvc.name }}
size: {{ .Values.vaultwarden.dataPvc.size }}
class: {{ .Values.vaultwarden.dataPvc.storageClassName }}
attachments:
name: {{ .Values.vaultwarden.attachmentPvc.name }}
size: {{ .Values.vaultwarden.attachmentPvc.size }}
class: {{ .Values.vaultwarden.attachmentPvc.storageClassName }}
ingress: ingress:
enabled: true enabled: false
destination: destination:
server: {{ .Values.mainDestination }} server: {{ .Values.mainDestination }}
namespace: {{ .Values.mainNamespace }} namespace: {{ .Values.mainNamespace }}

View File

@@ -0,0 +1,30 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: vaultwarden-postinstall
namespace: {{ .Values.argocd.namespace }}
annotations:
argocd.argoproj.io/sync-wave: "1"
notifications.argoproj.io/subscribe.on-sync-succeeded.telegram: "-1002270587578"
spec:
project: {{ .Values.argocd.project }}
source:
repoURL: {{ .Values.argocd.postinstall.repoURL }}
targetRevision: {{ .Values.argocd.postinstall.targetRevision }}
path: {{ .Values.argocd.postinstall.path }}
helm:
releaseName: vaultwarden-postinstall
valuesObject:
tailscaleIngresses:
vaultwardenHostname: {{ .Values.tailscaleIngresses.vaultwardenHostname }}
destination:
server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }}
syncPolicy:
automated:
prune: true # Automatically remove resources no longer in the repo
selfHeal: true # Automatically self-heal when drift is detected
syncOptions:
- ApplyOutOfSyncOnly=true
- ServerSideApply=true
- CreateNamespace=true

View File

@@ -23,6 +23,7 @@ spec:
name: {{ .Values.vaultwarden.dataPvc.name }} name: {{ .Values.vaultwarden.dataPvc.name }}
storageClassName: {{ .Values.vaultwarden.dataPvc.storageClassName }} storageClassName: {{ .Values.vaultwarden.dataPvc.storageClassName }}
size: {{ .Values.vaultwarden.dataPvc.size }} size: {{ .Values.vaultwarden.dataPvc.size }}
mainNamespace: {{ .Values.destnation.namespace }}
destination: destination:
server: {{ .Values.destination.server }} server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }} namespace: {{ .Values.destination.namespace }}

View File

@@ -23,8 +23,12 @@ vaultwarden:
name: vaultwarden-data name: vaultwarden-data
storageClassName: '' storageClassName: ''
size: 10Gi size: 10Gi
FQDN: vaultwarden.domain.net attachmentPvc:
replicaCount: 1 name: vaultwarden-attachments
storageClassName: 'linode-block-storage-retain-luks-vw'
size: 10Gi
fqdn: vaultwarden.domain.net
timeZone: "Europe/Lisbon"
tailscaleIngresses: tailscaleIngresses:
odooHostname: odoo vaultwardenHostname: vaultwarden

View File

@@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
name: vaultwarden-postinstall name: vaultwarden-postinstall
description: A Helm chart for Kubernetes description: A Helm chart for deploynig vaultwarden's ingress
type: application type: application
version: 0.1.0 version: 0.1.0

View File

@@ -0,0 +1,16 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ts-vaultwarden
annotations:
tailscale.com/funnel: "true"
spec:
defaultBackend:
service:
name: vaultwarden
port:
name: http
ingressClassName: tailscale
tls:
- hosts:
- {{ .Values.tailscaleIngresses.vaultwardenHostname }}

View File

@@ -0,0 +1,2 @@
tailscaleIngresses:
vaultwardenHostname: vaultwarden

View File

@@ -0,0 +1,14 @@
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: linode-block-storage-retain-luks-vw
namespace: kube-system
provisioner: linodebs.csi.linode.com
reclaimPolicy: Retain
parameters:
linodebs.csi.linode.com/luks-encrypted: "true"
linodebs.csi.linode.com/luks-cipher: "aes-xts-plain64"
linodebs.csi.linode.com/luks-key-size: "512"
csi.storage.k8s.io/node-stage-secret-namespace: {{ .Values.mainNamespace }}
csi.storage.k8s.io/node-stage-secret-name: vw-data-luks-key

View File

@@ -1,11 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ .Values.vaultwarden.dataPvc.name }}
spec:
storageClassName: {{ .Values.vaultwarden.dataPvc.storageClassName }}
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.vaultwarden.dataPvc.size }}

View File

@@ -6,3 +6,4 @@ vaultwarden:
name: vaultwarden-data name: vaultwarden-data
storageClassName: '' storageClassName: ''
size: 10Gi size: 10Gi
mainNamespace: vaultwarden