Hunting the white whale of mutable immutable infrastructure
Go to file
R Tyler Croy edf132854e
Add this support directory for some simple testing
2020-07-19 14:12:14 -07:00
layers.d Add an example layers directory for the server to read from 2019-10-20 11:07:36 -07:00
src Work in progress for checking to see if we have layers to contaminate 2020-02-02 13:52:29 -08:00
support Add this support directory for some simple testing 2020-07-19 14:12:14 -07:00
tools Add the shoreman tool for some local testing 2020-02-02 13:52:25 -08:00
.gitignore Work-in-progress reworking in Rust 2020-02-01 03:54:18 -08:00
Cargo.lock Pull in serde with the appropriate features to get my derive macro working 2020-02-02 13:52:28 -08:00
Cargo.toml Pull in serde with the appropriate features to get my derive macro working 2020-02-02 13:52:28 -08:00
HACKING.adoc Add some of my hacking notes which have helped me figure out these APIs relationships 2019-10-20 11:29:36 -07:00
README.adoc Add some of my hacking notes to the README 2020-02-02 13:52:28 -08:00
index.js Checkpoint the last of the JavaScript work 2020-01-22 21:32:19 -08:00
package-lock.json Add node-cache which will be used for a number of different internal operations 2019-10-20 16:00:07 -07:00
package.json Add node-cache which will be used for a number of different internal operations 2019-10-20 16:00:07 -07:00

README.adoc

<html lang="en"> <head> </head>

Contaminate

Contaminate is a caching proxy masquerading as Docker registry. It can modify Docker images and manifests on the fly, for those who need a little more mutability in their immutable infrastructure.

Configuration

Contaminate can be configured with a contaminate.yml file, or via specific environment variables which can override configuration values.

YAML Keys

Name

Default Value

Notes

layers_dir

./layers.d

A directory containing the layers to override on images passing through Contaminate.

registry

https://registry-1.docker.io

Environment Variables

Name

Default Value

Notes

RUST_LOG

warn

Log level for Contaminate logs to be printed

CT_layers_dir

./layers.d

A directory containing the layers to override on images passing through Contaminate.

CT_registry

https://registry-1.docker.io

A Registry HTTP V2 compliant URL, reachable by Contaminate.

Hacking

Ensure that your local Docker daemon can access your Contaminate instance without requiring HTTPs:

/etc/sysconfig/docker
DOCKER_OPTS="--insecure-registry=localhost:5000 --insecure-registry=localhost:9090"

Running a local Docker registry to contaminate:

docker run --rm -ti -e REGISTRY_HTTP_SECRET=secret -p 5000:5000 registry:2
</html>