Browse Source

correct README

pull/4275/head
Jack Pearkes 7 years ago committed by GitHub
parent
commit
44f76ead6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 99
      README.md

99
README.md

@ -1,66 +1,75 @@
**This is a temporary README. We'll restore the old README prior to PR upstream.** # Consul [![Build Status](https://travis-ci.org/hashicorp/consul.svg?branch=master)](https://travis-ci.org/hashicorp/consul) [![Join the chat at https://gitter.im/hashicorp-consul/Lobby](https://badges.gitter.im/hashicorp-consul/Lobby.svg)](https://gitter.im/hashicorp-consul/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
# Consul Connect * Website: https://www.consul.io
* Chat: [Gitter](https://gitter.im/hashicorp-consul/Lobby)
* Mailing list: [Google Groups](https://groups.google.com/group/consul-tool/)
This repository is the forked repository for Consul Connect work to happen Consul is a tool for service discovery and configuration. Consul is
in private prior to public release. This README will explain how to safely distributed, highly available, and extremely scalable.
use this fork, how to bring in upstream changes, etc.
## Cloning Consul provides several key features:
To use this repository, clone it into your GOPATH as usual but you must * **Service Discovery** - Consul makes it simple for services to register
**rename `consul-connect` to `consul`** so that Go imports continue working themselves and to discover other services via a DNS or HTTP interface.
as usual. External services such as SaaS providers can be registered as well.
## Important: Never Modify Master * **Health Checking** - Health Checking enables Consul to quickly alert
operators about any issues in a cluster. The integration with service
discovery prevents routing traffic to unhealthy hosts and enables service
level circuit breakers.
**NEVER MODIFY MASTER! NEVER MODIFY MASTER!** * **Key/Value Storage** - A flexible key/value store enables storing
dynamic configuration, feature flagging, coordination, leader election and
more. The simple HTTP API makes it easy to use anywhere.
We want to keep the "master" branch equivalent to OSS master. This will make * **Multi-Datacenter** - Consul is built to be datacenter aware, and can
rebasing easy for master. Instead, we'll use the branch `f-connect`. All support any number of regions without complex configuration.
feature branches should branch from `f-connect` and make PRs against
`f-connect`.
When we're ready to merge back to upstream, we can make a single mega PR Consul runs on Linux, Mac OS X, FreeBSD, Solaris, and Windows. A commercial
merging `f-connect` into OSS master. This way we don't have a sudden mega version called [Consul Enterprise](https://www.hashicorp.com/products/consul)
push to master on OSS. is also available.
## Creating a Feature Branch ## Quick Start
To create a feature branch, branch from `f-connect`: An extensive quick start is viewable on the Consul website:
```sh https://www.consul.io/intro/getting-started/install.html
git checkout f-connect
git checkout -b my-new-branch
```
All merged Connect features will be in `f-connect`, so you want to work ## Documentation
from that branch. When making a PR for your feature branch, target the
`f-connect` branch as the merge target. You can do this by using the dropdowns
in the GitHub UI when creating a PR.
## Syncing Upstream Full, comprehensive documentation is viewable on the Consul website:
First update our local master: https://www.consul.io/docs
```sh ## Developing Consul
# This has to happen on forked master
git checkout master
# Add upstream to OSS Consul If you wish to work on Consul itself, you'll first need [Go](https://golang.org)
git remote add upstream https://github.com/hashicorp/consul.git installed (version 1.9+ is _required_). Make sure you have Go properly installed,
including setting up your [GOPATH](https://golang.org/doc/code.html#GOPATH).
# Fetch it Next, clone this repository into `$GOPATH/src/github.com/hashicorp/consul` and
git fetch upstream then just type `make`. In a few moments, you'll have a working `consul` executable:
# Rebase forked master onto upstream. This should have no changes since ```
# we're never modifying master. $ make
git rebase upstream master ...
$ bin/consul
...
``` ```
Next, update the `f-connect` branch: *Note: `make` will build all os/architecture combinations. Set the environment variable `CONSUL_DEV=1` to build it just for your local machine's os/architecture, or use `make dev`.*
```sh *Note: `make` will also place a copy of the binary in the first part of your `$GOPATH`.*
git checkout f-connect
git rebase origin master You can run tests by typing `make test`. The test suite may fail if
``` over-parallelized, so if you are seeing stochastic failures try
`GOTEST_FLAGS="-p 2 -parallel 2" make test`.
If you make any changes to the code, run `make format` in order to automatically
format the code according to Go standards.
## Vendoring
Consul currently uses [govendor](https://github.com/kardianos/govendor) for
vendoring and [vendorfmt](https://github.com/magiconair/vendorfmt) for formatting
`vendor.json` to a more merge-friendly "one line per package" format.

Loading…
Cancel
Save