No description
Find a file
joeduffy 14471c0ac7 Experiment with different syntax for resource creation
In this change, ":= new" declares a new resource.

In addition, we change arrays to be Go-like, in that zero-initialized
ones can be appended to safely, such that declaring a new instance is
done merely by stating "var arr: T[]".
2016-12-15 17:50:10 -08:00
cmd Pass compiler options to template evaluation 2016-12-09 12:42:28 -08:00
docs Make a few minor language doc edits 2016-12-15 16:40:19 -08:00
examples Experiment with different syntax for resource creation 2016-12-15 17:50:10 -08:00
lib Use a separate service for AWS cluster 2016-12-14 15:15:29 -08:00
pkg Add orElse/orEmpty template functions 2016-12-09 17:22:09 -08:00
sdk/javascript Make the Mu library a Node package; get it compiling 2016-12-12 17:56:13 -08:00
.gitignore
.gitmodules
glide.lock
glide.yaml
main.go
Makefile
README.md

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.