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

Better installation instructions #292

Merged
merged 3 commits into from
Jun 10, 2019
Merged

Better installation instructions #292

merged 3 commits into from
Jun 10, 2019

Conversation

alenkacz
Copy link
Contributor

@alenkacz alenkacz commented Jun 5, 2019

What type of PR is this?
/kind documentation

What this PR does / why we need it:
Better instructions on how to install kudo into cluster (I believe this is what most people would want to do).

NONE

- `cd $GOPATH/src/github.com/kudobuilder/kudo`
- `kubectl apply -f config/crds` to deploy the universal CRDs
- `make run` to run the Operator with local go environment or `make deploy | kubectl apply -f -` to install to your kubernetes cluster
- Get KUDO repo: `git clone git@github.com:kudobuilder/kudo.git`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK with go modules, go get does not precisely do what it did on systems prior to go modules, so it no longer fetches code into gopath. Aleksey had problems with that when installing into local env. I believe this is fail-safe steps :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will mean users end up with $GOPATH/src/github.com/kudobuilder/kudo/kudo - we probably want to drop the /kudo from the previous two commands.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed with @yankcrime, nested one level too deep. :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So change just to mkdir -p $GOPATH/src/github.com/kudobuilder

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, they can clone this anywhere, since they're just creating/applying some YML

Copy link
Member

@fabianbaier fabianbaier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@yankcrime
Copy link
Member

I wonder if it's worth having two sections here, one for running locally and one for deploying to your cluster?

@alenkacz
Copy link
Contributor Author

alenkacz commented Jun 5, 2019

@yankcrime well you cannot install crds locally anyway so you have to have some cluster... and would anyone else than developer want to run controller locally? Maybe we can do getting started separately for future contributors... But I think this is what most people are looking for (when not contributors)

@yankcrime
Copy link
Member

@alenkacz Yeah I was thinking about local development really. Having it under a 'getting started' section aimed at people wanting to contribute sounds good though 👍

- `cd $GOPATH/src/github.com/kudobuilder/kudo`
- `kubectl apply -f config/crds` to deploy the universal CRDs
- `make run` to run the Operator with local go environment or `make deploy | kubectl apply -f -` to install to your kubernetes cluster
- Get KUDO repo: `git clone git@github.com:kudobuilder/kudo.git`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So change just to mkdir -p $GOPATH/src/github.com/kudobuilder

@@ -20,12 +21,12 @@ Before you get started:

> ⚠️ This project uses Go Modules. Due to the current state of code generation in [controller-tools](https://github.com/kubernetes-sigs/controller-tools) and [code-generator](https://github.com/kubernetes/code-generator), KUDO currently **must** be cloned into its `$GOPATH`-based location.

## Installation Instructions
## Install KUDO to your cluster
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to

  1. Have a GOPATH
  2. Put this repo in the gopath

to install the controller and CRDs? I was able to do all of this from outside my gopath:

  1. git clone git@github.com:kudobuilder/kudo.git
  2. cd kudo
  3. make deploy | kubectl apply -f -

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh right, you need gopath only when you would want to compile the project. I guess for people who want to only deploy we can simplify...

- `kubectl apply -f config/crds` to deploy the universal CRDs
- `make run` to run the Operator with local go environment or `make deploy | kubectl apply -f -` to install to your kubernetes cluster
- Get KUDO repo: `git clone git@github.com:kudobuilder/kudo.git`
- `make deploy | kubectl apply -f -` to install controller and CRDs to your Kubernetes cluster
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add cd kudo step before make deploy

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are we generating the CRDs to files under config/crds and committing to the repo if we expect users to make deploy | kubectl apply -f -? I like the make approach. should we delete the crds from the repo?

Copy link
Member

@kensipe kensipe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't improve things IMO.
We need a getting started for developers. For that we expect make, go, kubectl, etc. We should also expect they will want to get started local minikube as well as a test cluster.

We also need getting started for ops. For that we should expect they do NOT have make or go. We should expect that they have docker, kubectl. They too may want to test against minikube but likely want to run on a larger cluster.

@alenkacz
Copy link
Contributor Author

alenkacz commented Jun 7, 2019

@kensipe I would say this improve things because the current installation instructions are incorrect and they don't work at all. Maybe you meant to phrase that a little bit more softly :-)

Anyway my idea was - if you don't have make, you output the yaml on your machine and then somehow get it to the cluster where you deploy it. I mean you have to have kubernetes, right? What's the point of running this outside kubernetes...

@kensipe
Copy link
Member

kensipe commented Jun 7, 2019

@alenkacz I certainly meant not offense.

@alenkacz alenkacz merged commit da1da8e into master Jun 10, 2019
@alenkacz alenkacz deleted the av/installation-docs branch June 12, 2019 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants