█████████ █████ ███ ████████ █████ █████
███░░░░░███ ░░███ ░░░ ███░░░░███░░███ ░░███
███ ░░░ ██████ ████████ ███████ ██████ ████ ████████ ██████ ████████ ░███ ░░░ ░███ ░███ █
░███ ███░░███░░███░░███ ░░░███░ ░░░░░███ ░░███ ░░███░░███ ███░░███░░███░░███░█████████ ░███████████
░███ ░███ ░███ ░███ ░███ ░███ ███████ ░███ ░███ ░███ ░███████ ░███ ░░░ ░███░░░░███ ░░░░░░░███░█
░░███ ███░███ ░███ ░███ ░███ ░███ ███ ███░░███ ░███ ░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░
░░█████████ ░░██████ ████ █████ ░░█████ ░░████████ █████ ████ █████░░██████ █████ ░░████████ █████
░░░░░░░░░ ░░░░░░ ░░░░ ░░░░░ ░░░░░ ░░░░░░░░ ░░░░░ ░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░░
- Project: Container64
- Overview
- Container Catalog
- Container collection: Mirror container image
- Container collection: Base container image
- Container collection: System Administration toolbox
- Container collection: Development environment
- Container collection: Bash testing
- Container collection: Ansible playbooks testing
- Container collection: Bash linting
- Container collection: Terraform linting
- Container collection: K8S linting
- Container collection: YAML linting
- Container collection: Container linting
- Container collection: Terraform testing
- Container collection: Static Site Generator linting
- Container collection: Go testing
- Container collection: Penetration testing
- Container collection: Kubernetes CLI
- Container structure
- Container Catalog
- Usage
- Deployment
- Contributing
- License
- Author
- Overview
Container64 is a catalog of purpose build container images for infrastructure management, development and testing.
- Purpose: Mirror container image for freezing unversioned sources
- Dockerfiles
- Purpose: Base container image for creating Container64 images
- Dockerfiles
- Purpose: Linux systems administration
- Dockerfiles
- Purpose: Development environment
- Dockerfiles
- Purpose: Bash scripts testing
- Dockerfiles
- Purpose: Ansible playbooks testing
- Dockerfiles
- Purpose: Unix Shell scripts linting
- Dockerfiles
- Purpose: Terraform code linting
- Dockerfiles
- Purpose: K8s manifests linting
- Dockerfiles
- Purpose: YAML code linting
- Dockerfiles
- Purpose: Container code linting
- Packages: - Dockerfiles
- Purpose: Terraform code testing
- Dockerfiles
- Purpose: Static Site Generator linting
- Dockerfiles
- Purpose: Go code testing
- Dockerfiles
- Purpose: Penetration testing tools for security compliance checking
- Dockerfiles
- Purpose: Runtime for kubectl
- Dockerfiles
Container64 defines a base environment from where all images are built. The environment is described using shell environment variables to avoid hard-coding details in scripts.
Born Shell compatible environment variables exported to be consumed by scripts
CNT64_BASHLIB64
: Bashlib64 locationCNT64_DEBUG
: Enable script debugging?. Assign any non-null value to enableCNT64_INSTALLER_ROOT
: Container64 installers locationCNT64_LOCAL_BIN
: Searchable path for local executablesCNT64_LOCAL_ROOT
: Linux well-known base path for local contentCNT64_OPT_ROOT
: Linux well-known base path for non-os packaged contentCNT64_TMP
: System path for temporal filesCNT64_USER
: Image Run-As user
Linux standard set of directories to be used by installers to deploy and publish applications for general usage:
CNT64_OPT_ROOT=/opt
CNT64_OPT_ROOT/<APPLICATION>
CNT64_LOCAL_ROOT=/usr/local
CNT64_LOCAL_BIN=/usr/local/bin
Stand-alone Bash based scripts for installing individual application packages. Installers are maintained separately and downloaded at build time from the Installer64 project
- Installers are purpose build for container environments or similar (CICD runners, etc)
- Installers will consume Container64 global environment variables as needed
- Installer specific parameters are defined as shell exported variables that must be defined before script execution (i.e.: via Dockerfile, CICD, etc)
- Default location:
CNT64_INSTALLER_ROOT
Set of common tools that are available for all images.
- Bash
- CURL
- BashLib64: automation library for Bash scripts
- Installer64: application installers
Run a command inside the container:
# Using docker:
docker run ghcr.io/automation64/<IMAGE> <COMMAND>
# Using podman:
podman run ghcr.io/automation64/<IMAGE> <COMMAND>
- Container engine
- docker or podman
- Bash
Download the target image to the local registry:
# Using docker:
docker pull ghcr.io/automation64/<IMAGE>
# Using podman:
podman pull ghcr.io/automation64/<IMAGE>
Help on implementing new features and maintaining the code base is welcomed.