Skip to content

Commit d008b10

Browse files
authored
fix(HP_SHARED_KEY_FILE): always resolve HP_SHARED_KEY var upon restart (#56)
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
1 parent 951b1ef commit d008b10

File tree

1 file changed

+24
-26
lines changed

1 file changed

+24
-26
lines changed

start.sh

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,30 @@ wait_for_http() {
7070
done
7171
}
7272

73+
# ----------------------------------------------------------------------------
74+
# Resolve HP_SHARED_KEY once for the whole process (env or file)
75+
# ----------------------------------------------------------------------------
76+
if [ -n "$HP_SHARED_KEY" ] && [ -n "$HP_SHARED_KEY_FILE" ]; then
77+
echo "ERROR: Only one of HP_SHARED_KEY or HP_SHARED_KEY_FILE should be specified."
78+
exit 1
79+
fi
80+
if [ -z "$HP_SHARED_KEY" ] && [ -n "$HP_SHARED_KEY_FILE" ]; then
81+
if [ ! -f "$HP_SHARED_KEY_FILE" ]; then
82+
echo "ERROR: HP_SHARED_KEY_FILE is specified but the file does not exist."
83+
exit 1
84+
fi
85+
if [ ! -s "$HP_SHARED_KEY_FILE" ]; then
86+
echo "ERROR: HP_SHARED_KEY_FILE is specified but is empty."
87+
exit 1
88+
fi
89+
HP_SHARED_KEY="$(cat "$HP_SHARED_KEY_FILE")"
90+
fi
91+
if [ -z "$HP_SHARED_KEY" ]; then
92+
echo "ERROR: Either HP_SHARED_KEY or HP_SHARED_KEY_FILE must be set."
93+
exit 1
94+
fi
95+
export HP_SHARED_KEY
96+
7397
# Check if the required environment variables are set
7498
if [ -z "$HP_FRP_ADDRESS" ]; then
7599
echo "ERROR: HP_FRP_ADDRESS is not set."
@@ -188,32 +212,6 @@ if [ -f "/haproxy.cfg" ]; then
188212
else
189213
log "INFO: Creating /haproxy.cfg from haproxy.cfg.template..."
190214

191-
if [ -n "$HP_SHARED_KEY_FILE" ] && [ ! -f "$HP_SHARED_KEY_FILE" ]; then
192-
echo "ERROR: HP_SHARED_KEY_FILE is specified but the file does not exist."
193-
exit 1
194-
fi
195-
196-
if [ -n "$HP_SHARED_KEY" ] && [ -n "$HP_SHARED_KEY_FILE" ]; then
197-
echo "ERROR: Only one of HP_SHARED_KEY or HP_SHARED_KEY_FILE should be specified."
198-
exit 1
199-
fi
200-
201-
if [ -n "$HP_SHARED_KEY_FILE" ]; then
202-
if [ -s "$HP_SHARED_KEY_FILE" ]; then
203-
HP_SHARED_KEY="$(cat "$HP_SHARED_KEY_FILE")"
204-
else
205-
echo "ERROR: HP_SHARED_KEY_FILE is specified but is empty."
206-
exit 1
207-
fi
208-
elif [ -n "$HP_SHARED_KEY" ]; then
209-
HP_SHARED_KEY="${HP_SHARED_KEY}"
210-
else
211-
echo "ERROR: Either HP_SHARED_KEY_FILE or HP_SHARED_KEY must be set."
212-
exit 1
213-
fi
214-
215-
export HP_SHARED_KEY
216-
217215
# Use envsubst to render the main configuration.
218216
envsubst < /haproxy.cfg.template > /haproxy.cfg
219217

0 commit comments

Comments
 (0)