Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ehazlett/conduit
Deployment system for Docker
https://github.com/ehazlett/conduit
Last synced: about 1 month ago
JSON representation
Deployment system for Docker
- Host: GitHub
- URL: https://github.com/ehazlett/conduit
- Owner: ehazlett
- Created: 2014-12-08T06:27:20.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-11-07T18:20:56.000Z (about 8 years ago)
- Last Synced: 2024-10-29T23:34:28.230Z (about 2 months ago)
- Language: Go
- Size: 10.9 MB
- Stars: 107
- Watchers: 9
- Forks: 11
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-docker - Conduit - Experimental deployment system for Docker by [@ehazlett](https://github.com/ehazlett) (Container Operations / Deployment and Infrastructure)
- awesome-docker - Conduit - Experimental deployment system for Docker by [@ehazlett](https://github.com/ehazlett) (Container Operations / Deployment and Infrastructure)
README
# Conduit
Experimental deployment system for Docker.Conduit exposes an endpoint that receives webhooks (i.e. from Docker Hub). Upon receiving the hook, Conduit will pull the new image, deploy a new container from the updated image and then remove the original container.
# Usage
Docker.```
docker run
-d
--name conduit
-p 8080:8080
-v /var/run/docker.sock:/var/run/docker.sock
ehazlett/conduit -r -t
```Where `` is a Docker repository name such as `ehazlett/go-demo` and `` is a custom token string. The `-r` arg can be specified multiple times.
Example:
```
docker run
-d
--name conduit
-p 8080:8080
-v /var/run/docker.sock:/var/run/docker.sock
ehazlett/conduit -r ehazlett/go-demo -t s3cr3+
```
Then add a webhook url to `http://:?token=`You can also specify a list of tags for deploy. Conduit will only deploy
and rotate containers that are using that tag. For example, if you have
containers with both `v1` and `v2` tags running, if you specify `v2` as a tag
in Conduit, it will only deploy the `v2` containers when receiving a webhook.# Testing
To simulate a webhook using curl:```
curl -d '{"repository": {"repo_name": "namespace/reponame"}}' http://:8080?token=yourtoken
```