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

One-liner installation #307

Open
astefanutti opened this issue Sep 25, 2023 · 5 comments
Open

One-liner installation #307

astefanutti opened this issue Sep 25, 2023 · 5 comments

Comments

@astefanutti
Copy link
Contributor

astefanutti commented Sep 25, 2023

Name of Feature or Improvement

Provide a one-liner installation for the CodeFlare operator, e.g.:

$ kubectl apply -f https://github.com/project-codeflare/codeflare-operator/releases/download/v1.0.0/manifests.yaml

This is now possible thanks to the operator redesign (#216).

Description of Problem the Feature Should Solve

Officially, the operator can only be installed via OLM / Operator Hub. While that's convenient on OpenShift clusters that comes with OLM support OOTB, it's impractical for other Kubernetes distributions.

Describe the Solution You Would Like to See

It's conventional for operator to support a one-liner installation from the command line.

This is usually done by rendering Kustomize manifests in a single file, that's attached to each release. That file can also be versioned as part of the code.

This would be the official replacement for the Helm charts (e.g. in MCAD), that have filled the gap for installing the stack up until now.

Additional Context

The (non-OLM) e2e tests setup will be updated to use that installation file, so it's covered and non-regression guaranteed.

@tedhtchang
Copy link
Member

@astefanutti This will be awesome!
Could we create this manifests.yaml as part the v1.0.0-rc2 release so we I can try it out.
With this 1 liner, do we still need another command to install the raycluster ClusteRrole and ClusterRoleBinding?

@tedhtchang
Copy link
Member

This will provide the best experience for the issue

@astefanutti
Copy link
Contributor Author

@tedhtchang

Could we create this manifests.yaml as part the v1.0.0-rc2 release so we I can try it out.

Sure.

With this 1 liner, do we still need another command to install the raycluster ClusteRrole and ClusterRoleBinding?

This is for us to decide whether we include the Ray RBAC resources in it. This would better be done once project-codeflare/multi-cluster-app-dispatcher#635 is done. An alternative would be to publish two manifests files, one with only the core resources, and another one that'd also include the extra resources for Ray.

@tedhtchang
Copy link
Member

tedhtchang commented Sep 26, 2023

@astefanutti Another question is now we have 2 controllers to handle AppWrapper CR:

  1. mcad-controller from mcad repo which also has deployment options and examples
  2. codeflare-operator 1 liner will be convenient but missing all the details.
    Which one should we tell user to adapt ?

@dimakis dimakis self-assigned this Oct 31, 2023
@tedhtchang tedhtchang self-assigned this Nov 1, 2023
@tedhtchang
Copy link
Member

tedhtchang commented Nov 1, 2023

Anyone looked into this? I think we just need another target in the Makefile and run target in a workflow.

.PHONY: dump-resources
dump-resource: manifests kustomize
	cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
	$(KUSTOMIZE) build config/${ENV} > ./codeflare-stack-kind.yaml
	git restore config/*

@tedhtchang tedhtchang removed their assignment Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants