No description
Find a file
joeduffy 5f647b6cc0 Create proof of concept TypeScript resources
This demonstrates what infra-as-code might look like.  Given the difficulties
in expressing everything purely as metadata, I've decided to embark upon a little
spike to see what this would look like.  At first glance, I like it.

To see the difference, compare these to the Mu.yaml files alongside them.
2016-12-12 14:35:00 -08:00
cmd Pass compiler options to template evaluation 2016-12-09 12:42:28 -08:00
docs Add two follow-ups we need to think about, typing-wise 2016-12-12 09:26:06 -08:00
examples Add a Mu.yaml to the MongoDB/Twilio example 2016-11-23 16:28:00 -08:00
lib Create proof of concept TypeScript resources 2016-12-12 14:35:00 -08:00
pkg Add orElse/orEmpty template functions 2016-12-09 17:22:09 -08:00
.gitignore Gitignore *.swp files 2016-11-16 09:28:46 -08:00
.gitmodules Add Docker Compose and Kubernetes conversions as submodules 2016-11-01 10:30:39 -07:00
glide.lock Switch back to the official YAML repo 2016-12-09 11:59:05 -08:00
glide.yaml Switch back to the official YAML repo 2016-12-09 11:59:05 -08:00
main.go Move glogging into Mu command startup/teardown 2016-11-19 16:42:27 -08:00
Makefile Test packages when making the project 2016-11-15 19:25:06 -08:00
README.md Mention ln -s for the Mu runtime/library 2016-11-23 14:22:42 -08:00

Mu

Mu is a framework and toolset for creating reusable stacks of services.

Building and Testing

To build Mu, first clone it into a standard Go workspace:

$ mkdir -p $GOPATH/src/github.com/marapongo
$ git clone git@github.com:marapongo/mu $GOPATH/src/github.com/marapongo/mu

A good default value for GOPATH is ~/go.

Mu needs to know where to look for its runtime, library, etc. By default, it will look in /usr/local/mu, however you can override this with the MUPATH variable. Normally it's easiest just to create a symlink:

$ ln -s $GOPATH/src/github.com/marapongo/mu /usr/local/mu

There is one additional build-time dependency, golint, which can be installed using:

$ go get -u github.com/golang/lint/golint

And placed on your path by:

$ export PATH=$PATH:$GOPATH/bin

At this point you should be able to build and run tests from the root directory:

$ cd $GOPATH/src/github.com/marapongo/mu
$ make

This installs the mu binary into $GOPATH/bin, which may now be run provided make exited successfully.