4848
4949# Block producer key defaults -- only relevant when CARDANO_BLOCK_PRODUCER=true
5050if [[ $CARDANO_BLOCK_PRODUCER == true ]]; then
51- if [[ -z ${CARDANO_SHELLEY_KES_KEY:- } ]]; then
51+ # Only default the KES key when not using a KES agent socket
52+ if [[ -z ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } && -z ${CARDANO_SHELLEY_KES_KEY:- } ]]; then
5253 CARDANO_SHELLEY_KES_KEY=" $CARDANO_CONFIG_BASE /keys/kes.skey"
5354 fi
5455
@@ -81,7 +82,11 @@ printRunEnv () {
8182 [[ -n ${CARDANO_TRACER_SOCKET_PATH_CONNECT:- } ]] && echo " CARDANO_TRACER_SOCKET_PATH_CONNECT=$CARDANO_TRACER_SOCKET_PATH_CONNECT "
8283
8384 if [[ ${CARDANO_BLOCK_PRODUCER} == true ]]; then
84- echo " CARDANO_SHELLEY_KES_KEY=$CARDANO_SHELLEY_KES_KEY "
85+ if [[ -n ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } ]]; then
86+ echo " CARDANO_SHELLEY_KES_AGENT_SOCKET=$CARDANO_SHELLEY_KES_AGENT_SOCKET "
87+ else
88+ echo " CARDANO_SHELLEY_KES_KEY=$CARDANO_SHELLEY_KES_KEY "
89+ fi
8590 echo " CARDANO_SHELLEY_VRF_KEY=$CARDANO_SHELLEY_VRF_KEY "
8691 echo " CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE=$CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE "
8792 fi
@@ -99,7 +104,10 @@ cat << EOF > /usr/local/bin/env
99104# Docker run ENV vars
100105EOF
101106
102- # TODO-SRE: Add kes-agent CLI arg once available
107+ if [[ -n ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } ]]; then
108+ echo " CARDANO_SHELLEY_KES_AGENT_SOCKET=\" $CARDANO_SHELLEY_KES_AGENT_SOCKET \" " \
109+ >> /usr/local/bin/env
110+ fi
103111
104112if [[ -n ${CARDANO_TRACER_SOCKET_NETWORK_ACCEPT:- } ]]; then
105113 echo " CARDANO_TRACER_SOCKET_NETWORK_ACCEPT=\" $CARDANO_TRACER_SOCKET_NETWORK_ACCEPT \" " \
@@ -163,13 +171,20 @@ runNode () {
163171 )
164172
165173 if [[ $CARDANO_BLOCK_PRODUCER == true ]]; then
174+ if [[ -n ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } ]]; then
175+ effopts+=(
176+ " --shelley-kes-agent-socket" " $CARDANO_SHELLEY_KES_AGENT_SOCKET "
177+ )
178+ else
179+ effopts+=(
180+ " --shelley-kes-key" " $CARDANO_SHELLEY_KES_KEY "
181+ )
182+ fi
166183 effopts+=(
167- " --shelley-kes-key" " $CARDANO_SHELLEY_KES_KEY "
168184 " --shelley-vrf-key" " $CARDANO_SHELLEY_VRF_KEY "
169185 " --shelley-operational-certificate" " $CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE "
170186 )
171187 fi
172-
173188 [[ -n ${CARDANO_TRACER_SOCKET_NETWORK_ACCEPT:- } ]] && effopts+=(" --tracer-socket-network-accept" " $CARDANO_TRACER_SOCKET_NETWORK_ACCEPT " )
174189 [[ -n ${CARDANO_TRACER_SOCKET_NETWORK_CONNECT:- } ]] && effopts+=(" --tracer-socket-network-connect" " $CARDANO_TRACER_SOCKET_NETWORK_CONNECT " )
175190 [[ -n ${CARDANO_TRACER_SOCKET_PATH_ACCEPT:- } ]] && effopts+=(" --tracer-socket-path-accept" " $CARDANO_TRACER_SOCKET_PATH_ACCEPT " )
203218 --socket-path) CARDANO_SOCKET_PATH=${val} ; found=true;;
204219 --host-addr) CARDANO_BIND_ADDR=${val} ; found=true;;
205220 --port) CARDANO_PORT=${val} ; found=true;;
221+ --shelley-kes-agent-socket) CARDANO_SHELLEY_KES_AGENT_SOCKET=${val} ; found=true;;
206222 --shelley-kes-key) CARDANO_SHELLEY_KES_KEY=${val} ; found=true;;
207223 --shelley-vrf-key) CARDANO_SHELLEY_VRF_KEY=${val} ; found=true;;
208224 --shelley-operational-certificate) CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE=${val} ; found=true;;
@@ -224,6 +240,11 @@ for arg in "${options[@]}"; do
224240 [[ -n $arg ]] && filteredOpts+=(" $arg " )
225241done
226242
243+ if [[ -n ${CARDANO_SHELLEY_KES_KEY:- } && -n ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } ]]; then
244+ echo " ERROR: CARDANO_SHELLEY_KES_KEY and CARDANO_SHELLEY_KES_AGENT_SOCKET are mutually exclusive; use one or the other, not both."
245+ exit 1
246+ fi
247+
227248printRunEnv
228249writeRootEnv
229250
@@ -232,7 +253,10 @@ for f in "$CARDANO_CONFIG" "$CARDANO_TOPOLOGY"; do
232253 [[ -f $f ]] || { echo " ERROR: required file not found: $f " ; exit 1; }
233254done
234255if [[ $CARDANO_BLOCK_PRODUCER == true ]]; then
235- for f in " $CARDANO_SHELLEY_KES_KEY " " $CARDANO_SHELLEY_VRF_KEY " " $CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE " ; do
256+ if [[ -z ${CARDANO_SHELLEY_KES_AGENT_SOCKET:- } ]]; then
257+ [[ -f $CARDANO_SHELLEY_KES_KEY ]] || { echo " ERROR: required block producer key file not found: $CARDANO_SHELLEY_KES_KEY " ; exit 1; }
258+ fi
259+ for f in " $CARDANO_SHELLEY_VRF_KEY " " $CARDANO_SHELLEY_OPERATIONAL_CERTIFICATE " ; do
236260 [[ -f $f ]] || { echo " ERROR: required block producer key file not found: $f " ; exit 1; }
237261 done
238262fi
0 commit comments