#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${SCRIPT_DIR}/functions.sh" resolve_paths require_env require_command "yq" require_command "openssl" SYNAPSE_CFG="${VOLUME_PATH}/synapse/homeserver.yaml" MAS_CFG="${VOLUME_PATH}/mas/config.yaml" require_file "$SYNAPSE_CFG" "Synapse config" require_file "$MAS_CFG" "MAS config" CLIENT_ID="synapse-client" CLIENT_SECRET=$(openssl rand -hex 32) TEMP_FILTER=$(mktemp) trap "rm -f $TEMP_FILTER" EXIT cat > "$TEMP_FILTER" < "$TEMP_FILTER" </dev/null | grep -q "idp_id"; then yq -y -i "$(cat "$TEMP_FILTER")" "$SYNAPSE_CFG" || { log_error "Failed to inject OIDC config"; exit 1; } fi if [[ "${INCLUDE_LIVEKIT}" == "TRUE" ]]; then JWT_URL="https://${JWT_FQDN:-jwt.${DOMAIN}}" yq -y -i ".livekit.url = \"$JWT_URL\"" "$SYNAPSE_CFG" fi log_info "OIDC and LiveKit linking complete"