Replaces the multitude of independent docker images for CI, local test runs, local app runs, and production containers with a common base image, pcic/pdp-base-minimal, from pdp-docker together with very small derived images for each special case.
Updates and simplifies the supporting infrastructure for running these images (now all docker-compose files, with builds defined and common environment variables factored out).
There are no changes to application code in this PR, so we can rely on the exercise of the demo for the previous PR, which did change code. But it's worth poking around at it. My own poking is so far successful.
Reviews
This is a fairly substantial PR, and for the sake of the reviewers, I'd like to give different parts to different reviewers. Therefore:
@matthewbenstead : Could you review the Docker infrastructure? This addresses (I hope adequately) your security concerns.
@nikola-rados : Could you have a look at the following?
Workflows, particularly Python CI
The Docker image setup, at least in overview. Matthew is also looking at these, so I think you don't need to do an intense dive on these, but any questions or comments you have are welcome.
Updates I made to the README's, specifically perhaps to deployment?
Changes
pcic/pdp-base-minimal
, frompdp-docker
together with very small derived images for each special case.Resolves #219
TODO:
Demonstration
A demo is up.
There are no changes to application code in this PR, so we can rely on the exercise of the demo for the previous PR, which did change code. But it's worth poking around at it. My own poking is so far successful.
Reviews
This is a fairly substantial PR, and for the sake of the reviewers, I'd like to give different parts to different reviewers. Therefore:
@matthewbenstead : Could you review the Docker infrastructure? This addresses (I hope adequately) your security concerns.
You'll also want to look at
pdp-docker
, specificallybase-minimal.Dockerfile
as that establishes the non-root user.Specific files:
local-run:
Dockerfile
docker-compose
Any other files in this subdir you care to inspect.
local-test:
Dockerfile
docker-compose
Any other files in this subdir you care to inspect.
production
Dockerfile
docker-compose
deployment docs
Any other files in this subdir you care to inspect.
@corviday : Could you review the instructions for the local-test and local-run infrastructure?
You'll also want to look at the documentation for the local-* prep in
pdp-docker
, specifically Running tests and PDP application on workstationSpecific files:
@nikola-rados : Could you have a look at the following?
Checklist