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

Application crd #1633

Merged
merged 65 commits into from Oct 20, 2018
Merged

Application crd #1633

merged 65 commits into from Oct 20, 2018

Conversation

kkasravi
Copy link
Contributor

@kkasravi kkasravi commented Sep 26, 2018

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 Reviewable

@kkasravi
Copy link
Contributor Author

/assign

@kkasravi
Copy link
Contributor Author

/wip

@kkasravi
Copy link
Contributor Author

/hold

@jlewi
Copy link
Contributor

jlewi commented Sep 27, 2018

This looks great.

@jlewi
Copy link
Contributor

jlewi commented Sep 27, 2018

Either in this PR or as a follow on issue it might be nice to provide version information; e.g. Kubeflow v0.3.0

@kkasravi
Copy link
Contributor Author

/retest

@jlewi
Copy link
Contributor

jlewi commented Oct 18, 2018

I think the only part in this PR that I'm confused about is why you replaced the liness

ks apply default -c cloud-endpoints	  # Deploy the kubeflow application
  ks apply default -c cert-manager	  # - first create all cluster resources
  ks apply default -c iap-ingress	  ks param set application components '["cloud-endpoints", "cert-manager", "iap-ingress"]' 
  ks apply default -c pytorch-operator

with

  # Deploy the kubeflow application
  # - first create all cluster resources
  ks param set application bootstrap true
  ks apply default -c application
  # - second create all namespace scoped resources.
  ks param set application bootstrap false
  ks apply default -c application

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.

@kkasravi
Copy link
Contributor Author

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 ...

@kkasravi
Copy link
Contributor Author

@jlewi

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

@jlewi
Copy link
Contributor

jlewi commented Oct 20, 2018

This is great. Thank you so much.

/lgtm
/approve

@k8s-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 192f758 into kubeflow:master Oct 20, 2018
@kkasravi kkasravi deleted the application_CRD branch March 25, 2019 21:38
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 11, 2021
* 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
surajkota pushed a commit to surajkota/kubeflow that referenced this pull request Jun 13, 2022
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Application Custom Resource for Kubeflow Deployments
5 participants