Skip to content

Container64 is a catalog of purpose build container images for infrastructure management, development and testing.

License

Notifications You must be signed in to change notification settings

automation64/container64

Project: Container64

   █████████                       █████               ███                                 ████████  █████ █████
  ███░░░░░███                     ░░███               ░░░                                 ███░░░░███░░███ ░░███
 ███     ░░░   ██████  ████████   ███████    ██████   ████  ████████    ██████  ████████ ░███   ░░░  ░███  ░███ █
░███          ███░░███░░███░░███ ░░░███░    ░░░░░███ ░░███ ░░███░░███  ███░░███░░███░░███░█████████  ░███████████
░███         ░███ ░███ ░███ ░███   ░███      ███████  ░███  ░███ ░███ ░███████  ░███ ░░░ ░███░░░░███ ░░░░░░░███░█
░░███     ███░███ ░███ ░███ ░███   ░███ ███ ███░░███  ░███  ░███ ░███ ░███░░░   ░███     ░███   ░███       ░███░
 ░░█████████ ░░██████  ████ █████  ░░█████ ░░████████ █████ ████ █████░░██████  █████    ░░████████        █████
  ░░░░░░░░░   ░░░░░░  ░░░░ ░░░░░    ░░░░░   ░░░░░░░░ ░░░░░ ░░░░ ░░░░░  ░░░░░░  ░░░░░      ░░░░░░░░        ░░░░░

Overview

Container64 is a catalog of purpose build container images for infrastructure management, development and testing.

Container Catalog

Container collection: Mirror container image

  • Purpose: Mirror container image for freezing unversioned sources
  • Dockerfiles

Container collection: Base container image

  • Purpose: Base container image for creating Container64 images
  • Dockerfiles

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

  • Purpose: Container code linting
  • Packages: - Dockerfiles

Container collection: Terraform testing

Container collection: Static Site Generator linting

Container collection: Go testing

Container collection: Penetration testing

  • Purpose: Penetration testing tools for security compliance checking
  • Dockerfiles

Container collection: Kubernetes CLI

Container structure

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.

Global environment variables

Born Shell compatible environment variables exported to be consumed by scripts

  • CNT64_BASHLIB64: Bashlib64 location
  • CNT64_DEBUG: Enable script debugging?. Assign any non-null value to enable
  • CNT64_INSTALLER_ROOT: Container64 installers location
  • CNT64_LOCAL_BIN: Searchable path for local executables
  • CNT64_LOCAL_ROOT: Linux well-known base path for local content
  • CNT64_OPT_ROOT: Linux well-known base path for non-os packaged content
  • CNT64_TMP: System path for temporal files
  • CNT64_USER: Image Run-As user

Shared Directories

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

Application Installers

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

Global Tools

Set of common tools that are available for all images.

  • Bash
  • CURL
  • BashLib64: automation library for Bash scripts
  • Installer64: application installers

Usage

Run a command inside the container:

# Using docker:
docker run ghcr.io/automation64/<IMAGE> <COMMAND>
# Using podman:
podman run ghcr.io/automation64/<IMAGE> <COMMAND>

Deployment

Requirements

  • Container engine
    • docker or podman
  • Bash

Installation

Download the target image to the local registry:

# Using docker:
docker pull ghcr.io/automation64/<IMAGE>
# Using podman:
podman pull ghcr.io/automation64/<IMAGE>

Contributing

Help on implementing new features and maintaining the code base is welcomed.

License

Apache-2.0

Author

About

Container64 is a catalog of purpose build container images for infrastructure management, development and testing.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •