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

[book] Add advanced section to document using kustomize + yaml templates #3373

Closed
CecileRobertMichon opened this issue Jul 21, 2020 · 15 comments · Fixed by #4333
Closed

[book] Add advanced section to document using kustomize + yaml templates #3373

CecileRobertMichon opened this issue Jul 21, 2020 · 15 comments · Fixed by #4333
Assignees
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/documentation Categorizes issue or PR as related to documentation. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Milestone

Comments

@CecileRobertMichon
Copy link
Contributor

For some users, clusterctl is not flexible enough to configure clusters past the quickstart experience. Many of the providers provide example "flavor" templates as references. However, for more advanced users that need greater control over the cluster configuration, the templates need to be curated to fit their use case (eg. add custom images, modify cloud provider args, etc.)

In the future, a templating solution might be integrated into clusterctl and fill the gap between the day 0 experience and the flexibility required by advanced users.

In the meantime, we should consider adding an advanced section in the documentation about using kustomize and templates, possibly with a note about the future templating engine in clusterctl. Currently, the Cluster API book only covers clusterctl as UX for cluster API which might make users think that applying yaml templates without using clusterctl config is not supported anymore (and the only other option is the overrides directory which is intended for developers, not users).

See also kubernetes-sigs/cluster-api-provider-azure#776

@CecileRobertMichon
Copy link
Contributor Author

/kind documentation

@k8s-ci-robot k8s-ci-robot added the kind/documentation Categorizes issue or PR as related to documentation. label Jul 21, 2020
@vincepri
Copy link
Member

/milestone v0.3.x

@k8s-ci-robot k8s-ci-robot added this to the v0.3.x milestone Jul 21, 2020
@vincepri
Copy link
Member

vincepri commented Aug 3, 2020

/milestone v0.4.0
/help

@k8s-ci-robot
Copy link
Contributor

@vincepri:
This request has been marked as needing help from a contributor.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/milestone v0.4.0
/help

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.

@k8s-ci-robot k8s-ci-robot modified the milestones: v0.3.x, v0.4.0 Aug 3, 2020
@k8s-ci-robot k8s-ci-robot added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Aug 3, 2020
@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 Nov 1, 2020
@fabriziopandini
Copy link
Member

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 1, 2020
@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 Jan 30, 2021
@CecileRobertMichon
Copy link
Contributor Author

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 1, 2021
@vincepri
Copy link
Member

vincepri commented Feb 3, 2021

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Feb 3, 2021
@scottslowe
Copy link
Contributor

I can take this issue. I have some existing content on using kustomize with Cluster API that should be straightforward to adapt and get added to the documentation.

/assign

@vincepri
Copy link
Member

@scottslowe Are you still working on this issue?

@scottslowe
Copy link
Contributor

@vincepri Yes, I am. There's a lot here, so I've been trying to figure out just how much to include/exclude. For example, should I include information on customizing the kustomize transformers so they are more Cluster API "aware"?

@vincepri
Copy link
Member

Can you provide an example?

@scottslowe
Copy link
Contributor

scottslowe commented Mar 16, 2021

For example, without customizing the NameReference transformer then the use of the namePrefix and nameSuffix directives won't work properly; the metadata.name field will get updated, but fields like the spec.infrastructureRef.name field that points to an AWSCluster object won't get updated. You then end up with a broken manifest.

This blog post I wrote has some additional information: https://blog.scottlowe.org/2020/03/17/kustomize-transformer-configuration-cluster-api-v1alpha3/

@fabriziopandini
Copy link
Member

I think that we can present this by use cases/ complexity:

  • Basic
    • Use kustomize to build templates variant (assembling together different templates bits but without applying transformation, something like what we are doing for E2E test)
  • Advanced
    • Make name prefix/suffix customisable

This has the advantage that we can start by few use cases and then add more in incrementa follow ups

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/documentation Categorizes issue or PR as related to documentation. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants