-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
kfctl generated yaml fails validation #2653
Comments
What is the default.yaml file? Is this a dump of all the YAML via metacontroller? Will we get rid of default.yaml when we fix #2391 and apply all the components directly? |
Earlier behavior was to call ksonnet.Apply for [metacontroller, application]. I think @gabrielwen switched to calling ksonnet.Show with output being dumped to
Basically, It's the dump of all YAML via ksonnet in the application component. The reason (as we've discussed before) is to label all namespace'd components.
kustomize will let us do this via a common label for ported components. For ksonnet - which is dumping to default.yaml, we should not call @gabrielwen - did you have any additional comments? @swiftdiaries - any thoughts on processing the ksonnet generated yaml through kustomize to apply a common label needed by the Application CR? This way we could drop the ksonnet processing done in application.libsonnet. @jlewi do we need a design doc for kfctl in the kubeflow drive? We have been using the README.md under bootstrap/cmd/kfctl but a design doc may be a better place to solicit feedback. |
Sounds like a good idea |
This seems a little inelegant. In line with #2391 I'd really like to have the deployment process follow standard processes. For ksonnet that means using I'd like to follow common processes because lots of developers are working on this code and so the simpler we can make it the better. Likewise combining ksonnet and kustomize is very non-standard. Per the discussion about Application CRs (https://bit.ly/2BukRoW). We are moving to a world where we will have a tree of applications.
As a work around for ksonnet can we just hardcode the label e.g. set the label
Since ksonnet is going away why spend time figuring out how to consistently set the label to
where So my suggested priorities would be
With the exception of #2391 I might focus all the App CR improvements on kustomize rather than continuing to invest in the ksonnet versions of the packages. |
@jlewi sure - I think we then drop the ksonnet application component then since it was only doing client-side labeling and reparenting resources to the metacontroller. All 3 steps above can be done in kustomize w/o requiring the sigs.k8s.io/application controller. Though we'll eventually need the controller for reparenting and health. Should we have all components ported to kustomize for 0.5? |
I think if we can have an option in 0.5 to deploy with kustomize that would be great but I don't want to plan on dropping ksonnet support until we have kustomize working and I don't know that will make it for 0.5 |
Understood, @swiftdiaries and I will see what we can do. |
in kfctl (golang), the generate method will create a /ks_app/default.yaml.
It then calls kubectl apply -f default.yaml. If you run
kubectl apply -f default.yaml --validate --dry-run
the following errors occur:
The text was updated successfully, but these errors were encountered: