14.2 Container Design Principles
The team should design containers around clear runtime responsibilities. In Phase 0, a container may package one Node, a support service, an observer, or a tooling function. The container name, image name, Configuration, logs, and documentation should make that responsibility clear.
Container design should follow these principles:
-
Keep container responsibilities clear and narrow.
-
Avoid bundling unrelated Nodes or tools into one container unless the phase Baseline requires it.
-
Keep runtime Configuration outside the image where practical.
-
Avoid embedding secrets, credentials, personal paths, or machine-specific settings in images.
-
Use reproducible build inputs.
-
Use approved generated Artifacts and source files.
-
Keep image names and tags consistent with the naming conventions.
-
Make logs available outside the container where acceptance Evidence requires them.
-
Allow controlled startup and shutdown.
-
Avoid requiring manual steps inside a running container.
A container should run the same Artifact that the team documents in the Node Catalogue or support-service documentation. If a container image contains generated DDS types, Node code, scripts, or Configuration defaults, the build process should trace those inputs to Repository-controlled sources.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.