Sign inSign up

pcm0/salt

By pcm0

Updated about 21 hours ago

A lightweight container to provide a salt-master (or salt-api) service.

Image
Security
Monitoring & observability
0

100K+

pcm0/salt repository overview

Salt Master

Compact, non-root Salt master container images with the system libraries and Python packages needed for common infrastructure-management integrations.

Source: github.com/PaulChristophel/docker-salt

Features

  • Runs salt-master as UID and GID 1000.
  • Uses tini as the init process.
  • Supports salt-ssh and OpenSSH clients.
  • Includes LDAP, Kerberos, GPG, PostgreSQL, Git, REST CherryPy, logging, OpenTelemetry, and Ansible dependencies.
  • Provides standard and interactive isalt profiles.
  • Publishes Debian slim and Photon OS 5 variants for linux/amd64.
  • Includes OCI image metadata for source, version, revision, creation time, license, base image, and Salt version.

Tags

Tags identify the Python version, Salt release or branch, optional profile, and operating-system variant.

3.14-3008-debian
3.14-3008.2-debian
3.14-3008-isalt-debian
3.14-3008.x-photon-dev
3.14-master-1a2b3c4-isalt-debian-dev

Published combinations include:

  • Python 3.11 and 3.14 on Debian slim.
  • Python 3.14 on Photon OS 5.
  • Stable Salt 3006.27 and 3008.2 releases.
  • Development snapshots from the Salt 3006.x, 3008.x, and master branches where supported by the operating-system variant.
  • Standard and isalt profiles.

Stable images receive a moving feature-line tag, a full Salt-version tag, and a Git-SHA tag. Development tags end in -dev and are rebuilt from their upstream Salt branch. Use a Git-SHA tag for repeatable deployments.

There is intentionally no latest tag: select the Python, Salt, profile, and operating-system combination explicitly.

Run with Podman

mkdir -p master.d pki srv

/opt/homebrew/bin/podman run --rm \
  --name salt-master \
  --publish 4505:4505 \
  --publish 4506:4506 \
  --volume ./master.d:/etc/salt/master.d:ro \
  --volume ./pki:/etc/salt/pki/master \
  --volume ./srv:/srv:ro \
  docker.io/pcm0/salt:3.14-3008-debian

The container starts salt-master -l info. Additional Salt arguments may be appended to the image reference:

/opt/homebrew/bin/podman run --rm \
  docker.io/pcm0/salt:3.14-3008-debian \
  -l debug

Persistent data and configuration

Common mount points are:

  • /etc/salt/master.d — Salt master configuration.
  • /etc/salt/pki/master — persistent master keys and accepted minion keys.
  • /srv — Salt states, pillar data, and related files.
  • /var/log/salt — Salt logs when file logging is configured.
  • /var/cache/salt/master — persistent master cache when required.

Writable bind mounts must be writable by UID/GID 1000. Persist /etc/salt/pki/master in production so replacing the container does not create a new Salt master identity.

Podman Compose example

services:
  salt-master:
    image: docker.io/pcm0/salt:3.14-3008-debian
    container_name: salt-master
    restart: unless-stopped
    ports:
      - "4505:4505"
      - "4506:4506"
    volumes:
      - ./master.d:/etc/salt/master.d:ro
      - ./pki:/etc/salt/pki/master
      - ./srv:/srv:ro

Interactive Salt profile

Tags containing -isalt add IPython and isalt. They use the same Salt release as the corresponding standard image.

License

The image project is licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). Software bundled into the image retains its respective upstream license.

Tag summary

Content type

Image

Digest

sha256:bd71a810f

Size

193.9 MB

Last updated

about 21 hours ago

docker pull pcm0/salt:3.14-3008.2-isalt-photon