docker-entrypoint.sh34 lines · main
| 1 | #!/bin/sh |
| 2 | set -e |
| 3 | |
| 4 | # Generate SHA1 base64 hash for Envoy basic auth user list |
| 5 | PASSWORD_HASH=$(printf '%s' "${DASHBOARD_PASSWORD}" | openssl sha1 -binary | openssl base64) |
| 6 | DASHBOARD_BASIC_AUTH="${DASHBOARD_USERNAME}:{SHA}${PASSWORD_HASH}" |
| 7 | |
| 8 | echo "Generating Envoy configuration..." |
| 9 | |
| 10 | # Process the lds.yaml template with environment variables using sed |
| 11 | # Using | as delimiter since JWT tokens contain / |
| 12 | sed -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 | |
| 21 | if [ -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" |
| 26 | else |
| 27 | echo "Envoy running in legacy API key mode (sb_ keys disabled)" |
| 28 | fi |
| 29 | |
| 30 | echo "Envoy configuration generated successfully" |
| 31 | echo "Starting Envoy..." |
| 32 | |
| 33 | # Start Envoy |
| 34 | exec envoy -c /etc/envoy/envoy.yaml "$@" |