Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Implement ComponentConfig by default & stop using (most) flags #722

Closed
luxas opened this issue May 20, 2019 · 10 comments · Fixed by #1790
Closed

Implement ComponentConfig by default & stop using (most) flags #722

luxas opened this issue May 20, 2019 · 10 comments · Fixed by #1790
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. wg/component-standard Categorizes an issue or PR as relevant to WG Component Standard.
Milestone

Comments

@luxas
Copy link

luxas commented May 20, 2019

/kind feature
related KEPs here: https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/wgs

cc @DirectXMan12 as per contributor summit discussion

@luxas luxas added the kind/feature Categorizes issue or PR as related to a new feature. label May 20, 2019
@DirectXMan12
Copy link
Contributor

DirectXMan12 commented May 30, 2019

Probably needs equivalent CR support? Need to take a closer look. In the mean time, people should feel free to weigh in with more info

/help-wanted

@fejta-bot
Copy link

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

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 28, 2019
@DirectXMan12
Copy link
Contributor

/ifecycle frozen

@stealthybox
Copy link

/wg component-standard

@k8s-ci-robot k8s-ci-robot added the wg/component-standard Categorizes an issue or PR as relevant to WG Component Standard. label Sep 21, 2019
@stealthybox
Copy link

@fejta-bot
Copy link

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

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 21, 2019
@DirectXMan12
Copy link
Contributor

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Nov 6, 2019
@christopherhein
Copy link
Member

/assign

@christopherhein
Copy link
Member

We've gotten the initial implementation done in kubernetes-sigs/controller-runtime#891 using kubernetes-sigs/controller-runtime#895 to track the progress. Do you think we're ready to do an initial implementation Kubebuilder @DirectXMan12 ? The changes as I see could be something like…

When you kubebuilder init you could pass --component-config which would add a couple of small changes to the main.go like adding .AndFromOrDie(cfg.FromFile()) to the ctrl.Options{} passed into ctrl.NewManager() as well as configuring the config/manager/kustomization.yaml to load a ConfigMap from a file and scaffold that file in config/manager/config.yaml this way out of the box you have a built-in configfile to configure how the controller manager is run if you want to use this and you could exclude --component-config if you didn't.

An extended version of this could be --component-config={CustomKind} which could scaffold custom type similar to https://github.com/kubernetes-sigs/controller-runtime/blob/master/examples/configfile/custom/main.go#L49-L53 + https://github.com/kubernetes-sigs/controller-runtime/blob/master/examples/configfile/custom/v1alpha1/types.go, this would require automatically setting multigroup: true since configs are typically config.{domain} with a kind of {Name}Configuration.

What do you all think? (My hesitation would be that it's defined as an alpha API and we don't have a versioning strategy in-place yet)

@christopherhein
Copy link
Member

Looks like #1746 should be done first which is involved in updating to the latest CR build.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. wg/component-standard Categorizes an issue or PR as relevant to WG Component Standard.
Projects
None yet
7 participants