You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,14 @@ This is the Interledger Developers Portal, a documentation site built with [Astr
22
22
-**Important**: Build output is copied to `_netlify/builders/developers/` to serve at `/developers/` path
23
23
- Redirect rules route `/developers/*` to `/developers/index.html` for client-side routing
24
24
25
-
### Production (Google Cloud)
26
-
- Deployed to `https://interledger.org/developers/` via Google Cloud Storage
27
-
- Triggered automatically on merge to `main` by `.github/workflows/deploy_gcs.yml`
28
-
- Process: Build → Deploy to GCS → Rebuild nginx-rewrite Cloud Run service → Invalidate CDN
29
-
-**Legacy**: `deploy.yml` exists but is deprecated - use `deploy_gcs.yml`
25
+
### Production (Netlify, fronted by GCP)
26
+
- Built and hosted by Netlify at `https://interledger-org-developers.netlify.app/developers/`
27
+
- Users reach it at `https://interledger.org/developers/` via the GCP load balancer, which proxies `/developers/*` through a Cloud Run nginx service (`nginx-rewrite`) to Netlify
28
+
- The address bar stays on `interledger.org` — it is **not** a redirect
29
+
- GCP Cloud CDN sits in front of the proxy (default TTL 1 hour)
30
+
-**After a content deploy**, if you need changes live immediately, manually run the **Invalidate CDN** workflow in the Actions tab
31
+
- The `Deploy nginx proxy to Cloud Run` workflow (`.github/workflows/deploy_gcs.yml`) only rebuilds the proxy container and triggers on changes under `ci/nginx-rewrite/**`
32
+
- The nginx config itself lives in `ci/nginx-rewrite/` (Dockerfile + nginx.conf)
Copy file name to clipboardExpand all lines: README.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,18 +81,21 @@ This project has two deployment mechanisms:
81
81
82
82
Every pull request automatically generates a preview deployment on Netlify at `https://deploy-preview-{PR_NUMBER}--developers-preview.netlify.app/developers/`. This allows reviewers to see changes before they're merged. The Netlify configuration is defined in `netlify.toml`.
83
83
84
-
### Production Deployments (Google Cloud Storage)
84
+
### Production Deployments (Netlify + GCP proxy)
85
85
86
-
The real production deployment is served through Google Cloud Storage (GCS) at `https://interledger.org/developers/`as part of the main Interledger website. This is a transparent proxy configuration - the developers portal is hosted separately but appears as part of the main domain.
86
+
The production site is built and hosted on Netlify, but users access it at `https://interledger.org/developers/`via the main Interledger load balancer. A small nginx service on Cloud Run proxies `/developers/*` requests from the GCP load balancer to the Netlify-hosted site, so the browser URL stays on `interledger.org`.
87
87
88
-
When a PR is merged to the `main` branch, the `.github/workflows/deploy_gcs.yml` GitHub Actions workflow automatically:
88
+
When a PR is merged to `main`, Netlify builds and publishes the new site automatically. GCP's Cloud CDN sits in front of the nginx proxy and caches responses for up to 1 hour.
89
89
90
-
1. Builds the site using Bun
91
-
2. Deploys the built files to Google Cloud Storage (`gs://interledger-websites-public/developers`)
92
-
3. Rebuilds and deploys the nginx-rewrite Cloud Run service (which handles the `/developers` proxy routing)
93
-
4. Invalidates the CDN cache to ensure new content is served immediately
90
+
#### Invalidating the CDN after a deploy
94
91
95
-
**Note:** There is a legacy `deploy.yaml` workflow in `.github/workflows/` which is being deprecated. New deployments should use `deploy_gcs.yml`.
92
+
Because GCP Cloud CDN caches `/developers/*`, newly deployed content may take up to an hour to appear on `interledger.org/developers/`. If you need changes to go live immediately, manually trigger the **Invalidate CDN** workflow:
93
+
94
+
1. Go to the repo's **Actions** tab on GitHub.
95
+
2. Select the **Invalidate CDN** workflow.
96
+
3. Click **Run workflow** on the `main` branch.
97
+
98
+
This runs `gcloud compute url-maps invalidate-cdn-cache` against `/developers/*` and typically propagates within a minute.
96
99
97
100
For more information about the main Interledger.org infrastructure and deployment pipeline, see the [`interledger.org-v4`](https://github.com/interledger/interledger.org-v4) repository.
0 commit comments