Skip to content
This repository has been archived by the owner on May 6, 2020. It is now read-only.

doc(dev-env): update dev env docs #180

Merged
merged 1 commit into from
Dec 23, 2015
Merged

doc(dev-env): update dev env docs #180

merged 1 commit into from
Dec 23, 2015

Conversation

krancour
Copy link
Contributor

This is a massive rewrite of the docs for setting up the development environment.

Note, I expect these to shrink significantly as we make more headway in transitioning each component's development environment to something container-based. For now, this is necessary...

This does away with mentions of defunct things like make dev-cluster and deisctl and replaces them with information about building and deploying to k8s.

This massive update also re-orders docs a bit and pays down some outstanding inaccuracies.

Please note that this doc tries really hard to document the general procedures for hacking on each of our many components. Until we have made our Makefiles uniform, your mileage from these instructions may vary from one component to the next. I don't see this as a flaw in the docs; rather I see adherence to the docs as something for each component to aspire to.


We try to make it simple to hack on Deis. However, there are necessarily several moving pieces and some setup required. We welcome any suggestions for automating or simplifying this process.
!!! note
The Deis team is actively engaged in containerizing Go and Python based development environments tailored specifcally for Deis development in order to minimize the setup required. This work is ongoing.
Copy link
Member

Choose a reason for hiding this comment

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

an (optional, of course) idea: link to some or all of the 'containerize the dev environment' issues we have on the repos so people can follow the work as it progresses? some of the repos (router, for example, as you know ;) already are fully, or almost fully, containerized

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Perhaps I'll just reference the router as a working example of such a containerized dev environment?

Copy link
Member

Choose a reason for hiding this comment

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

yea, that's perfect

@arschles
Copy link
Member

@krancour a few nits/spelling notes and comments. ping me when fixed and I'll give this one more read. looks great in general

@krancour
Copy link
Contributor Author

@carmstrong when you look, can I ask you to comment on my changed naming of the Docker Machine VM to deis-docker? I thought this sounded more appropriate since that VM is used to support Deis development in many way beyond just hosting a dev registry. For instance, even a simple docker pull or docker build is dependent upon that VM.

Install Docker Machine according to the normal installation instructions. Then create a new image for hosting your Deis Docker registry:
```
$ docker-machine create deis-docker \
--driver=virtualbox \
Copy link
Contributor

Choose a reason for hiding this comment

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

Are we assuming that users have VirtualBox installed? I think it was removed as a dependency above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll document it as a conditional dependency-- required if you're also in need of Docker Machine. Folks on Linux or developing using a public dev registry won't need either of those.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, it's mentioned and linked to on line 55. Is that sufficient?

Copy link
Contributor

Choose a reason for hiding this comment

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

See it now. 👍


## Start Up a Development Cluster
Deis components each include a comprehensive suite of automated tests, mostly written in Go. See [testing][] for instructions on running the tests.
Copy link
Contributor

Choose a reason for hiding this comment

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

Need a link target here

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, wait... maybe that's shorthand to mean the testing target? Cool.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yup.

@arschles arschles added the LGTM1 label Dec 22, 2015
@arschles
Copy link
Member

@krancour gave LGTM. I don't see any other issues than the one you're already talking about with @carmstrong

@krancour
Copy link
Contributor Author

@arschles thanks for the review and LGTM. Just to double-check one thing... you're not aware of any dev tools used for any of the projects that aren't sufficiently covered here, are you? This doc endeavors to generically cover what is required to hack on all the components and admittedly, I have not gone deep into each and every one.

@carmstrong
Copy link
Contributor

Overall, this is a great improvement! Excellent work, @krancour. LGTM after my comments are addressed.

@arschles
Copy link
Member

@krancour nope, I don't know of any other dev tools except vagrant, which @carmstrong brought up already

@krancour
Copy link
Contributor Author

Wait... what about vagrant? I don't see a comment about that.

@arschles
Copy link
Member

@krancour gah, sorry meant vbox: deis/workflow#180 (comment)

@arschles
Copy link
Member

however, you do mention vagrant in a few places, so maybe it'd be a good idea to mention how that fits into the picture. not a blocker for this PR

@krancour
Copy link
Contributor Author

They're just sort of passing mentions of Vagrant. There's nothing that we've documented here that requires Vagrant. Running a k8s cluster within Vagrant is just one possibility. It's mentioned as such, but I see no reason to go into greater depth than that. If someone chooses that route, the procedure and prereqs are documented elsewhere.

@krancour
Copy link
Contributor Author

@carmstrong all of your feedback is now accounted for if you want to take another gander at your convenience.

@carmstrong
Copy link
Contributor

🍧

@carmstrong
Copy link
Contributor

Also, 🚢

@slack
Copy link
Member

slack commented Dec 23, 2015

You are an 👼

@arschles
Copy link
Member

looks like this needs a rebase again 😢

@carmstrong
Copy link
Contributor

looks like this needs a rebase again

I think you and @helgi are bugging out - this is mergeable to me

@arschles
Copy link
Member

k. guess GH doesn't like docs ;)

krancour added a commit that referenced this pull request Dec 23, 2015
doc(dev-env): update dev env docs
@krancour krancour merged commit 08d899f into deis:master Dec 23, 2015
@krancour krancour deleted the update-dev-env-docs branch February 4, 2016 19:20
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants