docker-entrypoint.sh 1.3 KB

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