28 Commits

Author SHA1 Message Date
d8029652d1 Merge pull request 'keycloak-v2' (#3) from keycloak-v2 into main
Reviewed-on: #3
2024-12-28 15:27:41 +00:00
d11b156f15 adding db port 2024-12-26 10:58:30 +01:00
854f936c13 bad value 2024-12-23 21:07:11 +01:00
88e49484bb forgot targetRevision 2024-12-23 20:29:37 +01:00
d72e29ff16 handle prefix 2024-12-23 19:38:06 +01:00
3bbb2f8240 v2 suffix not to conflict with existing one 2024-12-23 19:01:49 +01:00
c84b0cd754 Prepping to use the linode database for keycloak 2024-12-22 09:54:12 +01:00
b0b300073f Bumped immich to 1.123.0 2024-12-18 21:37:50 +01:00
4c8e4fdda8 Bumped immich to 1.122.3 2024-12-14 11:03:34 +01:00
33ae8790bc Bumped immich to 1.122.3 2024-12-14 11:01:56 +01:00
ef882de1d8 Bumped immich to 1.122.2 2024-12-11 13:00:01 +01:00
975319c401 Bumped immich to 1.122.1 2024-12-06 23:43:14 +01:00
08359d4642 Bumped immich to 1.121.0 2024-11-22 07:43:35 +01:00
7924303a33 added admin token 2024-11-15 00:24:13 +00:00
4092438f95 fixed domain including protocol 2024-11-15 00:00:59 +00:00
180b147897 added accessmode for pvc 2024-11-14 23:48:48 +00:00
beaf854645 fixed errors 2024-11-14 23:44:11 +00:00
c06b8bf2f3 fixed typo 2024-11-14 23:36:01 +00:00
71d8aa9fc5 Refining vaultwarden 2024-11-14 23:25:16 +00:00
b648b0fc49 Merge branch 'vaultwarden' 2024-11-14 23:07:49 +00:00
5ffcfa4039 Finished vaultwarden 2024-11-14 23:07:23 +00:00
661abbce61 Bumped immich to 1.120.2 2024-11-14 10:17:26 +00:00
d6c0a3c548 Bumped immich to 1.120.1 2024-11-14 10:10:31 +00:00
05f4d90f56 Bumped immich to 1.120.0 2024-11-14 09:58:26 +00:00
9ac2647482 PROPERLY binding immich argocd apps appversion to immich version 2024-11-14 09:42:34 +00:00
a3fa03c9f3 PROPERLY binding immich argocd apps appversion to immich version 2024-11-14 09:41:05 +00:00
d3cb5b4365 PROPERLY binding immich argocd apps appversion to immich version 2024-11-14 09:38:51 +00:00
277ea22a82 Binding immich argocd apps appversion to immich version 2024-11-14 09:36:05 +00:00
25 changed files with 162 additions and 42 deletions

View File

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

View File

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

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: keycloak-argocd-apps
description: A Helm chart for deploying the different argocd apps to deploy Keycloak
type: application
version: 0.1.0
version: 0.2.1

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: keycloak-deployment
name: {{ .Values.argocd.prefix }}keycloak-deployment
namespace: {{ .Values.argocd.namespace }}
annotations:
argocd.argoproj.io/sync-wave: "0"
@@ -10,14 +10,26 @@ spec:
project: {{ .Values.argocd.project }}
source:
repoURL: "https://git.blarre.net/thomas/helm-charts.git"
targetRevision: HEAD
targetRevision: {{ .Values.keycloakDeployment.targetRevision }}
path: keycloak-deployment
helm:
releaseName: keycloak-deployment
valuesObject:
prefix: {{ .Values.argocd.prefix }}
keycloakDeployment:
deploymentName: {{ .Values.keycloakDeployment.deploymentName }}
numInstances: {{ .Values.keycloakDeployment.numInstances }}
hostname: {{ .Values.keycloakDeployment.hostname }}
vendor: {{ .Values.keycloakDeployment.vendor }}
dbHost: {{ .Values.keycloakDeployment.dbHost }}
dbPort: {{ .Values.keycloakDeployment.dbPort }}
usernameSecret:
name: {{ .Values.keycloakDeployment.usernameSecret.name }}
key: {{ .Values.keycloakDeployment.usernameSecret.key }}
passwordSecret:
name: {{ .Values.keycloakDeployment.passwordSecret.name }}
key: {{ .Values.keycloakDeployment.passwordSecret.key }}
database: {{ .Values.keycloakDeployment.database }}
destination:
server: {{ .Values.mainDestination }}
namespace: {{ .Values.mainNamespace }}

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: keycloak-postinstall
name: {{ .Values.argocd.prefix }}keycloak-postinstall
namespace: {{ .Values.argocd.namespace }}
annotations:
argocd.argoproj.io/sync-wave: "1"
@@ -10,11 +10,12 @@ spec:
project: {{ .Values.argocd.project }}
source:
repoURL: "https://git.blarre.net/thomas/helm-charts.git"
targetRevision: HEAD
targetRevision: {{ .Values.keycloakDeployment.targetRevision }}
path: keycloak-postinstall
helm:
releaseName: keycloak-postinstall
valuesObject:
prefix: {{ .Values.argocd.prefix }}
tailscaleIngresses:
keycloakHostname: {{ .Values.tailscaleIngresses.keycloakHostname }}
destination:

View File

@@ -1,7 +1,8 @@
{{- if .Values.dbCluster.enable -}}
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: keycloak-requirements
name: {{ .Values.argocd.prefix }}keycloak-requirements
namespace: {{ .Values.argocd.namespace }}
annotations:
argocd.argoproj.io/sync-wave: "-1"
@@ -15,6 +16,7 @@ spec:
helm:
releaseName: keycloak-requirements
valuesObject:
prefix: {{ .Values.argocd.prefix }}
dbCluster:
size: {{ .Values.dbCluster.size }}
numInstances: {{ .Values.dbCluster.numInstances }}
@@ -29,3 +31,4 @@ spec:
- ApplyOutOfSyncOnly=true
- ServerSideApply=true
- CreateNamespace=true
{{- end }}

View File

@@ -1,13 +1,26 @@
argocd:
namespace: argocd
project: default
prefix: null
dbCluster:
size: 1Gi
enable: true
size: 10Gi
numInstances: 3
mainNamespace: keycloak
mainDestination: https://kubernetes.default.svc
keycloakDeployment:
targetRevision: HEAD
numInstances: 1
hostname: sso.domain.net
vendor: postgres
dbHost: keycloak-db-rw
dbPort: 5432
usernameSecret:
name: keycloak-db-app
key: user
passwordSecret:
name: keycloak-db-app
key: password
database: app
tailscaleIngresses:
keycloakHostname: sso

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: keycloak-deployment
description: A Helm chart for deploying the actual keycloak pod through the keycloak operator
type: application
version: 0.1.0
version: 0.2.1

View File

@@ -1,19 +1,20 @@
apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
name: linode-keycloak
name: {{ .Values.prefix }}keycloak
spec:
instances: {{ .Values.keycloakDeployment.numInstances }}
db:
vendor: postgres
host: keycloak-db-rw
vendor: {{ .Values.keycloakDeployment.vendor }}
host: {{ .Values.keycloakDeployment.dbHost }}
port: {{ .Values.keycloakDeployment.dbPort }}
usernameSecret:
name: keycloak-db-app
key: user
name: {{ .Values.keycloakDeployment.usernameSecret.name }}
key: {{ .Values.keycloakDeployment.usernameSecret.key }}
passwordSecret:
name: keycloak-db-app
key: password
database: app
name: {{ .Values.keycloakDeployment.passwordSecret.name }}
key: {{ .Values.keycloakDeployment.passwordSecret.key }}
database: {{ .Values.keycloakDeployment.database }}
ingress:
enabled: false
http:

View File

@@ -1,3 +1,14 @@
prefix: null
keycloakDeployment:
numInstances: 1
hostname: sso.domain.net
vendor: postgres
dbHost: keycloak-db-rw
dbPort: 5432
usernameSecret:
name: keycloak-db-app
key: user
passwordSecret:
name: keycloak-db-app
key: password
database: app

View File

@@ -1,7 +1,7 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ts-keycloak
name: {{ .Values.prefix }}ts-keycloak
annotations:
tailscale.com/funnel: "true"
spec:

View File

@@ -1,2 +1,3 @@
prefix: null
tailscaleIngresses:
keycloakHostname: sso

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: keycloak-requirements
description: A Helm chart for deploying the DB used by keycloak
type: application
version: 0.1.0
version: 0.1.1

View File

@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: keycloak-db
name: {{ .Values.prefix }}keycloak-db
spec:
instances: {{ .Values.dbCluster.numInstances }}

View File

@@ -1,4 +1,4 @@
prefix: null
dbCluster:
size: 1Gi
numInstances: 3

View File

@@ -15,15 +15,29 @@ spec:
helm:
releaseName: vaultwarden
valuesObject:
domain: {{ .Values.vaultwarden.domain }}
timeZone: {{ .Values.vaultwarden.timeZone }}
adminToken:
value: {{ .Values.vaultwarden.adminToken.value }}
database:
type: postgresql
existingSecret: {{ .Values.vaultwarden.dbCluster.secretName }}
existingSecretKey: uri
data:
name: {{ .Values.vaultwarden.dataPvc.name }}
size: {{ .Values.vaultwarden.dataPvc.size }}
class: {{ .Values.vaultwarden.dataPvc.storageClassName }}
accessMode: {{ .Values.vaultwarden.dataPvc.accessMode }}
attachments:
name: {{ .Values.vaultwarden.attachmentPvc.name }}
size: {{ .Values.vaultwarden.attachmentPvc.size }}
class: {{ .Values.vaultwarden.attachmentPvc.storageClassName }}
accessMode: {{ .Values.vaultwarden.attachmentPvc.accessMode }}
ingress:
enabled: true
enabled: false
destination:
server: {{ .Values.mainDestination }}
namespace: {{ .Values.mainNamespace }}
server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }}
syncPolicy:
automated:
prune: true # Automatically remove resources no longer in the repo

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 }}
storageClassName: {{ .Values.vaultwarden.dataPvc.storageClassName }}
size: {{ .Values.vaultwarden.dataPvc.size }}
mainNamespace: {{ .Values.destination.namespace }}
destination:
server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }}

View File

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

View File

@@ -1,5 +1,5 @@
apiVersion: v2
name: vaultwarden-postinstall
description: A Helm chart for Kubernetes
description: A Helm chart for deploynig vaultwarden's ingress
type: application
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
storageClassName: ''
size: 10Gi
mainNamespace: vaultwarden