Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/binocarlos/powerstrip-weave

A Powerstrip plugin that runs weave inside a container and ensures that containers are connected to the weave network before running their entrypoints.
https://github.com/binocarlos/powerstrip-weave

Last synced: 10 days ago
JSON representation

A Powerstrip plugin that runs weave inside a container and ensures that containers are connected to the weave network before running their entrypoints.

Awesome Lists containing this project

README

        

powerstrip-weave
================

A [Powerstrip](https://github.com/ClusterHQ/powerstrip) adapter that runs [weave](https://github.com/zettio/weave) inside a container and ensures that containers are connected to the weave network before running their entrypoints.

## run the adapter

```bash
$ docker run -d --name powerstrip-weave \
--expose 80 \
-v /var/run/docker.sock:/var/run/docker.sock \
binocarlos/powerstrip-weave launch
```

The `launch` command does the following:

* runs the weave container (by running weave launch)
* runs a container called `weavewait` so its volume can be used to access the [wait-for-weave](https://github.com/binocarlos/wait-for-weave) binary
* launches the HTTP adapter server

To ensure matching versions of the docker client / server - we mount the docker socket and docker binary from the host.

#### connect multiple hosts

If you are running multiple servers that you want to connect using weave - you pass the arguments you would normally pass to `weave launch`:

```bash
$ docker run -d --name powerstrip-weave \
--expose 80 \
-v /var/run/docker.sock:/var/run/docker.sock \
binocarlos/powerstrip-weave launch 1.2.3.4 -password wEaVe
```

## run powerstrip

First create a powerstrip configuration:

```bash
$ mkdir -p ~/powerstrip-demo
$ cat > ~/powerstrip-demo/adapters.yml <= 1.15 - you can check which you have by doing this:

```bash
$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
```

The above shows a docker server version of 1.17 (so we are good)

## notes

* [plan for this project](https://github.com/zettio/weave/issues/47#issuecomment-69471269)
* [running weave inside a container](https://github.com/zettio/weave/issues/312)
* [mounting the blocking binary in a volume](https://github.com/zettio/weave/issues/47#issuecomment-68787816)
* [wait-for-weave](https://github.com/binocarlos/wait-for-weave)

## licence

Copyright 2015 Kai Davenport & Contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.