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

Import gke-certificates-controller from k8s.io/kubernetes #1

Merged
merged 21 commits into from
Apr 5, 2018

Conversation

awly
Copy link
Contributor

@awly awly commented Mar 21, 2018

Ported over the commit history and added vendored deps.

pipejakob and others added 21 commits March 21, 2018 14:08
This adds a new stand-alone certificates controller for use on GKE. It
allows calling GKE to sign certificates instead of requiring the CA
private key locally.

It does not aim for 100% feature parity with kube-controller-manager
yet, so for instance, leader election support is omitted.
On errors, the GKE signing API can respond with a JSON body that
contains an error message explaining the failure. If we're able to
extract it, use that message when reporting the error instead of the
generic error returned by the webhook library. Also, always add an event
to the CSR object on signing errors.
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 21, 2018
@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Mar 21, 2018
@awly
Copy link
Contributor Author

awly commented Mar 21, 2018

/retest

@mikedanese
Copy link
Member

/assign

@mikedanese
Copy link
Member

This controller binary is being relocated from the main repository and runs in GKE only right now. This PR removed it from the main repo: kubernetes/kubernetes#59933

@mikedanese
Copy link
Member

I'm interested if we can remove to dependencies to k8s.io/kubernetes packages which weren't designed to be vendored. I think it's probably best to do that in a followup though.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 22, 2018
@awly
Copy link
Contributor Author

awly commented Mar 22, 2018

/assign @nicksardo

@mikedanese
Copy link
Member

mikedanese commented Mar 22, 2018

It's safe to ignore cla bot because all these commits exist in k8s.io/kubernetes already. This is only a code move.

bgrant0607, cblecker and thockin signed off on this.

@calebamiles
Copy link
Contributor

@mikedanese I added you as an OWNER so you can merge this PR

@calebamiles calebamiles added cla: human-approved cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Mar 26, 2018
@mikedanese
Copy link
Member

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mikedanese

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 26, 2018
@bowei
Copy link
Member

bowei commented Mar 26, 2018

Does it make sense to throw everything into cloud provider? We are creating another monolith unless I'm looking at this incorrectly. Cloud provider as I understand should be only the base layer stuff (i.e. pkg/cloudprovider/providers/gce).

@bowei
Copy link
Member

bowei commented Mar 26, 2018

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 26, 2018
@mikedanese
Copy link
Member

@bowei are you proposing the gcp-cloud-controller-manager main does not live in this repository?

@bowei
Copy link
Member

bowei commented Mar 26, 2018

Yes -- for example, Ingress is going to vendor this repo and I'm assuming the other controllers will as well, would be good to avoid coupling all these together again into a mono-repo since we are moving away from that.

@mikedanese
Copy link
Member

mikedanese commented Mar 28, 2018

Is the unit of vendoring a package or a repository? Application code for the gke certificates controller being imported right now lives in cmd/gke-certificates-controller/... This is a pattern that we didn't follow with the main repo but have started to implement with newer components like kubeadm. I suspect library code for the cloudprovider would go in pkg/gcp/... or something. With import enforcement I think we can have both a vendorable, reusable cloudprovider library and cloud controller-manager mains in the same repo. However, I haven't been tuned in to the discussion. @cheftako @calebamiles can you comment on what the purpose of this repo is?

@awly
Copy link
Contributor Author

awly commented Apr 5, 2018

Ping @mikedanese @bowei can we merge this?

@mikedanese
Copy link
Member

This is blocking other work. @bowei can you sync with @cheftako @calebamiles ? The current intention is to locate mains in this repo. If someone gives us another place, we can move this code there. This code is intended to run in the gcp-cloud-controller-manager.

@mikedanese
Copy link
Member

/unhold

@awly
Copy link
Contributor Author

awly commented Apr 5, 2018

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 5, 2018
@calebamiles calebamiles merged commit 8e1b342 into kubernetes:master Apr 5, 2018
@awly awly deleted the import-cert-controller branch April 24, 2018 21:25
ialidzhikov pushed a commit to ialidzhikov/cloud-provider-gcp that referenced this pull request May 21, 2020
…r@v1.17.4

Update k8s.io/legacy-cloud-providers to v0.17.4
michaelmdresser added a commit to michaelmdresser/cloud-provider-gcp that referenced this pull request Jun 18, 2020
In a fresh GCP project, kube-up.sh will fail on two runs
before succeeding. This is because it copies two files to
staging during its run. When the file kubernetes#1 is copied to
the bucket, we hit this ACL-setting line which fails for
weird bucket permission errors. The next run, kube-up
discovers that file kubernetes#1 is already in the bucket and doesn't
call copy-to-staging, proceeding instead to copying file kubernetes#2
to staging. The same error occurs. On the third run, both files
are determined to be in the bucket and available and so the
script proceeds without incident and completes a successful run.
With this addition of || true, multiple runs are not necessary.
nrb pushed a commit to nrb/cloud-provider-gcp that referenced this pull request Jul 26, 2023
UPSTREAM: <carry>: Change upstream OWNERS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.