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

Deploy Mirrorbits #122

Merged
merged 9 commits into from
Mar 9, 2020
Merged

Deploy Mirrorbits #122

merged 9 commits into from
Mar 9, 2020

Conversation

olblak
Copy link
Member

@olblak olblak commented Jan 28, 2020

This Pull request deploys mirrorbits and a Redis database on Kubernetes.

In order to consider this PR as a full replacement of mirrors.jenkins.io, we still need to validate the following things

  • Validate that it's effectively working :)
  • Automate mirror configuration
  • Make it working for Redis sentinel

Currently, this service is accessible from the VPN but empty at the moment

Update /etc/hosts with release.mirrors.jenkins.io set to 10.0.2.5

Example: https://release.mirrors.jenkins.io/debian/jenkins_2.218_all.deb?mirrorlist

or https://release.mirrors.jenkins.io/debian/jenkins_2.218_all.deb?mirrorstats
https://release.mirrors.jenkins.io/debian/jenkins_2.218_all.deb?stats

@olblak olblak requested a review from a team as a code owner January 28, 2020 13:06
@olblak
Copy link
Member Author

olblak commented Feb 24, 2020

I did a few more tests, and made it working with few limitations:

  1. mirror configuration needs to be manually done as Mirrorbits doesn't provide a different way than using the cli
  2. I wasn't able to use redis sentinelle for High availibilty purpose.

@olblak
Copy link
Member Author

olblak commented Feb 24, 2020

Mirrorbit requires a folder with all the files that can be provided.
If for some reason the requested file has a hash that mismatched between one of the mirrors and Mirrorbits then the mirror is not used.

Similar to here, they are different ways to synchronize data on Mirrorbit:

  1. Mirrobits data is populated on a push approach like from here. this brings strong dependency on sync.sh and Mirrrobits becomes the source of truth for artifacts
  2. Mirrorbits data is generated on a pull approach, similar to [here|https://github.com/[INFRA-2466] Deploy archives.jenkins-ci.org on publick8s #130#issue-378916917], in this case, we need to ensure that Mirrorbits is always in sync with the source of truth.

I have a preference for the latter approach where we consider Mirroribts as an independent service we still have the capability to manually trigger a sync using kubectl exec...

@olblak
Copy link
Member Author

olblak commented Mar 5, 2020

I just opened a Pull request here to provision an azure file storage to hold those files

@olblak
Copy link
Member Author

olblak commented Mar 9, 2020

I am going to merge this pull request, I manually deployed get.jenkins.io using this code, and I am not planning to work on it for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants