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
Application crd #1633
Application crd #1633
Conversation
/assign |
/wip |
/hold |
This looks great. |
Either in this PR or as a follow on issue it might be nice to provide version information; e.g. Kubeflow v0.3.0 |
/retest |
… subset of components eg ["ambassador", "jupyterhub"]
I think the only part in this PR that I'm confused about is why you replaced the liness
with
Is this left over from an earlier draft and needs to be changed back? Unless I'm missing something it looks like this code is using the Application CRD to do the deployment and not doing the deployment client side by calling ks apply on the components. |
yes, absolutely, fixing this ... |
This is finally ready. It does have some ancillary changes in argo.libsonnet and others where I've removed namespace from things like ClusterRole, ClusterRoleBinding. I could do this in a separate PR if you would like. Per the changes, it's no longer necessary to filter resources by namespace. One thing we're not doing is adding an annotation to each resource - which I had been doing when the application component deployed all the resources. Having the application component add the annotation and patch all resources could be error-prone but would be one option. The other option would be to have the controller do this. I'm not sure if that's exactly per what spec outlines but it does discuss adoption of components |
This is great. Thank you so much. /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jlewi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* generates the application CR and the components with annotations * added the ability to have different types of applications under prototypes * snapshot * added deployment, service, compositecontroller * added README and changed prototype to kubeflow-app * update README.md and move to under prototypes * change projectNamespace to deploymentNamespace * merge params for components so params can be overwritten in application * jfmt errors * now kubeflow-app params.components can be empty (all components) or a subset of components eg ["ambassador", "jupyterhub"] * update README.md * snapshot * minor fixes related to the CRD * use kubeflow-app * /retest * /retest * fmt errors * assemblyPhase, installed updates * added tests for sort, setDiff * /retest * /retest * /retest * format * /retest * adding labels * adding labels * /retest * remove kubebuilder label * /retest * "first pass at separating cluster resources from namespace scoped resources" * remove unnecessary mods, deploy in 2 passes: cluster wide, namespace scoped * remove owner param * update on README.md * update README and schema * jfmt fix * remove namespace from ClusterRole * re-adding components as an option * re-add components option to allow for a subset of components to be deployed * only emit applicationCRD (optional) and application * /retest * /retest * /retest * /retest * /retest * /retest * /retest * /retest * /retest
…nd previous (kubeflow#1633) * Add Azure owners (kubeflow#1524) * Create v1.1.0 Azure Kfdef manifests (kubeflow#1487) * kfdef for azure * kfdef for azure * Axure kfdef * argo version update * Owners * OWNERS * argo version * Tickle owners * Tickle owners * Create v1.1.0 Azure Kfdef manifests with OIDC Azure AD (kubeflow#1576) * Rename rbac.authorization.k8s.io_v1_clusterrolebinding_custom-metrics:system:auth-delegator.yaml to rbac.authorization.k8s.io_v1_clusterrolebinding_custom-metrics:system-auth-delegator.yaml * intial kdef * indentation * eof * eof * eof * eof * eof * adding istio to azure stack * indentation * update URI * Rename rbac.authorization.k8s.io_v1_clusterrolebinding_custom-metrics:system-auth-delegator.yaml to rbac.authorization.k8s.io_v1_clusterrolebinding_custom-metrics:system:auth-delegator.yaml * placeholder for azure ad values * Add overlay to support Azure Database for MySQL (kubeflow#1587) * Add readme file * Add Azure overlay for metadata * Add azure overlay and readme file * Changed the default metadata db name to be metadata-db * Remove duplicated file * Few edits when proofreading the readme.md * Adding db name to be optional * move the overlay to azure stack folder * using relative path for metadata folder * Add Azure kfdef 1.2 manifests * Remove Tensorboard from Azure Stack * Adding myself as Azure stack approver
fixes #1106
@jlewi early view of
kind: Application
where the Application CR is being generated.The README.md shows how to generate the CR.
TODO: finish the controller sync hook (uses metacontroller) which will need to provide the status of the Application Kind.
An option is to have the sync hook create all the component resources. This could be auto-generated in application.libsonnet since application.libsonnet generates the sync hook and has access to all of the components. This would setup ownership of all component resources as being the Application Controller. I can do a demo next week if you would like - possibly to community if you think it is a direction we would like to entertain.
This change is