GithubHelp home page GithubHelp logo

isabella232 / consul-aws Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashicorp/consul-aws

0.0 0.0 0.0 74 KB

License: Mozilla Public License 2.0

Go 41.36% Makefile 2.27% Dockerfile 2.51% Shell 53.86%

consul-aws's Introduction

Consul-AWS

consul-aws syncs the services in an AWS CloudMap namespace to a Consul datacenter. Consul services will be created in AWS CloudMap and the other way around. This enables native service discovery across Consul and AWS CloudMap.

This project is versioned separately from Consul. Supported Consul versions for each feature will be noted below. By versioning this project separately, we can iterate on AWS integrations more quickly and release new versions without forcing Consul users to do a full Consul upgrade.

Installation

  1. Download a pre-compiled, released version from the Consul-AWS releases page.

  2. Extract the binary using unzip or tar.

  3. Move the binary into $PATH.

To compile from source, please see the instructions in the contributing section.

Usage

consul-aws can sync from Consul to AWS CloudMap (-to-aws), from AWS CloudMap to Consul (-to-consul) and both at the same time. No matter which direction is being used consul-aws needs to be connected to Consul and AWS CloudMap.

In order to help with connecting to a Consul cluster, consul-aws provides all the flags you might need including the possibility to set an ACL token. consul-aws loads your AWS configuration from .aws, from the instance profile and ENV variables - it supports everything provided by the AWS golang sdk.

Apart from that a AWS CloudMap namespace id has to be provided. This is how consul-aws could be invoked to sync both directions:

$ ./consul-aws sync-catalog -aws-namespace-id ns-hjrgt3bapp7phzff -to-aws -to-consul

Contributing

To build and install consul-aws locally, Go version 1.14+ is required. You will also need to install the Docker engine:

Clone the repository:

$ git clone https://github.com/hashicorp/consul-aws.git

To compile the consul-aws binary for your local machine:

$ make dev

This will compile the consul-aws binary into bin/consul-aws as well as your $GOPATH and run the test suite.

Or run the following to generate all binaries:

$ make dist

To create a docker image with your local changes:

$ make dev-docker

Testing

If you just want to run the tests:

$ make test

Or to run a specific test in the suite:

go test ./... -run SomeTestFunction_name

Note: To run the sync integration tests, you must specify INTTEST=1 in your environment and AWS credentials.

Compatibility with Consul

consul-aws supports the current version of Consul and the version before. At the time of writing this, it means 1.7 and 1.6.

consul-aws's People

Contributors

alvin-huang avatar hanshasselberg avatar hashicorp-ci avatar pearkes avatar vanekjar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.