17 Commits

24 changed files with 108 additions and 42 deletions

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

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

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

View File

@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: odoo-chart
name: {{ .Values.argocd.prefix }}odoo-chart
namespace: {{ .Values.argocd.namespace }}
annotations:
argocd.argoproj.io/sync-wave: "0"
@@ -13,8 +13,9 @@ spec:
chart: odoo
targetRevision: 28.x
helm:
releaseName: odoo
releaseName: {{ .Values.argocd.prefix }}odoo
valuesObject:
image.debug: {{ .Values.odoo.image.debug }}
odooEmail: {{ .Values.odoo.odooEmail }}
replicaCount: {{ .Values.odoo.replicaCount }}
resourcesPreset: {{ .Values.odoo.resourcesPreset }}
@@ -23,13 +24,15 @@ spec:
postgresql:
enabled: false
externalDatabase:
host: odoo-db-rw
port: 5432
user: app
database: app
create: false
existingSecret: odoo-db-app
existingSecretPasswordKey: password
host: {{ .Values.odoo.externalDatabase.host }}
port: {{ .Values.odoo.externalDatabase.port }}
user: {{ .Values.odoo.externalDatabase.user }}
database: {{ .Values.odoo.externalDatabase.database }}
create: {{ .Values.odoo.externalDatabase.create }}
existingSecret: {{ .Values.odoo.externalDatabase.passwordSecret.name }}
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:
server: {{ .Values.destination.server }}
namespace: {{ .Values.destination.namespace }}

View File

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

View File

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

View File

@@ -1,6 +1,7 @@
argocd:
namespace: argocd
project: default
prefix: null
requirements:
repoURL: "https://git.blarre.net/thomas/helm-charts.git"
targetRevision: HEAD
@@ -16,6 +17,7 @@ destination:
odoo:
dbCluster:
enable: true
numInstances: 3
size: 10Gi
dataPvc:
@@ -25,6 +27,17 @@ odoo:
odooEmail: "admin@domain.net"
resourcesPreset: "large"
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:
odooHostname: odoo

View File

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

View File

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

View File

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

View File

@@ -2,4 +2,4 @@ apiVersion: v2
name: odoo-requirements
description: A Helm chart for the requirements for Odoo
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
metadata:
name: odoo-db
name: {{ .Values.prefix }}odoo-db
spec:
instances: {{ .Values.odoo.dbCluster.numInstances }}
storage:
size: {{ .Values.odoo.dbCluster.size }}
{{- end }}

View File

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