Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Update Center] Add archives.jenkins.io as a mirror fallback for JSON metadatas #4401

Open
10 tasks
dduportal opened this issue Nov 19, 2024 · 0 comments
Open
10 tasks

Comments

@dduportal
Copy link
Contributor

#2649 introduced a new Update Center system built on top of mirrorbits.

We want to add the VM archives.jenkins.io as a "mirror fallback" for the Update Center instead of using the US East Cloudflare R2 mirror.

Rationale:

  • We have to be resilient against a Cloudflare outage => a non Cloudflare mirror is required
  • We need a non-S3 mirror => an HTTP + Rsync service is needed
  • HA is not required => a single VM is 👍
  • This service is only used when there is a mismatch of all mirrors with the mirrorbits reference + during Cloudflare outages: We need a service where outbound bandwidth is cheap => DigitalOcean is a good candidate
  • We want to avoid heavy maintenance as much as possible => archive.jenkins.io DigitalOcean VM is already a download mirror with everything required (webservice, rsync, etc.)

Todo list:

  • Check the network routes to archives.jenkins. Fix the security groups and routing if failing (+ updatecli manifest to track IPs if needed):
    • From the trusted agent-1 with rsync (update_center2)
    • From any trusted.ci ephemeral VM agent with rsync (crawler)
    • From mirrorbits services inside publick8s with both rsync and HTTP
  • Set up an rsync credential to allow both trusted.ci to rsync from its jobs and mirrorbits to scan the service with rsync
    • Add credential in sops (private key) + kubernetes-management (from sops to mirrorbits pods)
    • Add credential in the trusted.ci ZIP definition (in sops) and update it in trusted.ci
  • Set up update_center2 to also rsync to archives.jio (with the updated ZIP credential above)
  • Set up crawler to also rsync to archives.jio (with the updated ZIP credential above)
  • Once archives.jio is kept up to date, set up mirrorbis instances (both secured and unsecured) to use archives.jio as fallback
  • Check metrics to monitor in DigitalOcean to track outbound bandwidth
@dduportal dduportal added this to the infra-team-sync-2024-11-26 milestone Nov 19, 2024
@dduportal dduportal added triage Incoming issues that need review updateCenter labels Nov 19, 2024
@dduportal dduportal removed the triage Incoming issues that need review label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant