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

✨ (go/v3) Add the --force option for the webhook #1903

Merged
merged 1 commit into from
Dec 15, 2020

Conversation

prafull01
Copy link
Contributor

Description
Add the --force option to overwrite already generated webhook code.

Motivation
Currently, user do not have a way to overwrite already scaffold code other than deleting the scaffold code manually.

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Dec 13, 2020
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Dec 13, 2020
@prafull01
Copy link
Contributor Author

/cc @camilamacedo86

@prafull01 prafull01 changed the title sparkles: (go/v3-alpha) Add the --force option for the webhook sparkles: (go/v3) Add the --force option for the webhook Dec 13, 2020
@prafull01 prafull01 changed the title sparkles: (go/v3) Add the --force option for the webhook ✨ (go/v3) Add the --force option for the webhook Dec 13, 2020
Copy link
Member

@camilamacedo86 camilamacedo86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

It shows great for me 👍

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 14, 2020
Comment on lines +125 to +128
if err = (&crewv1.Captain{}).SetupWebhookWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create webhook", "webhook", "Captain")
os.Exit(1)
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/hold

We should not duplicate it since the file will be re-created.
Could we fix it to get it merged?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @camilamacedo86 With current behavior we can not avoid duplicating that. We can not force overwrite the main.go as the functionality is to overwrite the entire file, not the section. Also, main.go is edited by other apis as well and hence we can not do that.

To remove the such duplicate scaffolding we need to fix this

Copy link
Member

@camilamacedo86 camilamacedo86 Dec 15, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would not possible if we use the --force option then not update the main.go? wdyt?
Also, wdyt about we raise an issue in the repo to address this todo? It might give more visibility.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me raise the issue and will try to work on it.
We can not skip the update on main.go because if user runs --force for the first time in webhook create command. It will not setup the webhook manager in the main.go.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catcher. I am ok with we move forward with it and work on the duplication/todo in a follow-up.
/hold cancel

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. and removed do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Dec 14, 2020
func (c Config) HasWebhook(kind string) bool {
for _, r := range c.Resources {
if r.Kind == kind {
return r.WebhookVersion != ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to rebase it with masyter change it to r.Webhook != nil && r.Webhook.WebhookVersion != "". More; #1899

// HasWebhook returns true if webhook is already present
func (c Config) HasWebhook(kind string) bool {
for _, r := range c.Resources {
if r.Kind == kind {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to compare here gkv becuase we can have the same Kind for diff apis/gkv.
/hold

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Dec 15, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 15, 2020
Copy link
Member

@camilamacedo86 camilamacedo86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it shows fine for me. 👍
shows the same scenario of #1847 discussed in the bug triage meeting.

/lgtm
/hold cancel

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 15, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: camilamacedo86, prafull01

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

@camilamacedo86
Copy link
Member

/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 Dec 15, 2020
@k8s-ci-robot k8s-ci-robot merged commit bba9577 into kubernetes-sigs:master Dec 15, 2020
@prafull01 prafull01 deleted the force-webhook branch December 16, 2020 06:08
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/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants