Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

docker-sidecar

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

docker-sidecar

Watch a consul kv dir for changes to retrieve a list of images and tags and pull them into docker when kv prefix changes.

  • 1.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-40%
Maintainers
1
Weekly downloads
 
Created
Source

NPM

npm version

SYNOPSIS

Sidecar watches a list of images from consul kv via a key prefix. The value for each key under the prefix should be a string e.g., "image:tag" and sidecar will pull those images automatically into docker.

USAGE

  • Install: npm i -g docker-sidecar
  • Run: sidecar --consul http://127.0.0.1:8500 --dir 'test/images'
  • Also useable as a library via npm i docker-sidecar or as a Docker image.

bootstrap

  • In addition to pulling the current image list from the consul key-values, you can also specify the --bootstrap option and pass a path to a file with images to download at startup.
    • For example sidecar --consul http://127.0.0.1:8500 --dir 'test/images' --bootstrap /path/to/bootstrap.json
    • See the bootstrap example json file

auth tokens

If using a private registry or a private docker image, sidecar uses the standard ~/.docker/config.json location for auth credentials.

For consul auth, you can use the env variable sidecar_auths__consul__token=token.

EXAMPLE

ScreenShot

Included is a docker-compose.yml to serve as a starting point for a set of services. This includes consul, registrator, and the sidecar service all setup for you automatically via compose.

The example runs sidecar with the option --dir test/images which means it will watch the consul kv key prefix for changes.

Simply add a new consul key e.g., test/images/foo with value busybox:latest and hit update in consul (located @ HOST_IP or docker-machine ip default) and that image will be pulled into the configured docker.

start up our sidecar service

$ docker-compose -p sidecar build
$ docker-compose -p sidecar up

make sure we've got the latest busybox/ubuntu in docker/swarm :

$ curl -X PUT -d 'busybox:latest' http://$HOST_IP:8500/v1/kv/test/images/busybox
$ curl -X PUT -d 'ubuntu:latest' http://$HOST_IP:8500/v1/kv/test/images/ubuntu

refresh the busybox image again (imagine a webhook writing these eventually):

$ curl -X PUT -d 'busybox:latest' http://$HOST_IP:8500/v1/kv/test/images/busybox

Keywords

FAQs

Package last updated on 21 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc