Skip to content

controller-gen: webhook manifest order can change unexpectedly #900

@jmeyers35

Description

@jmeyers35

We ran into a case of config/webhook/manifests.yaml changing unexpectedly - that is, without any changes/additions to the existing webhooks.

I can't share the source of our project and I don't have another repo at the moment, but I'll share one if I can reproduce this with sample code. For context, we have two API versions in our project: v1 and v1alpha1.

After adding an import of the v1alpha1 package in code unrelated to webhooks, controller-gen changed the order of the webhook definitions in manifests.yaml. I was able to trace this back to a difference in the order in which controller-gen traverses packages - with the new import, it visits v1alpha1 first; without the new import, it visits v1 first.

I would expect that webhook/manifests.yaml should be stable when there are no changes that involve webhooks. I'm not sure if the appropriate fix here would be in the webhook parser (e.g. an additional sort based on the API version) or in how controller-gen visits packages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions