kubernetes / enhancements

Enhancements tracking repo for Kubernetes
Apache License 2.0
3.39k stars 1.46k forks source link

Publishing Kubernetes packages on community infrastructure #1731

Open justaugustus opened 4 years ago

justaugustus commented 4 years ago

Enhancement Description


Milestones and Tasks Checklist

Milestone 1.0—Code Deliverable

Milestone 1.0—Documentation Deliverable

Milestone 1.0—Risk Mitigation

Milestone 1.0—Questions resolved

Milestone 2.0—Code deliverable

Milestone 2.0—Documentation Deliverable

Milestone 2.0—Questions resolved

Milestone 3.0—Documentation deliverable

Milestone 4.0— Documentation Deliverable


Why is this needed?

Why is it needed now?

Who needs it? (User Personas WIP)

Related open issues

fejta-bot commented 4 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

fejta-bot commented 4 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

fejta-bot commented 3 years ago

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /close

k8s-ci-robot commented 3 years ago

@fejta-bot: Closing this issue.

In response to [this](https://github.com/kubernetes/enhancements/issues/1731#issuecomment-699716215): >Rotten issues close after 30d of inactivity. >Reopen the issue with `/reopen`. >Mark the issue as fresh with `/remove-lifecycle rotten`. > >Send feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta). >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

k8s-triage-robot commented 3 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten

k8s-triage-robot commented 3 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-ci-robot commented 3 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/enhancements/issues/1731#issuecomment-905912569): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues and PRs according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue or PR with `/reopen` >- Mark this issue or PR as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
saschagrunert commented 2 years ago

@RobertKielty @LappleApple feel free to propose an update to the existing KEP

xmudrii commented 1 year ago

Summary

We started evaluating OpenBuildService (OBS) hosted by openSUSE (https://build.opensuse.org/) as a solution for building, signing, publishing, and hosting our packages. OBS handles Debian (deb) and RPM packages for many of the most popular distros (Ubuntu, Debian, CentOS, RHEL...).

The initial proof-of-concept phase went very well:

The initial proof-of-concept covered both debs and rpms on amd64.

Open questions

Several open questions are still to be investigated/tested or decided upon.

Community infrastructure concerns

The solution we're evaluating right now is hosted by openSUSE. openSUSE is willing to sponsor us for all our needs, so we can use their infrastructure. This is not "truly" community infrastructure, but this helps us a lot as we don't have to worry about building and publishing/hosting packages ourselves.

Additionally, OpenBuildService is an open source platform, so we can always decide to host it ourselves if we don't want to use openSUSE's infra for any reason. To make this possible, we'll look into building proxy/redirects from apt.kubernetes.io/yum.kubernetes.io to the openSUSE OBS infra.

Package/repository signing concerns

One of the biggest concerns we had is how are going to manage GPG keys for signing packages (in the case of rpm) and repositories (in the case of APT). The OBS platform fully manages the GPG keys -- the private key is not exposed to anyone using the platform. In those terms, we can look at OBS as an API that we can give access to without worrying that someone might get access to the key.

Moving building packages from Google to the community

Another concern is that we want to move building packages from Google to the community. We are planning to accomplish this by building packages on OBS and letting Google Build Admins download packages from there to be published to the Google (current) infra.

Next steps and timeline

The proposed timeline would be something along the following lines:

Pre-alpha

Alpha

Beta

Stable

Alternatives considered

We considered building packages manually in our pipeline and publishing and hosting packages independently instead of using OBS. That however has much increased complexity, as we have to maintain the whole infra, and we also have to build a management system for GPG keys, which is very complex.

saschagrunert commented 1 year ago
  • Get answers to the open questions

What do you think would be the best way to achieve this?

saschagrunert commented 1 year ago

We had a community meeting a few days ago to clarify the open questions. Updating the KEP will be one of the next steps here.

xmudrii commented 1 year ago

I'll take care of updating the KEP. /assign

saschagrunert commented 1 year ago

So I assume we will graduate this enhancement in v1.27.

jeremyrickard commented 1 year ago

/milestone v1.27

jeremyrickard commented 1 year ago

This is out of tree and isn't an end-user feature, so it doesn't need to have a PRR.

shatoboar commented 1 year ago

Hello @justaugustus 👋, Enhancements team here.

Just checking in as we approach enhancements freeze on 18:00 PDT Thursday 9th February 2023.

This enhancement is targeting for stage alpha for v1.27 (correct me, if otherwise)

Here’s where this enhancement currently stands:

With all the KEP requirements in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. 🚀

The status of this enhancement is marked as tracked. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

shatoboar commented 1 year ago

Hi @justaugustus, @xmudrii and @saschagrunert 👋 ,

Checking in as we approach 1.27 code freeze at 17:00 PDT on Tuesday 14th March 2023.

Please ensure the following items are completed:

For this enhancement, it looks like the following PRs are open and need to be merged before code freeze:

Please let me know if there are any other PRs in k/k I should be tracking for this KEP. As always, we are here to help should questions come up. Thanks!

xmudrii commented 1 year ago

Hi @shatoboar,

This is a KEP for an out-of-tree change. As such, we currently don't plan on having PRs in k/k, only in k/release and other SIG Release repos. This also means that code freeze shouldn't affect us for this KEP.

https://github.com/kubernetes/release/pull/2946 is one of PRs that we need to merge, but we'll also have several other PRs in that repo.

jeremyrickard commented 1 year ago

/milestone v1.28

ruheenaansari34 commented 1 year ago

Hello @justaugustus 👋, Enhancements team here.

Just checking in as we approach enhancements freeze on 1:00 UTC on Friday 16th June 2023.

This enhancement is targeting for stage alpha for 1.28 (correct me, if otherwise)

Here’s where this enhancement currently stands:

With all the KEP requirements in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. 🚀

The status of this enhancement is marked as tracked. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

Rishit-dagli commented 1 year ago

Hello @justaugustus :wave:, 1.28 Docs Lead here.

Does this enhancement work planned for 1.28 require any new docs or modification to existing docs?

If so, please follows the steps here to open a PR against dev-1.28 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday 20th July 2023.

Also, take a look at Documenting for a release to get yourself familiarize with the docs requirement for the release.

Thank you!

xmudrii commented 1 year ago

Does this enhancement work planned for 1.28 require any new docs or modification to existing docs?

Yes. I'll follow up on this with folks and I'll make sure that we have everything in place by the deadline.

ramrodo commented 1 year ago

Hello @xmudrii, 1.28 Comms here.

Is this enhancement planned to have an opt-in process for Feature Blog delivery?

The deadline for opt-in is on July 19th, 2023, so please consider submitting a place-holder PR at kubernetes/website for this to be considered.

Thank you!

xmudrii commented 1 year ago

@ramrodo Is just creating a PR enough to opt-in or is there anything else that we should do?

ramrodo commented 1 year ago

@ramrodo Is just creating a PR enough to opt-in or is there anything else that we should do?

Yes. Creating the placeholder PR is enough to opt-in for now.

Rishit-dagli commented 1 year ago

@xmudrii

Yes. I'll follow up on this with folks and I'll make sure that we have everything in place by the deadline.

A reminder on this since there is 1 week to the deadline, this can even be a draft PR right now.

xmudrii commented 1 year ago

@Rishit-dagli Thank you, I'll make sure to create placeholders by the end of the week.

xmudrii commented 1 year ago

@Rishit-dagli @ramrodo I created placeholder PRs for both docs and feature blog: https://github.com/kubernetes/website/pull/42022 and https://github.com/kubernetes/website/pull/42023

ruheenaansari34 commented 1 year ago

Hey again @justaugustus 👋 Just checking in as we approach Code freeze at 01:00 UTC Friday, 19th July 2023.

I don't see any code (k/k) update PR(s) in the issue description so if there are any k/k related PR(s) that we should be tracking for this KEP please link them in the issue description above.

As always, we are here to help if any questions come up. Thanks!

xmudrii commented 1 year ago

@ruheenaansari34 This is an out of tree KEP, so as of now, it doesn't require any code changes in k/k.

Atharva-Shinde commented 1 year ago

Hey @justaugustus @xmudrii this enhancement is now marked as tracked for the v1.28 Code freeze.

Rishit-dagli commented 1 year ago

Hello @justaugustus @xmudrii wave: please take a look at Documenting for a release - PR Ready for Review to get your docs PR ready for review before Tuesday 25th July 2023. Thank you!

Ref: https://github.com/kubernetes/website/pull/42022

sftim commented 1 year ago

This is an out of tree KEP, so as of now, it doesn't require any code changes in k/k.

For the alpha, is there any change to document?

xmudrii commented 1 year ago

For the alpha, is there any change to document?

Yes, we plan to mention OBS in docs, but we're still trying to figure out the best way for that.

sftim commented 1 year ago

How about on https://k8s.dev/docs/ - and then revisit for beta?

xmudrii commented 1 year ago

@sftim I'm not sure if that's visible enough. Also, I don't think this KEP will be going through standard alpha/beta/stable criteria, but that's also something to discuss.

npolshakova commented 1 year ago

/remove-label lead-opted-in

sftim commented 11 months ago

This is still labelled alpha; is that appropriate?

xmudrii commented 11 months ago

We're hopefully going to graduate it to beta, I'll see with leads about that

npolshakova commented 11 months ago

Hello @justaugustus @xmudrii, 1.29 Enhancements team here! Is this enhancement targeting 1.29? If it is, can you follow the instructions here to opt in the enhancement and make sure the lead-opted-in label is set so it can get added to the tracking board? Thanks!

salehsedghpour commented 8 months ago

Hello 👋 1.30 Enhancements Lead here,

I'm closing milestone 1.28 now, If you wish to progress this enhancement in v1.30, please follow the instructions here to opt in the enhancement and make sure the lead-opted-in label is set so it can get added to the tracking board and finally add /milestone v1.30. Thanks!

/milestone clear

k8s-triage-robot commented 5 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

xmudrii commented 5 months ago

/remove-lifecycle stale

k8s-triage-robot commented 2 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

xmudrii commented 1 month ago

/remove-lifecycle stale