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

[pkg.jenkins.io] migrate the pkg.origin.jenkins.io service from AWS VM to Azure publick8s #3705

Open
dduportal opened this issue Aug 7, 2023 · 3 comments
Assignees

Comments

@dduportal
Copy link
Contributor

Service(s)

pkg.jenkins.io

Summary

The service pkg.jenkins.io serves the Jenkins distribution packages: Linux, Windows, WAR files.

It's merely a webserver serving the package manager index (or HTML index files which are listing directories):

  • It's cached by the Fastly CDN (pkg.origin.jenkins.io is the original service)
  • Most of the "heavy" files are served by the get.jenkins.io or mirrors.jenkins.io services (which are 2 DNS pointing to the same system)

We want to move the service pkg.origin.jenkins.io out from AWS:

The obvious choice is to set up the webservice in Azure:

  • Generation of the packages could be done directly in release.ci.jenkins.io with the data stored in an Azure file share
  • The cluster publick8s would host the webservice with the azure file mounted in read-only => it would allows adding HA to the service

Reproduction steps

No response

@dduportal dduportal added the triage Incoming issues that need review label Aug 7, 2023
@dduportal dduportal self-assigned this Aug 7, 2023
@dduportal dduportal added this to the infra-team-sync-2023-08-08 milestone Aug 7, 2023
@dduportal dduportal removed the triage Incoming issues that need review label Aug 7, 2023
@dduportal
Copy link
Contributor Author

First pass of analysis shows that we might want to keep Apache (httpd) for this webservice to avoid introducing too much changes:

=> It means we'll need an Apache helm chart, not sure if we can reuse the existing "files" service in our custom mirrorbits helm chart (chart inheritance/split seems quite needed here)

@dduportal
Copy link
Contributor Author

Continuing prerequisites analysis to determine:

  • "Where to store the persistent data served by the webserver"?
  • "What kind of persistent system to use"?

The Core release of Jenkins have a packaging pipeline defined here: https://github.com/jenkins-infra/release/blob/master/Jenkinsfile.d/core/package

@dduportal
Copy link
Contributor Author

Considering #3636, #3338 and #3183, it looks like that the strategy of splitting index and package creates unexpected problems:

  • Package Indexes are only served from one location in the world. => We might want to use a mirror service to project the indexes to other regions such as China or Asia (which have quite a network latency when readhing an us-east based webservice).

    • Same pattern as for the Update Center (updates.jenkins.io) with a set of mirrors that we do manage. That would means changing the current Fastly CDN configuration to act as a mirror instead of a front CDN
  • We want a "reference" mirror for download to act as a fallback for the binary files of pkg.jenkins.io. As archives.jenkins.io is designed for this, we could use the webservice pkg.origin.jenkins.io for this.

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