Skip to content

Commit 055b258

Browse files
authored
fix: smoke/ldap tests on openshift (#800)
1 parent 9f41c3d commit 055b258

4 files changed

Lines changed: 222 additions & 176 deletions

File tree

tests/templates/kuttl/openldap-user-info/10-assert.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,11 @@
22
apiVersion: kuttl.dev/v1beta1
33
kind: TestAssert
44
timeout: 300
5-
commands:
6-
- script: kubectl wait --for=condition=ready pod/test-openldap-0 -n $NAMESPACE --timeout=300s
5+
---
6+
apiVersion: apps/v1
7+
kind: StatefulSet
8+
metadata:
9+
name: test-openldap
10+
status:
11+
readyReplicas: 1
12+
replicas: 1

tests/templates/kuttl/openldap-user-info/10-install-openldap.yaml

Lines changed: 2 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -2,175 +2,5 @@
22
apiVersion: kuttl.dev/v1beta1
33
kind: TestStep
44
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

Comments
 (0)