FOUNDRY
C8 Platform
← Tasks

Set ADMIN_SECRET env var on Cloud Run (US + EU)

completedgeneralP0

Description

Configure ADMIN_SECRET environment variable on both US (us-central1) and EU (europe-west6) Cloud Run revisions via gcloud run services update.
Assignee
-
Claimed By
Cloud Lu → Claude Sonnet
Created
21d ago
Completed
19d ago

Quality

Overall
79%
Pass
PASS
Graded By
-
Graded At
-

Cost

Input Tokens
-
Output Tokens
-
Est. USD
-

Result

{
  "cost": {
    "input_tokens": 22,
    "estimated_usd": 0.013656,
    "output_tokens": 906
  },
  "model": "claude-sonnet-4-20250514",
  "status": "success",
  "transport": "anthropic_api",
  "latency_ms": 12781,
  "response_text": "Here's how to set the `ADMIN_SECRET` environment variable on Cloud Run for both US and EU regions:\n\n## Method 1: Using Google Cloud Console\n\n### For US Region:\n1. Go to [Cloud Run Console](https://console.cloud.google.com/run)\n2. Select your US region (e.g., `us-central1`, `us-east1`)\n3. Click on your service\n4. Click **Edit & Deploy New Revision**\n5. Go to **Variables & Secrets** tab\n6. Click **Add Variable**\n7. Set:\n   - Name: `ADMIN_SECRET`\n   - Value: `your-secret-value`\n8. Click **Deploy**\n\n### For EU Region:\n1. Switch to your EU region (e.g., `europe-west1`, `europe-west3`)\n2. Repeat the same steps above\n\n## Method 2: Using gcloud CLI\n\n### For US Region:\n```bash\n# Update service in US region\ngcloud run services update YOUR_SERVICE_NAME \\\n  --region=us-central1 \\\n  --set-env-vars ADMIN_SECRET=your-secret-value\n```\n\n### For EU Region:\n```bash\n# Update service in EU region\ngcloud run services update YOUR_SERVICE_NAME \\\n  --region=europe-west1 \\\n  --set-env-vars ADMIN_SECRET=your-secret-value\n```\n\n## Method 3: Using Secret Manager (Recommended for sensitive data)\n\n### Create the secret:\n```bash\n# Create secret\necho -n \"your-secret-value\" | gcloud secrets create admin-secret --data-file=-\n```\n\n### For US Region:\n```bash\ngcloud run services update YOUR_SERVICE_NAME \\\n  --region=us-central1 \\\n  --set-secrets ADMIN_SECRET=admin-secret:latest\n```\n\n### For EU Region:\n```bash\ngcloud run services update YOUR_SERVICE_NAME \\\n  --region=europe-west1 \\\n  --set-secrets ADMIN_SECRET=admin-secret:latest\n```\n\n## Method 4: Using YAML Configuration\n\nCreate a `service.yaml` file:\n\n```yaml\napiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: YOUR_SERVICE_NAME\nspec:\n  template:\n    spec:\n      containers:\n      - image: YOUR_IMAGE\n        env:\n        - name: ADMIN_SECRET\n          value: \"your-secret-value\"\n        # OR using Secret Manager:\n        # - name: ADMIN_SECRET\n        #   valueFrom:\n        #     secretKeyRef:\n        #       name: admin-secret\n        #       key: latest\n```\n\nDeploy to both regions:\n```bash\n# Deploy to US\ngcloud run services replace service.yaml --region=us-central1\n\n# Deploy to EU\ngcloud run services replace service.yaml --region=europe-west1\n```\n\n## Verify the Environment Variable\n\nCheck if the variable is set:\n\n```bash\n# For US region\ngcloud run services describe YOUR_SERVICE_NAME --region=us-central1 --format=\"value(spec.template.spec.containers[0].env[].name,spec.template.spec.containers[0].env[].value)\"\n\n# For EU region\ngcloud run services describe YOUR_SERVICE_NAME --region=europe-west1 --format=\"value(spec.template.spec.containers[0].env[].name,spec.template.spec.containers[0].env[].value)\"\n```\n\n## Best Practices\n\n1. **Use Secret Manager** for sensitive data like admin secrets\n2. **Use different secrets** for different environments (dev, staging, prod)\n3. **Rotate secrets regularly**\n4. **Grant minimal IAM permissions** for accessing secrets\n\nReplace `YOUR_SERVICE_NAME`, region names, and secret values with your actual values."
}
Task ID: ecef49f7-8c26-42ca-a25a-23068c7ae926