forked from confluentinc/confluent-oauth-extensions
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.keycloak-integration.yaml
More file actions
99 lines (93 loc) · 3.17 KB
/
Copy pathcompose.keycloak-integration.yaml
File metadata and controls
99 lines (93 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
services:
k8s-issuer-proxy:
image: nginx:1.27-alpine
hostname: k8s-issuer-proxy
volumes:
- ./scripts/k8s-issuer-proxy.nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./build/keycloak-integration/proxy-tls:/etc/nginx/certs:ro
networks:
- kind
keycloak:
image: quay.io/keycloak/keycloak:26.5.5
hostname: keycloak
command:
- start-dev
- --hostname-strict=false
- --features=token-exchange,admin-fine-grained-authz:v1,client-auth-federated:v1,kubernetes-service-accounts:v1
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: admin
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
KC_HTTP_ENABLED: "true"
KC_LOG_LEVEL: INFO,org.keycloak.authentication.authenticators.client:TRACE,org.keycloak.broker.kubernetes:TRACE,org.keycloak.services:DEBUG
JAVA_OPTS_APPEND: -Djavax.net.ssl.trustStore=/opt/keycloak/conf/k8s-issuer-proxy/truststore.p12 -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=PKCS12
volumes:
- ./build/keycloak-integration/proxy-tls:/opt/keycloak/conf/k8s-issuer-proxy:ro
networks:
- kind
kafka:
image: apache/kafka:4.2.0
hostname: kafka
command:
- /bin/bash
- /workspace/scripts/start-keycloak-oauth-kafka.sh
environment:
KAFKA_CLUSTER_ID: ${KAFKA_CLUSTER_ID:-MkU3OEVBNTcwNTJENDM2Qg}
KAFKA_NODE_ID: "1"
KAFKA_KEYCLOAK_ISSUER: http://keycloak:8080/realms/kubernetes
KAFKA_KEYCLOAK_JWKS_ENDPOINT: http://keycloak:8080/realms/kubernetes/protocol/openid-connect/certs
volumes:
- .:/workspace:ro
- kafka-oauth-data:/var/lib/kafka/data
depends_on:
- keycloak
networks:
- kind
apache-kafka-oss-cli:
image: apache/kafka:4.2.0
working_dir: /workspace
environment:
TEST_JAR_NAME: ${TEST_JAR_NAME}
KAFKA_BOOTSTRAP_SERVER: kafka:9092
TOKEN_ENDPOINT_URL: http://keycloak:8080/realms/kubernetes/protocol/openid-connect/token
K8S_TOKEN_FILE: /workspace/build/keycloak-integration/k8s-token
KAFKA_TOPICS_BIN: /opt/kafka/bin/kafka-topics.sh
KAFKA_TEST_TOPIC: keycloak-oauth-e2e
KAFKA_TEST_ROLE: creator
volumes:
- .:/workspace:ro
entrypoint:
- /bin/bash
- /workspace/scripts/run-keycloak-oauth-cli.sh
depends_on:
- kafka
networks:
- kind
confluent-platform-cli:
image: confluentinc/cp-kafka:8.2.0
working_dir: /workspace
environment:
TEST_JAR_NAME: ${TEST_JAR_NAME}
KAFKA_BOOTSTRAP_SERVER: kafka:9092
TOKEN_ENDPOINT_URL: http://keycloak:8080/realms/kubernetes/protocol/openid-connect/token
K8S_TOKEN_FILE: /workspace/build/keycloak-integration/k8s-token
KAFKA_TOPICS_BIN: kafka-topics
KAFKA_TEST_TOPIC: keycloak-oauth-e2e
KAFKA_TEST_ROLE: verifier
volumes:
- .:/workspace:ro
#- ./build/libs/kafka-oauth-extensions-1.5-SNAPSHOT-all.jar:/usr/share/java/kafka/kafka-oauth-extensions-1.5-SNAPSHOT-all.jar
entrypoint:
- /bin/bash
# - -c
# - sleep infinity
- /workspace/scripts/run-keycloak-oauth-cli.sh
depends_on:
- kafka
networks:
- kind
networks:
kind:
external: true
name: kind
volumes:
kafka-oauth-data: