-
Notifications
You must be signed in to change notification settings - Fork 101
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
Conversation
- `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` |
There was a problem hiding this comment.
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 :)
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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. :)
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I wonder if it's worth having two sections here, one for running locally and one for deploying to your cluster? |
@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) |
@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` |
There was a problem hiding this comment.
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
docs/getting-started.md
Outdated
@@ -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 |
There was a problem hiding this comment.
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
- Have a GOPATH
- Put this repo in the gopath
to install the controller and CRDs? I was able to do all of this from outside my gopath:
git clone git@github.com:kudobuilder/kudo.git
cd kudo
make deploy | kubectl apply -f -
There was a problem hiding this comment.
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...
docs/getting-started.md
Outdated
- `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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
There was a problem hiding this 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.
@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... |
@alenkacz I certainly meant not offense. |
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).