File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -e
3+
4+ export VAULT_ADDR=http://localhost:8200
5+ PLUGIN_NAME=" vault-plugin-secrets-kafka"
6+ MNT_PATH=" kafka"
7+
8+ echo " ---> Building"
9+ GOOS=linux GOARCH=amd64 go build -o " docker/plugins/$PLUGIN_NAME "
10+ SHASUM=$( shasum -a 256 " docker/plugins/$PLUGIN_NAME " | cut -d " " -f1)
11+
12+ echo " ---->Registering plugin"
13+ vault write sys/plugins/catalog/$PLUGIN_NAME \
14+ sha_256=" $SHASUM " \
15+ command=" $PLUGIN_NAME "
16+
17+ echo " Mouting plugin"
18+ vault secrets enable -path=$MNT_PATH -plugin-name=$PLUGIN_NAME plugin
Original file line number Diff line number Diff line change 11#! /usr/bin/env bash
2- set -e
2+ set -ex
33
44MNT_PATH=" kafka"
55PLUGIN_NAME=" vault-plugin-secrets-kafka"
@@ -45,8 +45,9 @@ function cleanup {
4545}
4646trap cleanup EXIT
4747
48+ echo " waaaaaaaaaaat"
4849echo " Authing"
49- vault auth root & > /dev/null
50+ # vault auth root
5051
5152echo " --> Building"
5253go build -o " $SCRATCH /plugins/$PLUGIN_NAME "
Original file line number Diff line number Diff line change 44export VAULT_ADDR=http://localhost:8200
55
66TTL=1000
7- ADMINNAME=" ConorAdmin "
7+ ADMINNAME=" VaultKafkaPlugin "
88DATA=$( vault write -format=json pki/issue/kafka-clients common_name=" $ADMINNAME " ttl=$TTL | jq -r .data)
99
1010echo " Hello $NAME "
Original file line number Diff line number Diff line change 1+ ---
2+ version : ' 2'
3+ services :
4+ vault :
5+ image : vault:1.3.0
6+ ports :
7+ - " 8200:8200"
8+ command : vault server -dev -config="/vault/vault.hcl"
9+ volumes :
10+ - ./docker:/vault
11+ environment :
12+ VAULT_DEV_ROOT_TOKEN_ID : " root"
13+ VAULT_DEV_LISTEN_ADDRESS : " 0.0.0.0:8200"
14+
15+ zookeeper :
16+ image : confluentinc/cp-zookeeper:latest
17+ ports :
18+ - " 2181:2181"
19+ environment :
20+ ZOOKEEPER_CLIENT_PORT : 2181
21+ ZOOKEEPER_TICK_TIME : 2000
22+ extra_hosts :
23+ - " moby:127.0.0.1"
24+
25+ kafka :
26+ image : confluentinc/cp-kafka:5.0.1
27+ ports :
28+ - " 9092:9092"
29+ depends_on :
30+ - zookeeper
31+ environment :
32+ KAFKA_BROKER_ID : 1
33+ KAFKA_ZOOKEEPER_CONNECT : zookeeper:2181
34+ KAFKA_ADVERTISED_LISTENERS : SSL://localhost:9092
35+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR : 1
36+
37+ KAFKA_SSL_KEYSTORE_FILENAME : kafka.broker0.keystore.jks
38+ KAFKA_SSL_TRUSTSTORE_FILENAME : kafka.broker0.truststore.jks
39+
40+ KAFKA_SSL_KEY_CREDENTIALS : broker0_sslkey_creds
41+
42+ KAFKA_SSL_KEYSTORE_CREDENTIALS : broker0_keystore_creds
43+ KAFKA_SSL_TRUSTSTORE_CREDENTIALS : broker0_truststore_creds
44+
45+ KAFKA_SECURITY_INTER_BROKER_PROTOCOL : SSL
46+ KAFKA_SSL_CLIENT_AUTH : required
47+ KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM : " "
48+ KAFKA_LISTENER_NAME_INTERNAL_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM :
49+ KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND : " false"
50+ KAFKA_AUTHORIZER_CLASS_NAME : kafka.security.auth.SimpleAclAuthorizer
51+ volumes :
52+ - ./tmp/secrets:/etc/kafka/secrets
53+ extra_hosts :
54+ - " moby:127.0.0.1"
Original file line number Diff line number Diff line change 1+ plugin_directory = " /vault/plugins"
Original file line number Diff line number Diff line change @@ -8,4 +8,4 @@ security.inter.broker.protocol=SSL
88ssl.endpoint.identification.algorithm=
99ssl.client.auth=required
1010authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
11- super.users=User:CN=ConorAdmin ;User:CN=broker0;
11+ super.users=User:CN=VaultKafkaPlugin ;User:CN=broker0;
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -e
3+
4+ export VAULT_ADDR=http://localhost:8200
5+
6+ echo " PKI Enable"
7+ vault secrets enable pki
8+ vault write pki/root/generate/internal common_name=kafka-cluster
9+ echo " Kafka role"
10+ vault write pki/roles/kafka-clients allow_any_name=true
11+ echo " ==> Ready!"
Original file line number Diff line number Diff line change 1+ #! /bin/bash
12set -e
3+
24export VAULT_ADDR=http://localhost:8200
35
46TTL=1000
@@ -48,4 +50,7 @@ keytool -importkeystore \
4850
4951rm ca.crt server.key server.crt server.p12
5052
53+ echo $PASSWORD > tmp/secrets/broker0_keystore_creds
54+ mv $OUTPUT_FILE tmp/secrets/kafka.broker0.keystore.jks
55+
5156echo " Done!"
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ NAME=${PARAM:-"unknown client"}
77DATA=$( vault write -format=json pki/issue/kafka-clients common_name=" $NAME " ttl=$TTL | jq -r .data)
88
99echo " Hello $NAME "
10- printf " %s" " $DATA " | jq -r .private_key > private.key
11- printf " %s" " $DATA " | jq -r .issuing_ca > ca.cert
12- printf " %s" " $DATA " | jq -r .certificate > client.cert
10+ printf " %s" " $DATA " | jq -r .private_key > sample-app/ private.key
11+ printf " %s" " $DATA " | jq -r .issuing_ca > sample-app/ ca.cert
12+ printf " %s" " $DATA " | jq -r .certificate > sample-app/ client.cert
1313echo " Done!"
Original file line number Diff line number Diff line change @@ -23,4 +23,5 @@ echo "Cleaning up"
2323set +e
2424rm issuing_ca.cer
2525set -e
26-
26+ echo $PASSWORD > tmp/secrets/broker0_truststore_creds
27+ mv $OUTPUT_FILE tmp/secrets/kafka.broker0.truststore.jks
You can’t perform that action at this time.
0 commit comments