Skip to content
Merged
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
12 changes: 8 additions & 4 deletions Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: ldap-stack
description: OpenLDAP + phpLDAPadmin + Keycloak stack for centralized identity management with SSO support
type: application
version: 1.4.0
version: 1.4.1
appVersion: "2.6.1"
annotations:
artifacthub.io/signKey: |
Expand All @@ -21,11 +21,11 @@ annotations:
- name: openldap
image: startcodex/openldap:2.1.0
- name: phpldapadmin
image: phpldapadmin/phpldapadmin:latest
image: phpldapadmin/phpldapadmin:2.3.9
- name: keycloak
image: quay.io/keycloak/keycloak:latest
image: quay.io/keycloak/keycloak:26.6.0
- name: ldap-sync-google
image: startcodex/ldap-sync-google:latest
image: startcodex/ldap-sync-google:0.3.0
artifacthub.io/containsSecurityUpdates: "true"
artifacthub.io/prerelease: "false"
artifacthub.io/changes: |
Expand All @@ -37,6 +37,10 @@ annotations:
description: Eliminate 122 critical CVEs by replacing abandoned phpldapadmin image
- kind: security
description: Patch OpenSSL, MariaDB, glibc, BIND CVEs in openldap image
- kind: fixed
description: "phpLDAPadmin now auto-configures LDAP connection, base DN, and admin login"
- kind: added
description: "phpLDAPadmin supports extraEnv, ldap.loginAttr, and ldap.alertRootDN configuration"
keywords:
- ldap
- openldap
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,11 @@ helm install ldap ldap-stack/ldap-stack \
| Parameter | Description | Default |
|-----------|-------------|---------|
| `phpldapadmin.enabled` | Enable phpLDAPadmin | `true` |
| `phpldapadmin.image.repository` | Image repository | `phpldapadmin/phpldapadmin` |
| `phpldapadmin.image.tag` | Image tag | `latest` |
| `phpldapadmin.ldap.loginAttr` | Login attribute (`DN` for full DN, `uid` for username) | `DN` |
| `phpldapadmin.ldap.alertRootDN` | Block rootdn login | `false` |
| `phpldapadmin.extraEnv` | Extra environment variables | `[]` |
| `phpldapadmin.service.type` | Service type | `ClusterIP` |
| `phpldapadmin.service.port` | Service port | `8080` |
| `phpldapadmin.ingress.enabled` | Enable Ingress | `false` |
Expand Down
20 changes: 18 additions & 2 deletions templates/phpldapadmin-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,28 @@ spec:
containerPort: 8080
protocol: TCP
env:
- name: APP_KEY
value: "base64:{{ randAlphaNum 32 | b64enc }}"
- name: LDAP_HOST
value: {{ include "ldap-stack.openldap.fullname" . }}
- name: LDAP_PORT
value: "389"
- name: APP_KEY
value: "base64:{{ randAlphaNum 32 | b64enc }}"
- name: LDAP_BASE_DN
value: {{ include "ldap-stack.openldap.baseDN" . | quote }}
- name: LDAP_USERNAME
value: {{ include "ldap-stack.openldap.adminDN" . | quote }}
- name: LDAP_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "ldap-stack.openldap.secretName" . }}
key: {{ .Values.openldap.secretKeys.adminPassword | default "admin-password" }}
- name: LDAP_LOGIN_ATTR
value: {{ .Values.phpldapadmin.ldap.loginAttr | default "DN" | quote }}
- name: LDAP_ALERT_ROOTDN
value: {{ .Values.phpldapadmin.ldap.alertRootDN | default "false" | quote }}
{{- with .Values.phpldapadmin.extraEnv }}
{{- toYaml . | nindent 12 }}
{{- end }}
livenessProbe:
httpGet:
path: /
Expand Down
16 changes: 13 additions & 3 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,19 @@ phpldapadmin:

image:
repository: phpldapadmin/phpldapadmin
tag: "latest"
tag: "2.3.9"
pullPolicy: IfNotPresent

# LDAP login configuration
ldap:
# Login attribute: "DN" for full DN login, or "uid" for username login
loginAttr: "DN"
# Allow rootdn login (set to "false" to allow admin DN login)
alertRootDN: "false"

# Extra environment variables
extraEnv: []

# Service configuration
service:
type: ClusterIP # ClusterIP, NodePort, LoadBalancer
Expand Down Expand Up @@ -194,7 +204,7 @@ keycloak:

image:
repository: quay.io/keycloak/keycloak
tag: "latest"
tag: "26.6.0"
pullPolicy: IfNotPresent

# Keycloak admin credentials (REQUIRED)
Expand Down Expand Up @@ -399,7 +409,7 @@ googleSync:

image:
repository: startcodex/ldap-sync-google
tag: "latest"
tag: "0.3.0"
pullPolicy: IfNotPresent

# Sync interval (e.g., 1h, 30m, 2h30m). Set to "0" for single run (use with CronJob)
Expand Down
Loading