Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,6 @@ jobs:
-
name: Build Helm Dependencies
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami/
helm repo add stable https://charts.helm.sh/stable/
helm dependency build ./helm/api-platform
-
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ jobs:
-
name: Build Helm Dependencies
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami/
helm repo add stable https://charts.helm.sh/stable/
helm dependency build ./helm/api-platform
# Release name MUST start with a letter
Expand All @@ -115,7 +114,7 @@ jobs:
--wait \
--namespace=$namespace \
--set=app.version=${{ github.sha }} \
--set=keycloak.image.repository=${{ secrets.gke-project }}/${{ secrets.gke-project }}/keycloak \
--set=keycloak.image.repository=europe-west1-docker.pkg.dev/${{ secrets.gke-project }}/${{ secrets.gke-project }}/keycloak \
--set=keycloak.image.tag=${{ inputs.docker-images-version }} \
--set=keycloak.auth.adminPassword=${{ secrets.keycloak-admin-password }} \
--set-string=keycloak.extraEnvVars[0].value=https://$url/oidc/ \
Expand Down
9 changes: 3 additions & 6 deletions helm/api-platform/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
dependencies:
- name: external-dns
repository: https://charts.bitnami.com/bitnami/
version: 9.0.3
digest: sha256:3b0229942127a01c02f151e18b739c39b68e6458c6b865e3a3dd90fcfe198c99
generated: "2026-02-04T16:01:05.816182082+01:00"
dependencies: []
digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726
generated: "2026-02-05T15:23:06.955496718Z"
6 changes: 1 addition & 5 deletions helm/api-platform/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,4 @@ version: 4.2.15
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 4.2.15

dependencies:
- name: external-dns
version: 9.0.3
repository: https://charts.bitnami.com/bitnami/
condition: external-dns.enabled
dependencies: []
7 changes: 3 additions & 4 deletions helm/api-platform/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ data:
mercure-extra-directives: {{ .Values.mercure.extraDirectives | quote }}
caddy-global-options: {{ .Values.php.caddyGlobalOptions | quote }}
oidc-server-url: "https://{{ (first .Values.ingress.hosts).host }}/oidc/realms/demo"
oidc-server-url-internal: "http://{{ template "common.names.fullname" .Subcharts.keycloak }}/oidc/realms/demo"
oidc-server-url-internal: "http://{{ include "api-platform.fullname" . }}-keycloak/oidc/realms/demo"
next-auth-url: "https://{{ (first .Values.ingress.hosts).host }}/api/auth"
pwa-client-id: {{ .Values.pwa.oidcClientId | quote }}
pwa-authorization-client-id: {{ .Values.php.oidcClientId | quote }}
{{- if .Values.keycloak.postgresql.enabled }}
keycloak-database-url: {{ printf "jdbc:postgresql://%s:%s/%s" .Release.Name .Values.keycloak.postgresql.global.postgresql.auth.database | b64enc | quote }}
keycloak-database-url: {{ printf "jdbc:postgresql://localhost:5432/%s" .Values.keycloak.postgresql.global.postgresql.auth.database | quote }}
{{- else }}
keycloak-database-url: {{ .Values.keycloak.postgresql.url | b64enc | quote }}
{{- end }}
Expand All @@ -35,6 +35,5 @@ metadata:
labels:
{{- include "api-platform.labelsKeycloak" . | nindent 4 }}
data:
realm.json: |
{{ (.Files.Glob .Values.keycloak.importRealm.path).AsConfig | indent 2 }}
{{ (.Files.Glob .Values.keycloak.importRealm.path).AsConfig | indent 2 }}
{{- end }}
110 changes: 110 additions & 0 deletions helm/api-platform/templates/external-dns-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{{- if index .Values "external-dns" "enabled" -}}
{{- $externalDns := index .Values "external-dns" -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "api-platform.fullname" . }}-external-dns
labels:
app.kubernetes.io/name: external-dns
{{- include "api-platform.labels" . | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: external-dns
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: external-dns
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
serviceAccountName: {{ include "api-platform.fullname" . }}-external-dns
containers:
- name: external-dns
image: {{ $externalDns.image.repository }}:{{ $externalDns.image.tag | default "v0.15.0" }}
imagePullPolicy: {{ $externalDns.image.pullPolicy | default "IfNotPresent" }}
args:
- --source=ingress
- --provider={{ $externalDns.provider }}
{{- range $externalDns.domainFilters }}
- --domain-filter={{ . }}
{{- end }}
{{- range $externalDns.zoneIdFilters }}
- --zone-id-filter={{ . }}
{{- end }}
- --policy=sync
- --registry=txt
- --txt-owner-id={{ .Release.Name }}
{{- if eq $externalDns.provider "cloudflare" }}
env:
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: {{ include "api-platform.fullname" . }}-external-dns
key: cloudflare-api-token
{{- end }}
resources:
{{- toYaml $externalDns.resources | nindent 10 }}
securityContext:
fsGroup: 65534
runAsNonRoot: true
runAsUser: 65534
---
{{- if $externalDns.rbac.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "api-platform.fullname" . }}-external-dns
labels:
app.kubernetes.io/name: external-dns
{{- include "api-platform.labels" . | nindent 4 }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "api-platform.fullname" . }}-external-dns
labels:
app.kubernetes.io/name: external-dns
{{- include "api-platform.labels" . | nindent 4 }}
rules:
- apiGroups: [""]
resources: ["services","endpoints","pods"]
verbs: ["get","watch","list"]
- apiGroups: ["extensions","networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get","watch","list"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list","watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "api-platform.fullname" . }}-external-dns
labels:
app.kubernetes.io/name: external-dns
{{- include "api-platform.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "api-platform.fullname" . }}-external-dns
subjects:
- kind: ServiceAccount
name: {{ include "api-platform.fullname" . }}-external-dns
namespace: {{ .Release.Namespace }}
{{- end }}
---
{{- if and (eq $externalDns.provider "cloudflare") $externalDns.cloudflare.apiToken }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "api-platform.fullname" . }}-external-dns
labels:
app.kubernetes.io/name: external-dns
{{- include "api-platform.labels" . | nindent 4 }}
type: Opaque
data:
cloudflare-api-token: {{ $externalDns.cloudflare.apiToken | b64enc }}
{{- end }}
{{- end }}
4 changes: 2 additions & 2 deletions helm/api-platform/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,12 @@ spec:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
{{ $service := default dict $backend.service }}
service:
name: {{ template "common.names.fullname" $.Subcharts.keycloak }}
name: {{ $service.name | default (printf "%s-keycloak" $fullName) }}
{{ $port := default dict $service.port }}
port:
number: {{ $port.number | default $svcPort }}
{{- else }}
serviceName: {{ template "common.names.fullname" $.Subcharts.keycloak }}
serviceName: {{ $backend.serviceName | default (printf "%s-keycloak" $fullName) }}
servicePort: {{ $backend.servicePort | default $svcPort }}
{{- end }}
{{- end }}
Expand Down
22 changes: 13 additions & 9 deletions helm/api-platform/templates/keycloak-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,19 +126,23 @@ spec:
secretKeyRef:
name: {{ include "api-platform.fullname" . }}
key: keycloak-database-password
{{- toYaml .Values.keycloak.postgresql.extraEnvVars | nindent 12 }}
{{- with .Values.keycloak.postgresql.extraEnvVars }}
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- name: main
- name: postgresql
containerPort: 5432
protocol: UDP
protocol: TCP
livenessProbe:
httpGet:
path: /
port: main
tcpSocket:
port: postgresql
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /
port: main
tcpSocket:
port: postgresql
initialDelaySeconds: 5
periodSeconds: 10
resources:
{{- toYaml .Values.keycloak.postgresql.resources | nindent 12 }}
{{- end }}
Expand Down
17 changes: 17 additions & 0 deletions helm/api-platform/templates/keycloak-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{- if .Values.keycloak.enabled -}}
apiVersion: v1
kind: Service
metadata:
name: {{ include "api-platform.fullname" . }}-keycloak
labels:
{{- include "api-platform.labelsKeycloak" . | nindent 4 }}
spec:
type: {{ .Values.keycloak.service.type }}
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
{{- include "api-platform.selectorLabelsKeycloak" . | nindent 4 }}
{{- end }}
4 changes: 3 additions & 1 deletion helm/api-platform/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,9 @@ keycloak:
external-dns:
enabled: true
image:
repository: bitnamilegacy/external-dns
repository: registry.k8s.io/external-dns/external-dns
tag: v0.15.0
pullPolicy: IfNotPresent
resources:
requests:
memory: 50Mi
Expand Down
Loading