|
2 | 2 | apiVersion: kuttl.dev/v1beta1 |
3 | 3 | kind: TestStep |
4 | 4 | commands: |
5 | | - - script: | |
6 | | - kubectl apply -n $NAMESPACE -f - <<EOF |
7 | | - --- |
8 | | - apiVersion: secrets.stackable.tech/v1alpha1 |
9 | | - kind: SecretClass |
10 | | - metadata: |
11 | | - name: ldap-tls-test-$NAMESPACE |
12 | | - spec: |
13 | | - backend: |
14 | | - autoTls: |
15 | | - ca: |
16 | | - autoGenerate: true |
17 | | - secret: |
18 | | - name: ldap-tls-test-ca |
19 | | - namespace: $NAMESPACE |
20 | | - --- |
21 | | - apiVersion: secrets.stackable.tech/v1alpha1 |
22 | | - kind: SecretClass |
23 | | - metadata: |
24 | | - name: ldap-bind-test-$NAMESPACE |
25 | | - spec: |
26 | | - backend: |
27 | | - k8sSearch: |
28 | | - searchNamespace: |
29 | | - pod: {} |
30 | | - --- |
31 | | - apiVersion: apps/v1 |
32 | | - kind: StatefulSet |
33 | | - metadata: |
34 | | - name: test-openldap |
35 | | - labels: |
36 | | - app.kubernetes.io/name: test-openldap |
37 | | - spec: |
38 | | - selector: |
39 | | - matchLabels: |
40 | | - app.kubernetes.io/name: test-openldap |
41 | | - serviceName: test-openldap |
42 | | - replicas: 1 |
43 | | - template: |
44 | | - metadata: |
45 | | - labels: |
46 | | - app.kubernetes.io/name: test-openldap |
47 | | - spec: |
48 | | - containers: |
49 | | - - name: openldap |
50 | | - image: docker.io/bitnamilegacy/openldap:2.6 |
51 | | - env: |
52 | | - - name: LDAP_ADMIN_USERNAME |
53 | | - value: ldapadmin |
54 | | - - name: LDAP_ADMIN_PASSWORD |
55 | | - value: ldapadminpassword |
56 | | - - name: LDAP_USERS |
57 | | - value: alice,bob |
58 | | - - name: LDAP_PASSWORDS |
59 | | - value: alice,bob |
60 | | - - name: LDAP_ALLOW_ANON_BINDING |
61 | | - value: "no" |
62 | | - - name: LDAP_ENABLE_TLS |
63 | | - value: "yes" |
64 | | - - name: LDAP_TLS_CERT_FILE |
65 | | - value: /tls/tls.crt |
66 | | - - name: LDAP_TLS_KEY_FILE |
67 | | - value: /tls/tls.key |
68 | | - - name: LDAP_TLS_CA_FILE |
69 | | - value: /tls/ca.crt |
70 | | - ports: |
71 | | - - name: ldap |
72 | | - containerPort: 1389 |
73 | | - - name: tls-ldap |
74 | | - containerPort: 1636 |
75 | | - volumeMounts: |
76 | | - - name: tls |
77 | | - mountPath: /tls |
78 | | - - name: ldif-data |
79 | | - mountPath: /tmp/ldifs |
80 | | - resources: |
81 | | - requests: |
82 | | - memory: "256Mi" |
83 | | - cpu: "100m" |
84 | | - limits: |
85 | | - memory: "256Mi" |
86 | | - cpu: "500m" |
87 | | - startupProbe: |
88 | | - tcpSocket: |
89 | | - port: 1389 |
90 | | - readinessProbe: |
91 | | - tcpSocket: |
92 | | - port: 1389 |
93 | | - volumes: |
94 | | - - name: ldif-data |
95 | | - configMap: |
96 | | - name: openldap-ldif-data |
97 | | - - name: tls |
98 | | - ephemeral: |
99 | | - volumeClaimTemplate: |
100 | | - metadata: |
101 | | - annotations: |
102 | | - secrets.stackable.tech/class: ldap-tls-test-$NAMESPACE |
103 | | - secrets.stackable.tech/scope: pod |
104 | | - spec: |
105 | | - storageClassName: secrets.stackable.tech |
106 | | - accessModes: |
107 | | - - ReadWriteOnce |
108 | | - resources: |
109 | | - requests: |
110 | | - storage: "1" |
111 | | -
|
112 | | - --- |
113 | | - apiVersion: v1 |
114 | | - kind: Secret |
115 | | - metadata: |
116 | | - name: openldap-bind-credentials |
117 | | - labels: |
118 | | - secrets.stackable.tech/class: ldap-bind-test-$NAMESPACE |
119 | | - stringData: |
120 | | - user: cn=ldapadmin,dc=example,dc=org |
121 | | - password: ldapadminpassword |
122 | | - EOF |
123 | | ---- |
124 | | -apiVersion: v1 |
125 | | -kind: ConfigMap |
126 | | -metadata: |
127 | | - name: openldap-ldif-data |
128 | | -data: |
129 | | - add-groups.ldif: | |
130 | | - dn: ou=posixgroups,dc=example,dc=org |
131 | | - objectClass: organizationalUnit |
132 | | - ou: posixgroups |
133 | | -
|
134 | | - # Create groupOfNames groups (DN-based membership) |
135 | | - dn: cn=admins,ou=groups,dc=example,dc=org |
136 | | - objectClass: groupOfNames |
137 | | - cn: admins |
138 | | - member: cn=alice,ou=users,dc=example,dc=org |
139 | | -
|
140 | | - dn: cn=developers,ou=groups,dc=example,dc=org |
141 | | - objectClass: groupOfNames |
142 | | - cn: developers |
143 | | - member: cn=alice,ou=users,dc=example,dc=org |
144 | | - member: cn=bob,ou=users,dc=example,dc=org |
145 | | -
|
146 | | - # Create posixGroup groups (username-based membership) |
147 | | - dn: cn=posix-admins,ou=posixgroups,dc=example,dc=org |
148 | | - objectClass: posixGroup |
149 | | - cn: posix-admins |
150 | | - gidNumber: 5001 |
151 | | - memberUid: alice |
152 | | -
|
153 | | - dn: cn=posix-developers,ou=posixgroups,dc=example,dc=org |
154 | | - objectClass: posixGroup |
155 | | - cn: posix-developers |
156 | | - gidNumber: 5002 |
157 | | - memberUid: alice |
158 | | - memberUid: bob |
159 | | ---- |
160 | | -apiVersion: v1 |
161 | | -kind: Service |
162 | | -metadata: |
163 | | - name: test-openldap |
164 | | - labels: |
165 | | - app.kubernetes.io/name: test-openldap |
166 | | -spec: |
167 | | - type: ClusterIP |
168 | | - ports: |
169 | | - - name: ldap |
170 | | - port: 1389 |
171 | | - targetPort: ldap |
172 | | - - name: tls-ldap |
173 | | - port: 1636 |
174 | | - targetPort: tls-ldap |
175 | | - selector: |
176 | | - app.kubernetes.io/name: test-openldap |
| 5 | + # We need to replace $NAMESPACE (by KUTTL) in the install-openldap.yaml |
| 6 | + - script: eval "echo \"$(cat install-openldap.yaml)\"" | kubectl apply -f - |
0 commit comments