-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Example: configuration generation as build steps #1694
Labels
Comments
This was referenced Oct 9, 2014
Jenkins is an obvious possibility to investigate for the build tool/system. |
This was referenced Oct 21, 2014
Merged
Closing in favor of supporting a pipeline of transformations in kubectl. |
soltysh
pushed a commit
to soltysh/kubernetes
that referenced
this issue
Sep 20, 2023
…erry-pick-1689-to-release-4.12 [release-4.12] OCPBUGS-18768: UPSTREAM: <carry>: Force using host go always and use host libriaries
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Generating a set of concrete API objects to reconcile with the apiserver via kubecfg/kubectl could be expressed as a series of (parameterized) build-like transformation steps.
For instance, one could translate from templated YAML to untemplated YAML to JSON (the last step would be required if we stopped supporting YAML in apiserver - #1004). Users should be able to use whatever templating systems they like, such as Mustache or Jinja. It should even be possible to use a different language for each configuration file, which would facilitate sharing of templates.
More complete macro generation/expansion could also occur this way, as discussed in #1007, taking in JSON or YAML for the macro and emitting multiple API objects (or even other macro objects). For instance, kubecfg's run operation (which is not present in the new version; see #1325) could be handled this way (filing separate issue).
There are a few other domain-specific transformations that would be useful (e.g., image name/tag resolution, name+label+selector scoping, and reference generation), for which I'll also file other issues.
The final concrete objects could then be checked into a version control branch and deployed using kubectl and/or a workflow or script wrapped around it.
The text was updated successfully, but these errors were encountered: