This repository manages container images for @workloads.
<!-* TOC -->
- HashiCorp Packer
1.10.xor newer - Docker
24.0.0or newer- alternate compatible runtimes (e.g.: Podman, OrbStack) may be used
- a copy of @workloads/tooling
For development and testing of this repository:
terraform-docs0.17.0or newer
This repository provides a Makefile-based workflow.
Running make without commands will print out the following help information:
🐳 CONTAINER IMAGES
Target Description Usage
init initialize a Packer Template `make init template=<template>`
lint lint a Container Image Template `make lint template=<template>`
build build a Container Image `make build template=<template>`
docs generate documentation for all Packer Images `make docs template=<template>`
console start Packer Console `make console template=<template>`
print-secrets print (sanitized) environment variables `make print-secrets`
snyk_test test Image with Snyk Container `make snyk_test image=<image>`
_registry_login log in to a (Docker) Registry `make _registry_login`
yaml_lint lint YAML files `make yaml_lint`
_link_vars create a symlink to the shared variables file for a new builder `make _link_vars builder=<builder>`
help display a list of Make Targets `make help`
_listincludes list all included Makefiles and *.mk files `make _listincludes`
_selfcheck lint Makefile `make _selfcheck`
All workflows may be executed manually, though this is not advisable. See the Makefile for more information.
The platform flag may be used to specify the name of the (Image) Platform to use.
make build template=<template> PLATFORM=arm64When omitted, the platform flag defaults to the host system's CPU architecture (as reported by uname -m).
Images may be pushed to a Container Registry by setting the push flag to true as part of the make build target.
This will run the docker-push Post Processor as part of the Packer build process.
Images are versioned using a string that is derived from the current date and time, normalized to UTC.
The default format is %Y%m%d-%H%M, which translates to a string that looks like this: 19701231-2359.
The default value may be overridden by setting the VERSION flag to any (other) string.
Images may be scanned for security concerns using Snyk Container with the make snyk_test command.
Note The
snyk_testtarget requires the Snyk CLI to be authenticated with the Snyk API.
The Makefile includes several unsupported helper targets that may be useful when developing additional templates and functionality.
These targets are prefixed with an underscore (_) and may be removed at any time.
Colorized CLI output may be disabled by setting the NO_COLOR environment variable to any non-empty value.
export NO_COLOR=1 && makeFor a list of current (and past) contributors to this repository, see GitHub.
Licensed under the Apache License, Version 2.0 (the "License").
You may download a copy of the License at apache.org/licenses/LICENSE-2.0.
See the License for the specific language governing permissions and limitations under the License.