From 130bdfb7ccdadfb8d650f9d4c94d848e23bd6c5f Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Fri, 8 May 2026 13:11:18 +0200 Subject: [PATCH] siwtch dns poweron-center to poweron.swiss --- .dockerignore | 6 +++--- .forgejo/workflows/deploy.yml | 4 ++-- .gcloudignore | 2 +- .github/workflows/deploy-gcp.yml | 16 ++++++++-------- .github/workflows/int_gateway-int.yml | 4 ++-- .github/workflows/main_gateway-prod.yml | 4 ++-- .gitignore | 2 +- Dockerfile | 4 ++-- config.ini | 5 ----- env_dev.env => env-gateway-dev.env | 2 +- env_int.env => env-gateway-int.env | 14 +++++++------- ...d_forgejo.env => env-gateway-prod-forgejo.env | 0 env_prod.env => env-gateway-prod.env | 14 +++++++------- modules/features/teamsbot/datamodelTeamsbot.py | 2 +- .../services/serviceBilling/stripeCheckout.py | 6 +++--- .../script_db_cleanup_duplicate_roles.py | 4 ++-- scripts/script_db_audit_legacy_state.py | 2 +- scripts/script_security_encrypt_all_env_files.py | 4 ++-- scripts/script_security_encrypt_config_value.py | 4 ++-- 19 files changed, 47 insertions(+), 52 deletions(-) rename env_dev.env => env-gateway-dev.env (99%) rename env_int.env => env-gateway-int.env (94%) rename env_prod_forgejo.env => env-gateway-prod-forgejo.env (100%) rename env_prod.env => env-gateway-prod.env (94%) diff --git a/.dockerignore b/.dockerignore index bf5e88f5..541dbb07 100644 --- a/.dockerignore +++ b/.dockerignore @@ -29,10 +29,10 @@ ENV *.swo *~ -# Environment files (env_gcp.env will be copied as .env by workflow) -env_*.env +# Environment files (env-gateway-*.env will be copied as .env by workflow) +env-*.env .env.local -# Note: .env is NOT ignored - it will be created from env_gcp.env by the workflow +# Note: .env is NOT ignored - it will be created from env-gateway-*.env by the workflow # Logs *.log diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index b4d2a654..8c44cfa5 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -22,8 +22,8 @@ jobs: cd /srv/gateway/current && git remote set-url origin ssh://git@git.poweron.swiss:2222/PowerOn/gateway.git && git pull && - cp env_prod_forgejo.env .env && - rm -f env_*.env && + cp env-gateway-prod-forgejo.env .env && + rm -f env-*.env && source .venv/bin/activate && pip install -r requirements.txt --no-cache-dir && sudo systemctl restart gateway diff --git a/.gcloudignore b/.gcloudignore index ca683390..d7934f65 100644 --- a/.gcloudignore +++ b/.gcloudignore @@ -30,7 +30,7 @@ ENV *~ # Environment files (will be handled separately) -env_*.env +env-*.env .env.local # Logs diff --git a/.github/workflows/deploy-gcp.yml b/.github/workflows/deploy-gcp.yml index d6a96276..306c0f60 100644 --- a/.github/workflows/deploy-gcp.yml +++ b/.github/workflows/deploy-gcp.yml @@ -11,11 +11,11 @@ # 2. Create secret "CONFIG_KEY" in Secret Manager with your master key # 3. Grant the service account access to Secret Manager secrets # 4. Create Cloud SQL instance (if not exists) -# 5. Create env_prod.env and env_int.env files with your configuration +# 5. Create env-gateway-prod.env and env-gateway-int.env files with your configuration # # Environment Selection: -# - Push to 'main' branch → uses env_prod.env (production) -# - Push to 'int' branch → uses env_int.env (integration) +# - Push to 'main' branch → uses env-gateway-prod.env (production) +# - Push to 'int' branch → uses env-gateway-int.env (integration) # - Manual dispatch → select environment (prod/int) to use corresponding env file name: Deploy Gateway to Google Cloud Run @@ -70,10 +70,10 @@ jobs: fi echo "env_type=$ENV_TYPE" >> $GITHUB_OUTPUT echo "service_name=gateway-$ENV_TYPE" >> $GITHUB_OUTPUT - echo "env_file=env_${ENV_TYPE}.env" >> $GITHUB_OUTPUT + echo "env_file=env-gateway-${ENV_TYPE}.env" >> $GITHUB_OUTPUT echo "Determined environment: $ENV_TYPE" echo "Service name: gateway-$ENV_TYPE" - echo "Env file: env_${ENV_TYPE}.env" + echo "Env file: env-gateway-${ENV_TYPE}.env" - name: Authenticate to Google Cloud uses: google-github-actions/auth@v2 @@ -98,11 +98,11 @@ jobs: echo "Using $ENV_FILE" cp "$ENV_FILE" .env else - echo "Warning: $ENV_FILE not found, using env_prod.env as fallback" - cp env_prod.env .env + echo "Warning: $ENV_FILE not found, using env-gateway-prod.env as fallback" + cp env-gateway-prod.env .env fi # Clean up other env files (optional, for security) - rm -f env_*.env + rm -f env-*.env - name: Build and push container image working-directory: ./gateway diff --git a/.github/workflows/int_gateway-int.yml b/.github/workflows/int_gateway-int.yml index 9e3a20da..80f93583 100644 --- a/.github/workflows/int_gateway-int.yml +++ b/.github/workflows/int_gateway-int.yml @@ -74,10 +74,10 @@ jobs: run: unzip release.zip - name: Set productive environment - run: cp env_int.env .env + run: cp env-gateway-int.env .env - name: Clean up environment files - run: rm -f env_*.env + run: rm -f env-*.env - name: 'Deploy to Azure Web App' uses: azure/webapps-deploy@v3 diff --git a/.github/workflows/main_gateway-prod.yml b/.github/workflows/main_gateway-prod.yml index 0d2edd70..b45db585 100644 --- a/.github/workflows/main_gateway-prod.yml +++ b/.github/workflows/main_gateway-prod.yml @@ -74,10 +74,10 @@ jobs: run: unzip release.zip - name: Set productive environment - run: cp env_prod.env .env + run: cp env-gateway-prod.env .env - name: Clean up environment files - run: rm -f env_*.env + run: rm -f env-*.env - name: 'Deploy to Azure Web App' uses: azure/webapps-deploy@v3 diff --git a/.gitignore b/.gitignore index df4b0c6c..cd314f70 100644 --- a/.gitignore +++ b/.gitignore @@ -131,7 +131,7 @@ env.bak/ venv.bak/ # Don't ignore environment templates -!env*.env +!env-*.env # Spyder project settings .spyderproject diff --git a/Dockerfile b/Dockerfile index fcf2d2f5..f476a47c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,13 +28,13 @@ COPY requirements.lock . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.lock -# Copy application code (includes .env file created by workflow from env_gcp.env) +# Copy application code (includes .env file created by workflow from env-gateway-*.env) COPY . . # Create directories for logs (Cloud Run uses /tmp for writable storage) RUN mkdir -p /tmp/logs /tmp/debug -# Note: .env file (created from env_gcp.env by workflow) contains encrypted secrets +# Note: .env file (created from env-gateway-*.env by workflow) contains encrypted secrets # These are decrypted at runtime using the master key from Secret Manager # (mounted as CONFIG_KEY environment variable in Cloud Run) diff --git a/config.ini b/config.ini index 90377f07..4a37f2f8 100644 --- a/config.ini +++ b/config.ini @@ -45,11 +45,6 @@ Connector_StacSwisstopo_MAX_RETRIES = 3 Connector_StacSwisstopo_RETRY_DELAY = 1.0 Connector_StacSwisstopo_ENABLE_CACHE = True -# Demo RMA credentials (same for all demo trustee instances) -Demo_RMA_ApiBaseUrl = https://service.int.runmyaccounts.com/api/latest/clients/ -Demo_RMA_ClientName = poweronag -Demo_RMA_ApiKey = pat_tipTbnHU26CrMzAnLSjCR_uzHJv4CDNa7obaQGHIA-4 - # Operator company information (shown on invoice emails) Operator_CompanyName = PowerOn AG Operator_Address = Birmensdorferstrasse 94, 8003 Zürich diff --git a/env_dev.env b/env-gateway-dev.env similarity index 99% rename from env_dev.env rename to env-gateway-dev.env index 5ae0d219..3709b0d8 100644 --- a/env_dev.env +++ b/env-gateway-dev.env @@ -19,7 +19,7 @@ APP_JWT_KEY_SECRET = DEV_ENC:Z0FBQUFBQm8xSUpERjlrSktmZHVuQnJ1VVJDdndLaUcxZGJsT2Z APP_TOKEN_EXPIRY=300 # CORS Configuration -APP_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5176,https://playground.poweron-center.net +APP_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5176,https://playground.poweron.swiss # Logging configuration APP_LOGGING_LOG_LEVEL = DEBUG diff --git a/env_int.env b/env-gateway-int.env similarity index 94% rename from env_int.env rename to env-gateway-int.env index f6e8d8fa..10272b34 100644 --- a/env_int.env +++ b/env-gateway-int.env @@ -3,7 +3,7 @@ # System Configuration APP_ENV_TYPE = int APP_ENV_LABEL = Integration Instance -APP_API_URL = https://gateway-int.poweron-center.net +APP_API_URL = https://gateway-int.poweron.swiss APP_KEY_SYSVAR = CONFIG_KEY APP_INIT_PASS_ADMIN_SECRET = INT_ENC:Z0FBQUFBQm8xSVRjWm41MWZ4TUZGaVlrX3pWZWNwakJsY3Facm0wLVZDd1VKeTFoZEVZQnItcEdUUnVJS1NXeDBpM2xKbGRsYmxOSmRhc29PZjJSU2txQjdLbUVrTTE1NEJjUXBHbV9NOVJWZUR3QlJkQnJvTEU9 APP_INIT_PASS_EVENT_SECRET = INT_ENC:Z0FBQUFBQm8xSVRjdmtrakgxa0djekZVNGtTZV8wM2I5UUpCZllveVBMWXROYk5yS3BiV3JEelJSM09VYTRONHpnY3VtMGxDRk5JTEZSRFhtcDZ0RVRmZ1RicTFhb3c5dVZRQ1o4SmlkLVpPTW5MMTU2eTQ0Vkk9 @@ -19,7 +19,7 @@ APP_JWT_KEY_SECRET = INT_ENC:Z0FBQUFBQm8xSVRjNUctb2RwU25iR3ZnanBOdHZhWUtIajZ1RnZ APP_TOKEN_EXPIRY=300 # CORS Configuration -APP_ALLOWED_ORIGINS=http://localhost:8080,https://playground.poweron-center.net,https://playground-int.poweron-center.net,http://localhost:5176,https://nyla.poweron-center.net, https://nyla-int.poweron-center.net +APP_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5176,https://playground.poweron.swiss,https://playground-int.poweron.swiss,https://nyla.poweron.swiss,https://nyla-int.poweron.swiss # Logging configuration APP_LOGGING_LOG_LEVEL = DEBUG @@ -34,22 +34,22 @@ APP_LOGGING_BACKUP_COUNT = 5 # OAuth: Auth app (login/JWT) vs Data app (Graph / Google APIs) Service_MSFT_AUTH_CLIENT_ID = c7e7112d-61dc-4f3a-8cd3-08cc4cd7504c Service_MSFT_AUTH_CLIENT_SECRET = INT_ENC:Z0FBQUFBQm83T29rMDZvcV9qTG5xb1FzUkdqS1llbzRxSEJXbmpONFFtcUtfZXdtZjQybmJSMjBjMEpnRVhiOGRuczZvVFBFdVVTQV80SG9PSnRQTEpLdVViNm5wc2E5aGRLWjZ4TGF1QjVkNmdRSzBpNWNkYXVublFYclVEdEM5TVBBZWVVMW5RVWk= -Service_MSFT_AUTH_REDIRECT_URI = https://gateway-int.poweron-center.net/api/msft/auth/login/callback +Service_MSFT_AUTH_REDIRECT_URI = https://gateway-int.poweron.swiss/api/msft/auth/login/callback Service_MSFT_DATA_CLIENT_ID = c7e7112d-61dc-4f3a-8cd3-08cc4cd7504c Service_MSFT_DATA_CLIENT_SECRET = INT_ENC:Z0FBQUFBQm83T29rMDZvcV9qTG5xb1FzUkdqS1llbzRxSEJXbmpONFFtcUtfZXdtZjQybmJSMjBjMEpnRVhiOGRuczZvVFBFdVVTQV80SG9PSnRQTEpLdVViNm5wc2E5aGRLWjZ4TGF1QjVkNmdRSzBpNWNkYXVublFYclVEdEM5TVBBZWVVMW5RVWk= -Service_MSFT_DATA_REDIRECT_URI = https://gateway-int.poweron-center.net/api/msft/auth/connect/callback +Service_MSFT_DATA_REDIRECT_URI = https://gateway-int.poweron.swiss/api/msft/auth/connect/callback Service_GOOGLE_AUTH_CLIENT_ID = 354925410565-aqs2b2qaiqmm73qpjnel6al8eid78uvg.apps.googleusercontent.com Service_GOOGLE_AUTH_CLIENT_SECRET = INT_ENC:Z0FBQUFBQm8xSVRjNThGeVRNd3hacThtRnE0bzlDa0JPUWQyaEd6QjlFckdsMGZjRlRfUks2bXV3aDdVRTF3LVRlZVY5WjVzSXV4ZGNnX002RDl3dkNYdGFzZkxVUW01My1wTHRCanVCLUozZEx4TlduQlB5MnpvNTR2SGlvbFl1YkhzTEtsSi1SOEo= -Service_GOOGLE_AUTH_REDIRECT_URI = https://gateway-int.poweron-center.net/api/google/auth/login/callback +Service_GOOGLE_AUTH_REDIRECT_URI = https://gateway-int.poweron.swiss/api/google/auth/login/callback Service_GOOGLE_DATA_CLIENT_ID = 354925410565-aqs2b2qaiqmm73qpjnel6al8eid78uvg.apps.googleusercontent.com Service_GOOGLE_DATA_CLIENT_SECRET = INT_ENC:Z0FBQUFBQm8xSVRjNThGeVRNd3hacThtRnE0bzlDa0JPUWQyaEd6QjlFckdsMGZjRlRfUks2bXV3aDdVRTF3LVRlZVY5WjVzSXV4ZGNnX002RDl3dkNYdGFzZkxVUW01My1wTHRCanVCLUozZEx4TlduQlB5MnpvNTR2SGlvbFl1YkhzTEtsSi1SOEo= -Service_GOOGLE_DATA_REDIRECT_URI = https://gateway-int.poweron-center.net/api/google/auth/connect/callback +Service_GOOGLE_DATA_REDIRECT_URI = https://gateway-int.poweron.swiss/api/google/auth/connect/callback # ClickUp OAuth (Verbindungen / automation). Create an app in ClickUp: Settings → Apps → API; set redirect URL to Service_CLICKUP_OAUTH_REDIRECT_URI exactly. Service_CLICKUP_CLIENT_ID = O3FX3H602A30MQN4I4SBNGJLIDBD5SL4 Service_CLICKUP_CLIENT_SECRET = INT_ENC:Z0FBQUFBQnB5dkd5SE1uVURMNVE3NkM4cHBKa2R2TjBnLWdpSXI5dHpKWGExZVFiUF95TFNnZ1NwLWFLdmh6eWFZTHVHYTBzU2FGRUpLYkVyM1NvZjZkWDZHN21qUER5ZVNOaGpCc3NrUGd3VnFTclF3OW1nUlVuWXQ1UVhDLVpyb1BwRExOeFpDeVhtbEhDVnd4TVdpbzNBNk5QQWFPdjdza0xBWGxFY1E3WFpCSUlNa1l4RDlBPQ== -Service_CLICKUP_OAUTH_REDIRECT_URI = https://gateway-int.poweron-center.net/api/clickup/auth/connect/callback +Service_CLICKUP_OAUTH_REDIRECT_URI = https://gateway-int.poweron.swiss/api/clickup/auth/connect/callback # Infomaniak: no OAuth client. Users paste a Personal Access Token (kdrive + mail) per UI. diff --git a/env_prod_forgejo.env b/env-gateway-prod-forgejo.env similarity index 100% rename from env_prod_forgejo.env rename to env-gateway-prod-forgejo.env diff --git a/env_prod.env b/env-gateway-prod.env similarity index 94% rename from env_prod.env rename to env-gateway-prod.env index 09ec8c34..67202109 100644 --- a/env_prod.env +++ b/env-gateway-prod.env @@ -6,7 +6,7 @@ APP_ENV_LABEL = Production Instance APP_KEY_SYSVAR = CONFIG_KEY APP_INIT_PASS_ADMIN_SECRET = PROD_ENC:Z0FBQUFBQnBDM1Z3UnJRV0sySFlDblpXUlREclREaW1WbUt6bGtQYkdrNkZDOXNOLXFua1hqeFF2RHJnRXJ5VlVGV3hOZm41QjZOMlNTb0duYXNxZi05dXVTc2xDVkx0SVBFLUhncVo5T0VUZHE0UTZLWWw3ck09 APP_INIT_PASS_EVENT_SECRET = PROD_ENC:Z0FBQUFBQnBDM1Z3QVpIY19DQVZSSzJmc2F0VEZvQlU1cHBhTEgxdHdnR3g4eW01aTEzYTUxc1gxTDR1RVVpSHRXYjV6N1BLZUdCUGlfOW1qdy0xSHFVRkNBcGZvaGlSSkZycXRuUllaWnpyVGRoeFg1dGEyNUk9 -APP_API_URL = https://gateway-prod.poweron-center.net +APP_API_URL = https://gateway-prod.poweron.swiss # PostgreSQL DB Host DB_HOST=gateway-prod-server.postgres.database.azure.com @@ -19,7 +19,7 @@ APP_JWT_KEY_SECRET = PROD_ENC:Z0FBQUFBQnBDM1Z3elhfV0Rnd2pQRjlMdkVwX1FnSmRhSzNZUl APP_TOKEN_EXPIRY=300 # CORS Configuration -APP_ALLOWED_ORIGINS=http://localhost:8080,https://playground.poweron-center.net,https://playground-int.poweron-center.net,http://localhost:5176,https://nyla.poweron-center.net,https://nyla-int.poweron-center.net +APP_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5176,https://playground.poweron.swiss,https://playground-int.poweron.swiss,https://nyla.poweron.swiss,https://nyla-int.poweron.swiss # Logging configuration APP_LOGGING_LOG_LEVEL = DEBUG @@ -34,22 +34,22 @@ APP_LOGGING_BACKUP_COUNT = 5 # OAuth: Auth app (login/JWT) vs Data app (Graph / Google APIs) Service_MSFT_AUTH_CLIENT_ID = c7e7112d-61dc-4f3a-8cd3-08cc4cd7504c Service_MSFT_AUTH_CLIENT_SECRET = PROD_ENC:Z0FBQUFBQnBESkk2T25scFU1T1pNd2FENTFRM3kzcEpSXy1HT0trQkR2Wnl3U3RYbExzRy1YUTkxd3lPZE84U2lhX3FZanp5TjhYRGluLXVjU3hjaWRBUnZLbVhtRDItZ3FxNXJ3MUxicUZTXzJWZVNrR0VKN3ZlNEtET1ppOFk0MzNmbkwyRmROUk4= -Service_MSFT_AUTH_REDIRECT_URI = https://gateway-prod.poweron-center.net/api/msft/auth/login/callback +Service_MSFT_AUTH_REDIRECT_URI = https://gateway-prod.poweron.swiss/api/msft/auth/login/callback Service_MSFT_DATA_CLIENT_ID = c7e7112d-61dc-4f3a-8cd3-08cc4cd7504c Service_MSFT_DATA_CLIENT_SECRET = PROD_ENC:Z0FBQUFBQnBESkk2T25scFU1T1pNd2FENTFRM3kzcEpSXy1HT0trQkR2Wnl3U3RYbExzRy1YUTkxd3lPZE84U2lhX3FZanp5TjhYRGluLXVjU3hjaWRBUnZLbVhtRDItZ3FxNXJ3MUxicUZTXzJWZVNrR0VKN3ZlNEtET1ppOFk0MzNmbkwyRmROUk4= -Service_MSFT_DATA_REDIRECT_URI = https://gateway-prod.poweron-center.net/api/msft/auth/connect/callback +Service_MSFT_DATA_REDIRECT_URI = https://gateway-prod.poweron.swiss/api/msft/auth/connect/callback Service_GOOGLE_AUTH_CLIENT_ID = 354925410565-aqs2b2qaiqmm73qpjnel6al8eid78uvg.apps.googleusercontent.com Service_GOOGLE_AUTH_CLIENT_SECRET = PROD_ENC:Z0FBQUFBQnBDM1Z3eWFwSEZ4YnRJcjU1OW5kcXZKdkt1Z3gzWDFhVW5Eelh3VnpnNlppcWxweHY5UUQzeDIyVk83cW1XNVE4bllVWnR2MjlSQzFrV1UyUVV6OUt5b3Vqa3QzMUIwNFBqc2FVSXRxTlQ1OHVJZVFibnhBQ2puXzBwSXp5NUZhZjM1d1o= -Service_GOOGLE_AUTH_REDIRECT_URI = https://gateway-prod.poweron-center.net/api/google/auth/login/callback +Service_GOOGLE_AUTH_REDIRECT_URI = https://gateway-prod.poweron.swiss/api/google/auth/login/callback Service_GOOGLE_DATA_CLIENT_ID = 354925410565-aqs2b2qaiqmm73qpjnel6al8eid78uvg.apps.googleusercontent.com Service_GOOGLE_DATA_CLIENT_SECRET = PROD_ENC:Z0FBQUFBQnBDM1Z3eWFwSEZ4YnRJcjU1OW5kcXZKdkt1Z3gzWDFhVW5Eelh3VnpnNlppcWxweHY5UUQzeDIyVk83cW1XNVE4bllVWnR2MjlSQzFrV1UyUVV6OUt5b3Vqa3QzMUIwNFBqc2FVSXRxTlQ1OHVJZVFibnhBQ2puXzBwSXp5NUZhZjM1d1o= -Service_GOOGLE_DATA_REDIRECT_URI = https://gateway-prod.poweron-center.net/api/google/auth/connect/callback +Service_GOOGLE_DATA_REDIRECT_URI = https://gateway-prod.poweron.swiss/api/google/auth/connect/callback # ClickUp OAuth (Verbindungen / automation). Create an app in ClickUp: Settings → Apps → API; set redirect URL to Service_CLICKUP_OAUTH_REDIRECT_URI exactly. Service_CLICKUP_CLIENT_ID = O3FX3H602A30MQN4I4SBNGJLIDBD5SL4 Service_CLICKUP_CLIENT_SECRET = PROD_ENC:Z0FBQUFBQnB5dkd6VGw5WDdhdDRsVENSalhSSUV0OFFxbEx0V1l6aktNV0E5Y18xU3JHLUlqMWVJdmxyajAydVZRaDJkZzJOVXhxRV9ROFRZbWxlRjh4c3NtQnRFMmRtZWpzTWVsdngtWldlNXRKTURHQjJCOEt6alMwQlkwOFYyVVJWNURJUGJIZDIxYVlfNnBrMU54M0Q3TVdVbFZqRkJKTUtqa05wUkV4eGZvbXNsVi1nNVdBPQ== -Service_CLICKUP_OAUTH_REDIRECT_URI = https://gateway-prod.poweron-center.net/api/clickup/auth/connect/callback +Service_CLICKUP_OAUTH_REDIRECT_URI = https://gateway-prod.poweron.swiss/api/clickup/auth/connect/callback # Infomaniak: no OAuth client. Users paste a Personal Access Token (kdrive + mail) per UI. diff --git a/modules/features/teamsbot/datamodelTeamsbot.py b/modules/features/teamsbot/datamodelTeamsbot.py index 8c8d61e7..a7a22c9b 100644 --- a/modules/features/teamsbot/datamodelTeamsbot.py +++ b/modules/features/teamsbot/datamodelTeamsbot.py @@ -392,7 +392,7 @@ class BridgeJoinRequest(BaseModel): gatewayCallbackUrl: str = Field(description="Gateway URL for bridge callbacks") gatewayWsUrl: str = Field(description="Gateway WebSocket URL for audio streaming") sessionId: str = Field(description="Session ID for correlation") - gatewayBaseUrl: str = Field(description="Base URL of this gateway instance (e.g. https://gateway-prod.poweron-center.net)") + gatewayBaseUrl: str = Field(description="Base URL of this gateway instance (e.g. https://gateway-prod.poweron.swiss)") class BridgeStatusResponse(BaseModel): diff --git a/modules/serviceCenter/services/serviceBilling/stripeCheckout.py b/modules/serviceCenter/services/serviceBilling/stripeCheckout.py index 97921df8..bb9feea7 100644 --- a/modules/serviceCenter/services/serviceBilling/stripeCheckout.py +++ b/modules/serviceCenter/services/serviceBilling/stripeCheckout.py @@ -183,8 +183,8 @@ def _normalizeReturnUrl(returnUrl: str) -> str: Validate and normalize an absolute frontend return URL. Allowed examples: - - https://nyla.poweron-center.net/billing/transactions - - https://nyla-int.poweron-center.net/billing/transactions?tab=overview + - https://nyla.poweron.swiss/billing/transactions + - https://nyla-int.poweron.swiss/billing/transactions?tab=overview """ if not returnUrl: raise ValueError("returnUrl is required") @@ -309,7 +309,7 @@ def create_checkout_session( "footer": ( "Diese Rechnung wurde bereits via Kreditkarte bezahlt. " "MWST-Nr. PowerOn: siehe Stripe-Rechnungs-Template. " - "Bei Fragen: billing@poweron-center.net" + "Bei Fragen: billing@poweron.swiss" ), } customFields: List[Dict[str, str]] = [] diff --git a/scripts/_archive/script_db_cleanup_duplicate_roles.py b/scripts/_archive/script_db_cleanup_duplicate_roles.py index 392cde80..1ded5a51 100644 --- a/scripts/_archive/script_db_cleanup_duplicate_roles.py +++ b/scripts/_archive/script_db_cleanup_duplicate_roles.py @@ -22,9 +22,9 @@ import os gatewayDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, gatewayDir) -# Load environment variables from env_dev.env +# Load environment variables from env-gateway-dev.env from dotenv import load_dotenv -envPath = os.path.join(gatewayDir, "env_dev.env") +envPath = os.path.join(gatewayDir, "env-gateway-dev.env") if os.path.exists(envPath): load_dotenv(envPath) diff --git a/scripts/script_db_audit_legacy_state.py b/scripts/script_db_audit_legacy_state.py index f51a132a..54ee6474 100644 --- a/scripts/script_db_audit_legacy_state.py +++ b/scripts/script_db_audit_legacy_state.py @@ -51,7 +51,7 @@ if _gatewayDir not in sys.path: from dotenv import load_dotenv -_envPath = os.path.join(_gatewayDir, "env_dev.env") +_envPath = os.path.join(_gatewayDir, "env-gateway-dev.env") if os.path.exists(_envPath): load_dotenv(_envPath) diff --git a/scripts/script_security_encrypt_all_env_files.py b/scripts/script_security_encrypt_all_env_files.py index 9981ad52..cceae83d 100644 --- a/scripts/script_security_encrypt_all_env_files.py +++ b/scripts/script_security_encrypt_all_env_files.py @@ -19,7 +19,7 @@ Usage: python script_security_encrypt_all_env_files.py --no-backup # Process only specific environment files - python script_security_encrypt_all_env_files.py --files env_dev.env env_prod.env + python script_security_encrypt_all_env_files.py --files env-gateway-dev.env env-gateway-prod.env """ import sys @@ -308,7 +308,7 @@ def process_all_env_files(env_files: List[str] = None, dry_run: bool = False, cr """ # Default environment files if none specified if env_files is None: - env_files = ['env_dev.env', 'env_int.env', 'env_prod.env'] + env_files = ['env-gateway-dev.env', 'env-gateway-int.env', 'env-gateway-prod.env'] # Convert to Path objects and check if they exist env_paths = [] diff --git a/scripts/script_security_encrypt_config_value.py b/scripts/script_security_encrypt_config_value.py index afaeb827..512d9958 100644 --- a/scripts/script_security_encrypt_config_value.py +++ b/scripts/script_security_encrypt_config_value.py @@ -14,8 +14,8 @@ Usage: python script_security_encrypt_config_value.py --file "path/to/file.json" --env prod # Encrypt all secrets in a file - python script_security_encrypt_config_value.py --encrypt-all env_dev.env --env dev - python script_security_encrypt_config_value.py --encrypt-all env_prod.env --env prod --dry-run + python script_security_encrypt_config_value.py --encrypt-all env-gateway-dev.env --env dev + python script_security_encrypt_config_value.py --encrypt-all env-gateway-prod.env --env prod --dry-run # Decrypt a value (for testing) python script_security_encrypt_config_value.py --decrypt "DEV_ENC:encrypted_value"