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

Ship CAPI with batteries included #1527

Closed
vincepri opened this issue Oct 14, 2019 · 10 comments · Fixed by #1545
Closed

Ship CAPI with batteries included #1527

vincepri opened this issue Oct 14, 2019 · 10 comments · Fixed by #1545
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone

Comments

@vincepri
Copy link
Member

User Story

As a developer/user/operator I would like to deploy a single Cluster API manager/binary with everything except cloud providers for easier management of Cluster API resources

Detailed Description

[A clear and concise description of what you want to happen.]

Goals

  • Ship Cluster API manager including CABPK, and possibly the future control plane manager.
  • Deploy all CRDs and resources with a single command.

Non-Goals

  • Include infrastructure providers.

/kind feature
/milestone v0.3.0
/priority important-soon

@k8s-ci-robot k8s-ci-robot added this to the v0.3.0 milestone Oct 14, 2019
@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Oct 14, 2019
@vincepri vincepri self-assigned this Oct 14, 2019
@fabriziopandini
Copy link
Member

/assign

@detiber
Copy link
Member

detiber commented Oct 15, 2019

If we do this, I would like to make sure that we don't consolidate the controllers for the different "providers" into the same go package, and that we do some level of verification that we aren't importing core logic that external providers do not have access to in the "default" provider implementations.

@ncdc
Copy link
Contributor

ncdc commented Oct 15, 2019

+1. We aren't planning on merging all the controllers into a single package. Hopefully that won't be an issue with kubebuilder. If you see any evidence of preferential coding treatment to in-tree providers, definitely raise a concern. We're ok for now, though, given the current state of the repo.

@vincepri
Copy link
Member Author

Within the context of shipping Cluster API with batteries included, I left a comment in the CABPK PR to make sure we can agree on how to move forward. Here is some more detail of what I'd like to see:

  • Kubeadm controllers live under /bootstrap/kubeadm/controllers.
  • Kubeadm types live under /bootstrap/kubeadm/api.
  • No Makefile, Dockerfile, go.mod, CI scripts, hacks.
  • CRDs live and get generated with top-level CAPI automation under /config/crd/bases.
  • Add the Kubeadm controllers and types to /main.go file, ship it with CAPI.

This favors simplicity and at the same time keeps things separated so it can used as a reference.

@detiber
Copy link
Member

detiber commented Oct 15, 2019

@vincepri Personally, I'd like to see the CABPK PR merged as is, and a PR that attempts to do the above while preserving Kubebuilder (for creation of additional types and/or webhooks) and controller-tools generation with a single Makefile.

@vincepri
Copy link
Member Author

@chuckha How do you feel about the above? I can take those action items if you don't have time.

@fabriziopandini
Copy link
Member

I'm + 1 with Jason on getting moving with and then iterate simplifying automation
But somehow, we should preserve the ability to work on single pieces and assemble everything at release/package time

@vincepri
Copy link
Member Author

I'm fine to merge the PR, I'd like to make sure we're aligned on the state of the repository after it merges, happy to do the work

@chuckha
Copy link
Contributor

chuckha commented Oct 15, 2019

Big +1 on alignment. Let's merge the PR and then get to this point iteratively.

@vincepri
Copy link
Member Author

/assign
/lifecycle active

@k8s-ci-robot k8s-ci-robot added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants