apiVersion: v1 kind: ConfigMap metadata: name: config namespace: openldap data: # file-like keys config.php: | custom->commands['cmd'] = array( 'entry_internal_attributes_show' => true, 'entry_refresh' => true, 'oslinks' => true, 'switch_template' => true ); $config->custom->commands['script'] = array( 'add_attr_form' => true, 'add_oclass_form' => true, 'add_value_form' => true, 'collapse' => true, 'compare' => true, 'compare_form' => true, 'copy' => true, 'copy_form' => true, 'create' => true, 'create_confirm' => true, 'delete' => true, 'delete_attr' => true, 'delete_form' => true, 'draw_tree_node' => true, 'expand' => true, 'export' => true, 'export_form' => true, 'import' => true, 'import_form' => true, 'login' => true, 'logout' => true, 'login_form' => true, 'mass_delete' => true, 'mass_edit' => true, 'mass_update' => true, 'modify_member_form' => true, 'monitor' => true, 'purge_cache' => true, 'query_engine' => true, 'rename' => true, 'rename_form' => true, 'rdelete' => true, 'refresh' => true, 'schema' => true, 'server_info' => true, 'show_cache' => true, 'template_engine' => true, 'update_confirm' => true, 'update' => true ); $servers = new Datastore(); $servers->newServer('ldap_pla'); $servers->setValue('server','name','ldap.undercloud.local(config) - notls'); $servers->setValue('server','host','ldap.undercloud.local.'); $servers->setValue('server','tls',false); $servers->setValue('login','bind_id','cn=admin,dc=config'); //$servers->setValue('server','port',389); $servers->setValue('server','base',array('cn=config','dc=cn=undercloud,cn=cf')); $servers->newServer('ldap_pla'); $servers->setValue('server','name','ldap.undercloud.local - notls'); $servers->setValue('server','host','ldap.undercloud.local.'); $servers->setValue('server','tls',false); $servers->setValue('login','bind_id','cn=admin,dc=undercloud,dc=local'); //$servers->setValue('server','port',389); //$servers->setValue('server','base',array('dc=undercloud,dc=local')); $servers->newServer('ldap_pla'); $servers->setValue('server','name','ldap.undercloud.local - StartTLS'); $servers->setValue('server','host','ldap://ldap.undercloud.local'); $servers->setValue('server','port',389); $servers->setValue('server','tls',true); $servers->setValue('login','bind_id','cn=admin,dc=undercloud,dc=local'); $servers->newServer('ldap_pla'); $servers->setValue('server','name','ldap.undercloud.local:636 - LDAPS'); $servers->setValue('server','host','ldaps://ldap.undercloud.local:636'); #$servers->setValue('server','tls',true); $servers->setValue('login','bind_id','cn=admin,dc=undercloud,dc=local'); $servers->setValue('server','port',0); --- apiVersion: apps/v1 kind: Deployment metadata: name: phpldapadmin namespace: openldap labels: app: phpldapadmin spec: replicas: 1 selector: matchLabels: app: phpldapadmin template: metadata: labels: app: phpldapadmin spec: dnsConfig: options: - name: ndots value: "1" #securityContext: # runAsUser: 1000 # runAsGroup: 1000 # fsGroup: 1000 initContainers: - name: copy-assets image: osixia/phpldapadmin:0.9.0 imagePullPolicy: IfNotPresent command: ['sh', '-c', "cp -f /config.php /container/service/phpldapadmin/assets/config"] volumeMounts: - mountPath: /config.php name: config subPath: config.php - mountPath: /container/service/phpldapadmin/assets/config name: config-dir containers: - name: phpldapadmin image: osixia/phpldapadmin:0.9.0 imagePullPolicy: IfNotPresent #securityContext: # privileged: true ports: - containerPort: 80 protocol: TCP args: - "--copy-service" env: #- name: DNSMASQ_USER # value: root #- name: PHPLDAPADMIN_LDAP_HOSTS # value: "#PYTHON2BASH:[{'ldap.openldap.svc.k8aux.undercloud.local.': [{'server': [{'tls': False}]},{'login': [{'bind_id': 'cn=admin,dc=undercloud,dc=local'}]}]}]" - name: PHPLDAPADMIN_TRUST_PROXY_SSL value: "true" - name: PHPLDAPADMIN_HTTPS value: "false" - name: PHPLDAPADMIN_LDAP_CLIENT_TLS value: "true" - name: PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT value: demand - name: PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME #/container/service/ldap-client/assets/certs/$PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME. value: ldap-ca.crt - name: PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME value: ldap-client.crt - name: PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME value: ldap-client.key volumeMounts: - mountPath: /container/service/phpldapadmin/assets/config name: config-dir - name: root-ca mountPath: "/container/service/ldap-client/assets/certs/ldap-ca.crt" subPath: trust-bundle.pem - name: phpldapadmin-tls mountPath: "/container/service/ldap-client/assets/certs/ldap-client.crt" subPath: tls.crt - name: phpldapadmin-tls mountPath: "/container/service/ldap-client/assets/certs/ldap-client.key" subPath: tls.key volumes: - name: config configMap: name: config defaultMode: 0777 items: - key: "config.php" path: "config.php" - name: config-dir emptyDir: sizeLimit: 16Mi - name: root-ca configMap: name: undercloud-ca-bundle items: - key: trust-bundle.pem path: trust-bundle.pem - name: phpldapadmin-tls secret: secretName: phpldapadmin-tls --- apiVersion: v1 kind: Service metadata: name: phpldapadmin namespace: openldap spec: ipFamilies: - IPv6 - IPv4 ipFamilyPolicy: PreferDualStack #ipFamilyPolicy: SingleStack ports: - name: http port: 80 protocol: TCP targetPort: 80 selector: app: phpldapadmin #sessionAffinity: None type: ClusterIP