3 if [ "$1" = "cleanup" ]
5 docker-compose -f docker/docker-compose.yml down -t0 -v --remove-orphans
9 ( cd docker; ./README.sh )
11 docker-compose -f docker/docker-compose.yml up --remove-orphans setup || exit 1
12 docker-compose -f docker/docker-compose.yml ps
14 docker-compose -f docker/docker-compose.yml exec cli kafka-configs \
15 --zookeeper zookeeper:2181 \
17 --add-config 'SCRAM-SHA-512=[password=schemaregistry-secret]' \
19 --entity-name schemaregistry
20 docker-compose -f docker/docker-compose.yml exec cli kafka-configs \
21 --zookeeper zookeeper:2181 \
23 --add-config 'SCRAM-SHA-512=[password=connect-secret]' \
26 docker-compose -f docker/docker-compose.yml exec cli kafka-configs \
27 --zookeeper zookeeper:2181 \
29 --add-config 'SCRAM-SHA-512=[password=ui-secret]' \
32 docker-compose -f docker/docker-compose.yml exec cli kafka-configs \
33 --zookeeper zookeeper:2181 \
35 --add-config 'SCRAM-SHA-512=[password=client-secret]' \
39 # Nicht nötig, da `super.users=User:ANONYMOUS` gesetzt wurde
40 # Ohne diesen Eintrag wären diverse ACLs nötig, bevor BROKER funktioniert!
41 # docker-compose exec cli kafka-acls --authorizer-properties zookeeper.connect=zookeeper zookeeper:2181 --add --allow-principal User:ANONYMOUS --operation ALL --topic __CruiseControlMetrics --group=*
44 docker-compose -f docker/docker-compose.yml exec cli kafka-acls \
45 --authorizer-properties zookeeper.connect=zookeeper \
47 --allow-principal User:schemaregistry \
49 --consumer --group=schema-registry \
51 docker-compose -f docker/docker-compose.yml exec cli kafka-acls \
52 --authorizer-properties zookeeper.connect=zookeeper \
54 --allow-principal User:schemaregistry \
56 --operation=DescribeConfigs
58 kafkacat -L -b :9092 -Xsecurity.protocol=sasl_plaintext -Xsasl.mechanisms=SCRAM-SHA-512 -Xsasl.username=client -Xsasl.password=client-secret
60 docker-compose -f docker/docker-compose.yml up -d schema-registry
61 while [[ ! $(http :8085/subjects 2> /dev/null) ]]; do echo Waiting for schema-registry; sleep 1; done
62 cat user-v1.schema|http POST http://localhost:8085/subjects/user/versions "Content-Type:application/vnd.schemaregistry.v1+json"
63 http GET http://0:8085/subjects/user/versions/1/schema
66 docker-compose -f docker/docker-compose.yml exec cli kafka-acls \
67 --authorizer-properties zookeeper.connect=zookeeper \
69 --allow-principal User:connect \
71 --resource-pattern-type prefixed \
72 --consumer --group=kafka-connect \
74 while [[ ! $(http :8083/connectors 2> /dev/null) ]]; do echo Waiting for schema-registry; sleep 1; done
76 # BEACHTE: Der Wildcard * benötigt den Matching-Typ LITERAL
77 # BEACHTE: Die * müssen vor der Bash geschützt werden
78 docker-compose -f docker/docker-compose.yml exec cli kafka-acls \
79 --authorizer-properties zookeeper.connect=zookeeper \
81 --allow-principal User:ui \
85 --transactional-id '*'