Migrate apt.envoyproxy.io apt repository backend to GCS and overhaul CI process
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- google-cloud
- Domain
- build-system, ci-cd, cloud, devops, release
Research direction
Start by reviewing the existing Netlify-served repository and current Bazel/workflow setup; the issue names no repository files or tests. Trace the migration through the scrape, GCS bucket sync, PR validation workflows, aptly database publishing, and public/ synchronization. Done means the repository is served from GCS and publishing is incremental, tested, and separated from secret-dependent jobs.
Written by the indexing model from the issue text.
Description
Summary
This issue tracks the migration and modernization (and fixing) of the apt.envoyproxy.io package repository backend and related build/deploy processes.
Background
- The current repo is served from Netlify's CDN, built via Bazel, and has been stalled/broken since v1.32 due to Netlify/CI/time/disk constraints.
- The static content (repo + debs) currently lives in Netlify's storage. There is no official GCS backend yet.
- We need to migrate the backend to use GCS for storage and overhaul the workflows for incremental, reliable, and maintainable builds/publishing.
Migration Plan
Phase 1: Migration/Bootstrap
- Scrape all existing data from Netlify (apt.envoyproxy.io) using a script (wget, etc).
- Sync downloaded apt repo files (dists, pool, index.html, keys, etc.) to a new GCS bucket (e.g. gs://envoy-apt-repo/).
- Prepare scripts/workflows to enable this migration (manual trigger, as a temporary step).
Phase 2: Frontend/Proxy Switch
- Update Netlify frontend to become a proxy-only edge/CDN for the GCS bucket (no more in-place builds).
- Confirm that apt.envoyproxy.io now serves from GCS via Netlify proxying.
Phase 3: Add PR Build/Test Jobs
- Add isolated PR test workflows that:
- Build a stub/fake repo using committed or CI-generated test .debs.
- Validate the publish/build machinery works, but never touches real data/resources.
- No secret access for PRs.
Phase 4: Publishing CI/CD
- On merge to main:
- Sync the aptly db (and any required state) from a private GCS state bucket.
- Check for new Envoy releases. Download and add only new debs.
- Run aptly publish/update to refresh metadata and publish incremental changes.
- Sync public/ to the public GCS bucket.
- Secrets required only for this step.
Phase 5: Repo Catch-Up
- Add one-time/manual workflow to fill in missing releases by downloading all missing .debs from GitHub releases and updating the repo as needed.
Open Questions
- Is there a way to reconstruct the aptly db from scraped static repo, or is a full import from scratch required?
Estimated Risk/Resources
- Initial scrape and GCS seed will be write-heavy and will require significant bandwidth and disk (one-off).
- Ongoing publishing after migration should be incremental and low-overhead.
- Will need patience and possibly access to beefy hardware just for initial bootstrap.
- Dominant language
- Starlark
- Stars
- 1
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from envoyproxy/apt
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
envoyproxy/apt#43 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
envoyproxy/apt#24 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
envoyproxy/apt#23 · 2 reactions ·
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
priority: p3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
googleapis/librarian#7636 ·
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oSoWoSo/vOid_Community_repOsitory#147 · 1 comment ·
-
Builders
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100