Skip to main content

Salt Container-Map

Configuration management and implicit dependency setup for Docker containers in SaltStack.

Project: https://github.com/merll/salt-container-map

Docs: Basic usage is provided in the state module. Details about container configurations are available in the docs for Docker-Map.

Overview

This package contains SaltStack modules for configuring Docker containers. They do not replace, but complement Salt’s built-in dockerio module in the following aspects:

  • Container dependencies that have to be followed during startup and shutdown do not have to be modelled via require or require_in. Instead, these are implicitly defined through their shared volumes and links.

  • For the purpose of sharing data between containers, virtual volumes can be created via a minimal runnable image (tianon/true obtained from the public Docker registry). These are considered during the dependency check and become adjusted with necessary file system permissions during startup.

  • When the configuration of a container is modified, the affected containers and their dependents can automatically be shut down and recreated.

  • Image updates can also result in an automated shutdown and recreation of containers and their dependents, without explicit watch or onchanges.

An example is documented in the state module.

Installation

Besides the usual package installation, a few simple post-installation steps are required. They are described in the docs.

Modules

Custom renderer

Container configurations can be set in both pillars and states. Pillars have the advantage that they are loaded automatically before any state (e.g. container_map.updated) or execution module uses it. Usually the disadvantage is that pillars cannot refer to other pillars. This package however provides a custom renderer lazy_yaml along with custom tags !pillar and !grain, which are resolved to their values on the minion just before the container maps and their configurations are instantiated.

By default, container maps are loaded from a pillar container_maps. This can be changed in the configuration by setting the configuration value container_map.pillar_name.

State and execution module

The modules distributed to the minions provide the functionality as outlined in the overview. A usage example is included in the state module documentation.

Release files for salt-container-map 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for salt-container-map 0.2.1
File Size Uploaded
salt-container-map-0.2.1.tar.gz 21.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for salt-container-map 0.2.1
File Interpreter ABI Platform
salt_container_map-0.2.1-py2.7.egg Legacy Egg format - - Details

Total release size: 75.7 kB

Release files / salt-container-map-0.2.1.tar.gz

Download URL salt-container-map-0.2.1.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3285d849bbd12ac9a3e7fce84ada37a7a19f53807b56b3c81a5df3bc53504bff
BLAKE2b-256 checksum
How to use checksums
33f39ad1409e0627d9b687da6e5c4c523887eeec4274a01a30a2b3e9dba2d085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / salt_container_map-0.2.1-py2.7.egg

Download URL salt_container_map-0.2.1-py2.7.egg
Size 53.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
35bfa6a95108465fa4f34fa7d1959e4624c28dbec5608523c6eddbdc77771ded
BLAKE2b-256 checksum
How to use checksums
d03bd305d0c24a7202c845fb5413bd7a701ea00c126391088c7469af595b4926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page