README fillin
This commit is contained in:
parent
f575b07827
commit
2c68123b60
13
Makefile
13
Makefile
|
@ -2,6 +2,12 @@ DEPS = $(shell go list -f '{{range .TestImports}}{{.}} {{end}}' ./...)
|
|||
PACKAGES = $(shell go list ./...)
|
||||
VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods \
|
||||
-nilfunc -printf -rangeloops -shift -structtags -unsafeptr
|
||||
EXTERNAL_TOOLS=\
|
||||
github.com/tools/godep \
|
||||
github.com/mitchellh/gox \
|
||||
golang.org/x/tools/cmd/cover \
|
||||
golang.org/x/tools/cmd/vet
|
||||
|
||||
|
||||
all: deps format
|
||||
@mkdir -p bin/
|
||||
|
@ -50,4 +56,11 @@ web:
|
|||
web-push:
|
||||
./scripts/website_push.sh
|
||||
|
||||
# bootstrap the build by downloading additional tools
|
||||
bootstrap:
|
||||
@for tool in $(EXTERNAL_TOOLS) ; do \
|
||||
echo "Installing $$tool" ; \
|
||||
go get $$tool; \
|
||||
done
|
||||
|
||||
.PHONY: all cov deps integ test vet web web-push test-nodep
|
||||
|
|
91
README.md
91
README.md
|
@ -1,2 +1,89 @@
|
|||
# nomad
|
||||
Where the wild bits roam
|
||||
Nomad [![Build Status](https://travis-ci.org/hashicorp/nomad.svg)](https://travis-ci.org/hashicorp/nomad)
|
||||
=========
|
||||
|
||||
- Website: https://www.nomadproject.io
|
||||
- IRC: `#nomad-tool` on Freenode
|
||||
- Mailing list: [Google Groups](https://groups.google.com/group/nomad-tool)
|
||||
|
||||
![Nomad](https://raw.githubusercontent.com/hashicorp/nomad/master/website/source/assets/images/logo-header%402x.png?token=AAkIoLO_y1g3wgHMr3QO-559BN22rN0kks5V_2HpwA%3D%3D)
|
||||
|
||||
Nomad is a cluster manager, designed for both long lived services and short
|
||||
lived batch processing workloads. Developers use a declarative job specification
|
||||
to submit work, and Nomad ensures constraints are satisfied and resource utilization
|
||||
is optimized by efficient task packing. Nomad supports all major operating systems
|
||||
and virtualized, containerized, or standalone applications.
|
||||
|
||||
The key features of Nomad are:
|
||||
|
||||
* **Docker Support**: Jobs can specify tasks which are Docker containers.
|
||||
Nomad will automatically run the containers on clients which have Docker
|
||||
installed, scale up and down based on the number of instances request,
|
||||
and automatically recover from failures.
|
||||
|
||||
* **Multi-Datacenter and Multi-Region Aware**: Nomad is designed to be
|
||||
a global-scale scheduler. Multiple datacenters can be managed as part
|
||||
of a larger region, and jobs can be scheduled across datacenters if
|
||||
requested. Multiple regions join together and federate jobs making it
|
||||
easy to run jobs anywhere.
|
||||
|
||||
* **Operationally Simple**: Nomad runs as a single binary that can be
|
||||
either a client or server, and is completely self contained. Nomad does
|
||||
not require any external services for storage or coordination. This means
|
||||
Nomad combines the features of a resource manager and scheduler in a single
|
||||
system.
|
||||
|
||||
* **Distributed and Highly-Available**: Nomad servers cluster together and
|
||||
perform leader election and state replication to provide high availability
|
||||
in the face of failure. The Nomad scheduling engine is optimized for
|
||||
optimistic concurrency allowing all servers to make scheduling decisions to
|
||||
maximize throughput.
|
||||
|
||||
* **HashiCorp Ecosystem**: Nomad integrates with the entire HashiCorp
|
||||
ecosystem of tools. Along with all HashiCorp tools, Nomad is designed
|
||||
in the unix philosophy of doing something specific and doing it well.
|
||||
Nomad integrates with tools like Packer, Consul, and Terraform to support
|
||||
building artifacts, service discovery, monitoring and capacity management.
|
||||
|
||||
For more information, see the [introduction section](https://www.nomadproject.io/intro)
|
||||
of the Nomad website.
|
||||
|
||||
Getting Started & Documentation
|
||||
-------------------------------
|
||||
|
||||
All documentation is available on the [Nomad website](https://www.nomadproject.io).
|
||||
|
||||
Developing Nomad
|
||||
--------------------
|
||||
|
||||
If you wish to work on Nomad itself or any of its built-in systems,
|
||||
you'll first need [Go](https://www.golang.org) installed on your
|
||||
machine (version 1.4+ is *required*).
|
||||
|
||||
For local dev first make sure Go is properly installed, including setting up a
|
||||
[GOPATH](https://golang.org/doc/code.html#GOPATH). After setting up Go, you can
|
||||
download the required build tools such as vet, cover, godep etc by bootstrapping
|
||||
your environment.
|
||||
|
||||
```sh
|
||||
$ make bootstrap
|
||||
...
|
||||
```
|
||||
|
||||
Next, clone this repository into `$GOPATH/src/github.com/hashicorp/nomad`.
|
||||
Then type `make test`. This will run the tests. If this exits with exit status 0,
|
||||
then everything is working!
|
||||
|
||||
```sh
|
||||
$ make test
|
||||
...
|
||||
```
|
||||
|
||||
To compile a development version of Nomad, run `make`. This will put the
|
||||
Nomad binary in the `bin` and `$GOPATH/bin` folders:
|
||||
|
||||
```sh
|
||||
$ make
|
||||
...
|
||||
$ bin/nomad
|
||||
...
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue