docker-entrypoint.sh34 lines · main
1#!/bin/sh
2set -e
3
4# Generate SHA1 base64 hash for Envoy basic auth user list
5PASSWORD_HASH=$(printf '%s' "${DASHBOARD_PASSWORD}" | openssl sha1 -binary | openssl base64)
6DASHBOARD_BASIC_AUTH="${DASHBOARD_USERNAME}:{SHA}${PASSWORD_HASH}"
7
8echo "Generating Envoy configuration..."
9
10# Process the lds.yaml template with environment variables using sed
11# Using | as delimiter since JWT tokens contain /
12sed -e "s|\${ANON_KEY}|${ANON_KEY}|g" \
13 -e "s|\${ANON_KEY_ASYMMETRIC}|${ANON_KEY_ASYMMETRIC}|g" \
14 -e "s|\${SERVICE_ROLE_KEY}|${SERVICE_ROLE_KEY}|g" \
15 -e "s|\${SERVICE_ROLE_KEY_ASYMMETRIC}|${SERVICE_ROLE_KEY_ASYMMETRIC}|g" \
16 -e "s|\${BRIVEN_PUBLISHABLE_KEY}|${BRIVEN_PUBLISHABLE_KEY}|g" \
17 -e "s|\${BRIVEN_SECRET_KEY}|${BRIVEN_SECRET_KEY}|g" \
18 -e "s|\${DASHBOARD_BASIC_AUTH}|${DASHBOARD_BASIC_AUTH}|g" \
19 /etc/envoy/lds.template.yaml > /etc/envoy/lds.yaml
20
21if [ -n "$BRIVEN_SECRET_KEY" ] && \
22 [ -n "$BRIVEN_PUBLISHABLE_KEY" ] && \
23 [ -n "$SERVICE_ROLE_KEY_ASYMMETRIC" ] && \
24 [ -n "$ANON_KEY_ASYMMETRIC" ]; then
25 echo "Envoy sb_ key translation enabled"
26else
27 echo "Envoy running in legacy API key mode (sb_ keys disabled)"
28fi
29
30echo "Envoy configuration generated successfully"
31echo "Starting Envoy..."
32
33# Start Envoy
34exec envoy -c /etc/envoy/envoy.yaml "$@"