18 Commits

Author SHA1 Message Date
27a5aacffd trying chatgpt trick 2024-12-29 18:10:09 +01:00
f26304e5b8 disabling ssl 2024-12-29 17:52:11 +01:00
cf39626324 same 2024-12-29 16:21:00 +01:00
42d2bdbf4a trying bypassing ssl verification 2024-12-29 15:55:45 +01:00
6b9f1792a6 adding debug mode 2024-12-29 00:36:34 +01:00
98e4812a3e removed superfluous prefix 2024-12-29 00:01:16 +01:00
88fd35d2fd added prefix 2024-12-28 23:52:17 +01:00
b6c96025d0 adding prefix and non cnpg database 2024-12-28 21:06:47 +01:00
f0552c9548 Merge branch 'main' of ssh://git.blarre.net:2277/thomas/helm-charts 2024-12-28 16:33:48 +01:00
3e00bef7fa Forgot to handle the prefix on the service for keycloak 2024-12-28 16:32:57 +01:00
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
25 changed files with 110 additions and 44 deletions

View File

@@ -2,5 +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.2.0 version: 0.3.0
appVersion: v1.122.3 appVersion: v1.123.0

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,26 @@
argocd: argocd:
namespace: argocd namespace: argocd
project: default project: default
prefix: null
dbCluster: dbCluster:
enable: true
size: 10Gi size: 10Gi
numInstances: 3 numInstances: 3
mainNamespace: keycloak mainNamespace: keycloak
mainDestination: https://kubernetes.default.svc mainDestination: https://kubernetes.default.svc
keycloakDeployment: keycloakDeployment:
targetRevision: HEAD
numInstances: 1 numInstances: 1
hostname: sso.domain.net 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: tailscaleIngresses:
keycloakHostname: sso keycloakHostname: sso

View File

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

View File

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

View File

@@ -1,3 +1,14 @@
prefix: null
keycloakDeployment: keycloakDeployment:
numInstances: 1 numInstances: 1
hostname: sso.domain.net 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,13 +1,13 @@
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: ts-keycloak name: {{ .Values.prefix }}ts-keycloak
annotations: annotations:
tailscale.com/funnel: "true" tailscale.com/funnel: "true"
spec: spec:
defaultBackend: defaultBackend:
service: service:
name: linode-keycloak-service name: {{ .Values.prefix }}keycloak-service
port: port:
number: 8080 number: 8080
ingressClassName: tailscale ingressClassName: tailscale

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: odoo-argocd-apps name: odoo-argocd-apps
description: A Helm chart for deploying the requirements, main charts and postinstall as ArgoCD apps for Odoo description: A Helm chart for deploying the requirements, main charts and postinstall as ArgoCD apps for Odoo
type: application type: application
version: 0.1.0 version: 0.1.1

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: odoo-chart name: {{ .Values.argocd.prefix }}odoo-chart
namespace: {{ .Values.argocd.namespace }} namespace: {{ .Values.argocd.namespace }}
annotations: annotations:
argocd.argoproj.io/sync-wave: "0" argocd.argoproj.io/sync-wave: "0"
@@ -13,8 +13,9 @@ spec:
chart: odoo chart: odoo
targetRevision: 28.x targetRevision: 28.x
helm: helm:
releaseName: odoo releaseName: {{ .Values.argocd.prefix }}odoo
valuesObject: valuesObject:
image.debug: {{ .Values.odoo.image.debug }}
odooEmail: {{ .Values.odoo.odooEmail }} odooEmail: {{ .Values.odoo.odooEmail }}
replicaCount: {{ .Values.odoo.replicaCount }} replicaCount: {{ .Values.odoo.replicaCount }}
resourcesPreset: {{ .Values.odoo.resourcesPreset }} resourcesPreset: {{ .Values.odoo.resourcesPreset }}
@@ -23,13 +24,15 @@ spec:
postgresql: postgresql:
enabled: false enabled: false
externalDatabase: externalDatabase:
host: odoo-db-rw host: {{ .Values.odoo.externalDatabase.host }}
port: 5432 port: {{ .Values.odoo.externalDatabase.port }}
user: app user: {{ .Values.odoo.externalDatabase.user }}
database: app database: {{ .Values.odoo.externalDatabase.database }}
create: false create: {{ .Values.odoo.externalDatabase.create }}
existingSecret: odoo-db-app existingSecret: {{ .Values.odoo.externalDatabase.passwordSecret.name }}
existingSecretPasswordKey: password existingSecretPasswordKey: {{ .Values.odoo.externalDatabase.passwordSecret.key }}
sslmode: require
extraOptions: sslrootcert=/opt/ssl/root.crt sslcert=/opt/ssl/postgresql.crt sslkey=/opt/ssl/postgresql.key
destination: destination:
server: {{ .Values.destination.server }} server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }} namespace: {{ .Values.destination.namespace }}

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: odoo-postinstall name: {{ .Values.argocd.prefix }}odoo-postinstall
namespace: {{ .Values.argocd.namespace }} namespace: {{ .Values.argocd.namespace }}
annotations: annotations:
argocd.argoproj.io/sync-wave: "1" argocd.argoproj.io/sync-wave: "1"
@@ -15,6 +15,7 @@ spec:
helm: helm:
releaseName: odoo-postinstall releaseName: odoo-postinstall
valuesObject: valuesObject:
prefix: {{ .Values.argocd.prefix }}
tailscaleIngresses: tailscaleIngresses:
odooHostname: {{ .Values.tailscaleIngresses.odooHostname }} odooHostname: {{ .Values.tailscaleIngresses.odooHostname }}
destination: destination:

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: odoo-requirements name: {{ .Values.argocd.prefix }}odoo-requirements
namespace: {{ .Values.argocd.namespace }} namespace: {{ .Values.argocd.namespace }}
annotations: annotations:
argocd.argoproj.io/sync-wave: "-1" argocd.argoproj.io/sync-wave: "-1"
@@ -15,8 +15,10 @@ spec:
helm: helm:
releaseName: odoo-requirements releaseName: odoo-requirements
valuesObject: valuesObject:
prefix: {{ .Values.argocd.prefix }}
odoo: odoo:
dbCluster: dbCluster:
enable: {{ .Values.odoo.dbCluster.enable }}
numInstances: {{ .Values.odoo.dbCluster.numInstances }} numInstances: {{ .Values.odoo.dbCluster.numInstances }}
size: {{ .Values.odoo.dbCluster.size }} size: {{ .Values.odoo.dbCluster.size }}
dataPvc: dataPvc:

