github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/openldap/templates/clusterdefinition.yaml (about)

     1  apiVersion: apps.kubeblocks.io/v1alpha1
     2  kind: ClusterDefinition
     3  metadata:
     4    name: openldap
     5    labels:
     6      {{- include "openldap.labels" . | nindent 4 }}
     7  spec:
     8    connectionCredential:
     9      endpoint: "$(SVC_FQDN):$(SVC_PORT_ldap)"
    10      host: "$(SVC_FQDN)"
    11      port: "$(SVC_PORT_ldap)"
    12    componentDefs:
    13      - name: openldap-compdef
    14        characterType: openldap
    15        workloadType: Stateful
    16        service:
    17          ports:
    18            - name: ldap
    19              port: {{ .Values.service.port }}
    20              targetPort: ldap
    21        podSpec:
    22          containers:
    23            - name: openldap-container
    24              imagePullPolicy: IfNotPresent
    25              volumeMounts:
    26                - mountPath: /var/lib/ldap
    27                  name: data
    28                  subPath: ldap-data
    29                - mountPath: /etc/ldap/slapd.d
    30                  name: data
    31                  subPath: ldap-config
    32              ports:
    33                - containerPort: 389
    34                  name: ldap
    35              lifecycle:
    36                postStart:
    37                  exec:
    38                    command:
    39                      - bin/sh
    40                      - -c
    41                      - |
    42                        if [ $KB_REPLICA_COUNT -gt 1 ]; then
    43                          export LDAP_REPLICATION_CONFIG_SYNCPROV="binddn=\"cn=admin,cn=config\" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase=\"cn=config\" type=refreshAndPersist retry=\"60 +\" timeout=1"
    44                          export LDAP_REPLICATION_DB_SYNCPROV="binddn=\"cn=admin,$LDAP_BASE_DN\" bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase=\"$LDAP_BASE_DN\" type=refreshAndPersist interval=01:00:00:10 retry=\"60 +\" timeout=1"
    45                          export LDAP_REPLICATION_HOSTS="#PYTHON2BASH:['ldap://${KB_CLUSTER_NAME}-${KB_COMP_NAME}-0.${KB_CLUSTER_NAME}-${KB_COMP_NAME}-headless', 'ldap://${KB_CLUSTER_NAME}-.${KB_COMP_NAME}-1.${KB_CLUSTER_NAME}-${KB_COMP_NAME}-headless']"
    46                        fi
    47              env:
    48                - name: LDAP_ORGANISATION
    49                  value: "{{ .Values.ldap.organisation }}"
    50                - name: LDAP_DOMAIN
    51                  value: "{{ .Values.ldap.domain }}"
    52                - name: LDAP_CONFIG_PASSWORD
    53                  value: "{{ .Values.ldap.adminPassword }}"
    54                - name: LDAP_ADMIN_PASSWORD
    55                  value: "{{ .Values.ldap.adminPassword }}"
    56                - name: LDAP_REPLICATION
    57                  value: "{{ .Values.ldap.replication }}"
    58                - name: LDAP_TLS
    59                  value: "false"
    60                - name: LDAP_REMOVE_CONFIG_AFTER_SETUP
    61                  value: "false"
    62                - name: MY_POD_NAME
    63                  valueFrom:
    64                    fieldRef:
    65                      fieldPath: metadata.name