├── .gitignore ├── .isort.cfg ├── .travis.yml ├── CHANGES.rst ├── DOCKHAND_CHANGES.rst ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── NOTICE ├── README.rst ├── docs ├── .gitignore-gh-pages ├── Dockerfile ├── Gemfile ├── Gemfile.lock ├── _config.yml ├── imgs │ └── image-graph.png ├── index.md └── motivation.md ├── setup.cfg ├── setup.py ├── shipwright ├── __init__.py ├── __main__.py ├── _lib │ ├── __init__.py │ ├── base.py │ ├── build.py │ ├── cache.py │ ├── cli.py │ ├── colors.py │ ├── compat.py │ ├── dependencies.py │ ├── docker.py │ ├── image.py │ ├── msg.py │ ├── push.py │ ├── registry.py │ ├── source_control.py │ ├── tar.py │ ├── targets.py │ └── zipper.py ├── exceptions.py └── targets.py ├── tests ├── conftest.py ├── integration │ ├── __init__.py │ ├── examples │ │ ├── failing-build │ │ │ ├── .shipwright.json │ │ │ ├── base │ │ │ │ ├── Dockerfile │ │ │ │ └── base.txt │ │ │ ├── crashy-from │ │ │ │ └── Dockerfile │ │ │ ├── crashy-run │ │ │ │ └── Dockerfile │ │ │ └── works │ │ │ │ └── Dockerfile │ │ ├── multi-dockerfile │ │ │ ├── .shipwright.json │ │ │ ├── base │ │ │ │ ├── Dockerfile │ │ │ │ └── base.txt │ │ │ └── service1 │ │ │ │ ├── Dockerfile │ │ │ │ ├── Dockerfile-dev │ │ │ │ ├── src │ │ │ │ └── foo.js │ │ │ │ └── test │ │ │ │ └── test_foo.js │ │ ├── shipwright-localhost-sample │ │ │ ├── .shipwright.json │ │ │ ├── base │ │ │ │ ├── Dockerfile │ │ │ │ └── base.txt │ │ │ ├── service1 │ │ │ │ └── Dockerfile │ │ │ └── shared │ │ │ │ └── Dockerfile │ │ └── shipwright-sample │ │ │ ├── .shipwright.json │ │ │ ├── base │ │ │ ├── Dockerfile │ │ │ └── base.txt │ │ │ ├── service1 │ │ │ └── Dockerfile │ │ │ └── shared │ │ │ └── Dockerfile │ ├── test_docker_builds.py │ ├── test_docker_push.py │ ├── test_git.py │ ├── test_images.py │ ├── test_targets.py │ └── utils.py ├── test_cli.py ├── test_dependencies.py ├── test_switch.py └── test_tar.py └── tox.ini /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/.gitignore -------------------------------------------------------------------------------- /.isort.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/.isort.cfg -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGES.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/CHANGES.rst -------------------------------------------------------------------------------- /DOCKHAND_CHANGES.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/DOCKHAND_CHANGES.rst -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/NOTICE -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/README.rst -------------------------------------------------------------------------------- /docs/.gitignore-gh-pages: -------------------------------------------------------------------------------- 1 | /_site 2 | -------------------------------------------------------------------------------- /docs/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/docs/Dockerfile -------------------------------------------------------------------------------- /docs/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'github-pages' 4 | -------------------------------------------------------------------------------- /docs/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/docs/Gemfile.lock -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | markdown: redcarpet 2 | encoding: utf-8 3 | 4 | -------------------------------------------------------------------------------- /docs/imgs/image-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/docs/imgs/image-graph.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/motivation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/docs/motivation.md -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/setup.cfg -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/setup.py -------------------------------------------------------------------------------- /shipwright/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shipwright/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/__main__.py -------------------------------------------------------------------------------- /shipwright/_lib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shipwright/_lib/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/base.py -------------------------------------------------------------------------------- /shipwright/_lib/build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/build.py -------------------------------------------------------------------------------- /shipwright/_lib/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/cache.py -------------------------------------------------------------------------------- /shipwright/_lib/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/cli.py -------------------------------------------------------------------------------- /shipwright/_lib/colors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/colors.py -------------------------------------------------------------------------------- /shipwright/_lib/compat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/compat.py -------------------------------------------------------------------------------- /shipwright/_lib/dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/dependencies.py -------------------------------------------------------------------------------- /shipwright/_lib/docker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/docker.py -------------------------------------------------------------------------------- /shipwright/_lib/image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/image.py -------------------------------------------------------------------------------- /shipwright/_lib/msg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/msg.py -------------------------------------------------------------------------------- /shipwright/_lib/push.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/push.py -------------------------------------------------------------------------------- /shipwright/_lib/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/registry.py -------------------------------------------------------------------------------- /shipwright/_lib/source_control.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/source_control.py -------------------------------------------------------------------------------- /shipwright/_lib/tar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/tar.py -------------------------------------------------------------------------------- /shipwright/_lib/targets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/targets.py -------------------------------------------------------------------------------- /shipwright/_lib/zipper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/_lib/zipper.py -------------------------------------------------------------------------------- /shipwright/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/exceptions.py -------------------------------------------------------------------------------- /shipwright/targets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/shipwright/targets.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/.shipwright.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/examples/failing-build/.shipwright.json -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/base/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM busybox 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/base/base.txt: -------------------------------------------------------------------------------- 1 | Hi mom 2 | -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/crashy-from/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/examples/failing-build/crashy-from/Dockerfile -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/crashy-run/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM shipwright/base 2 | RUN exit 9000 3 | -------------------------------------------------------------------------------- /tests/integration/examples/failing-build/works/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM shipwright/base 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/.shipwright.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/examples/multi-dockerfile/.shipwright.json -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/base/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/base/base.txt: -------------------------------------------------------------------------------- 1 | Hi mom 2 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/service1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM shipwright/base 2 | ADD ./src /code/ 3 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/service1/Dockerfile-dev: -------------------------------------------------------------------------------- 1 | FROM shipwright/service1 2 | ADD ./test /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/service1/src/foo.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/examples/multi-dockerfile/service1/test/test_foo.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-localhost-sample/.shipwright.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/examples/shipwright-localhost-sample/.shipwright.json -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-localhost-sample/base/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM busybox 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-localhost-sample/base/base.txt: -------------------------------------------------------------------------------- 1 | Hi mom 2 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-localhost-sample/service1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM localhost:5000/shared 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-localhost-sample/shared/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM localhost:5000/base 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-sample/.shipwright.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/examples/shipwright-sample/.shipwright.json -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-sample/base/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM busybox 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-sample/base/base.txt: -------------------------------------------------------------------------------- 1 | Hi mom 2 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-sample/service1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM shipwright/shared 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/examples/shipwright-sample/shared/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM shipwright/base 2 | ADD . /code 3 | -------------------------------------------------------------------------------- /tests/integration/test_docker_builds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/test_docker_builds.py -------------------------------------------------------------------------------- /tests/integration/test_docker_push.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/test_docker_push.py -------------------------------------------------------------------------------- /tests/integration/test_git.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/test_git.py -------------------------------------------------------------------------------- /tests/integration/test_images.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/test_images.py -------------------------------------------------------------------------------- /tests/integration/test_targets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/test_targets.py -------------------------------------------------------------------------------- /tests/integration/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/integration/utils.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/test_dependencies.py -------------------------------------------------------------------------------- /tests/test_switch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/test_switch.py -------------------------------------------------------------------------------- /tests/test_tar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tests/test_tar.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6si/shipwright/HEAD/tox.ini --------------------------------------------------------------------------------