View File

@@ -1,6 +1,7 @@
argocd: argocd:
namespace: argocd namespace: argocd
project: default project: default
prefix: null
requirements: requirements:
repoURL: "https://git.blarre.net/thomas/helm-charts.git" repoURL: "https://git.blarre.net/thomas/helm-charts.git"
targetRevision: HEAD targetRevision: HEAD
@@ -16,6 +17,7 @@ destination:
odoo: odoo:
dbCluster: dbCluster:
enable: true
numInstances: 3 numInstances: 3
size: 10Gi size: 10Gi
dataPvc: dataPvc:
@@ -25,6 +27,17 @@ odoo:
odooEmail: "admin@domain.net" odooEmail: "admin@domain.net"
resourcesPreset: "large" resourcesPreset: "large"
replicaCount: 1 replicaCount: 1
externalDatabase:
host: odoo-db-rw
port: 5432
user: app
database: app
create: false
passwordSecret:
name: odoo-db-secret
key: password
image:
debug: false
tailscaleIngresses: tailscaleIngresses:
odooHostname: odoo odooHostname: odoo

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: odoo-postinstall name: odoo-postinstall
description: A Helm chart for deploying the postinall stuff for odoo, mainly the ingress description: A Helm chart for deploying the postinall stuff for odoo, mainly the ingress
type: application type: application
version: 0.1.0 version: 0.1.1

View File

@@ -1,13 +1,13 @@
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: ts-odoo name: {{ .Values.prefix}}ts-odoo
annotations: annotations:
tailscale.com/funnel: "true" tailscale.com/funnel: "true"
spec: spec:
defaultBackend: defaultBackend:
service: service:
name: odoo name: {{ .Values.prefix }}odoo
port: port:
name: http name: http
ingressClassName: tailscale ingressClassName: tailscale

View File

@@ -1,2 +1,3 @@
prefix: null
tailcaleIngresses: tailcaleIngresses:
odooHostname: odoo odooHostname: odoo

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: odoo-requirements name: odoo-requirements
description: A Helm chart for the requirements for Odoo description: A Helm chart for the requirements for Odoo
type: application type: application
version: 0.1.0 version: 0.1.1

View File

@@ -1,8 +1,10 @@
apiVersion: postgresql.cnpg.io/v1 {{- if .Values.odoo.dbCluster.enabled -}}
: postgresql.cnpg.io/v1
kind: Cluster kind: Cluster
metadata: metadata:
name: odoo-db name: {{ .Values.prefix }}odoo-db
spec: spec:
instances: {{ .Values.odoo.dbCluster.numInstances }} instances: {{ .Values.odoo.dbCluster.numInstances }}
storage: storage:
size: {{ .Values.odoo.dbCluster.size }} size: {{ .Values.odoo.dbCluster.size }}
{{- end }}

View File

@@ -1,5 +1,7 @@
prefix: null
odoo: odoo:
dbCluster: dbCluster:
enable: true
numInstances: 3 numInstances: 3
size: 10Gi size: 10Gi
dataPvc: dataPvc: