Results

Submitted upstream.

Blog post.


Introduction

If you have an infrastructure described with a Salt state tree (.sls files) having to create Docker images with Dockerfiles means you have infrastructure defined somewhere else and in a different format.

This projects attempts to allow building Docker images from pure Salt states. In some way, it has a similar goal to ansible-container with some differences:

  • It is not a "cli" tool, but a Salt module that inherits all the features of Salt.
  • It reuses the dockerng module instead of interacting directly with Docker
  • As the tricky part is to get the configuration management engine in the container "temporarily", it does not do hacks like going to the internet and checkout Ansible master from github in /tmp. It uses the salt.thin technology to use the host Salt installation into the container.

Challenges

  • Just like it is tricky to get Salt into the container, right now the image always ends with Python installed.
  • Figure out how to pass pillar data

Progress

Working

  • Create images from a base images and a list of sls modules
  • Ability of using the host salt installation thanks to salt.thin
  • Ability to use the grains from inside of the container
  • Ability to pillar data visible to the minion in the state applied in the container

TODO

  • Better error handling (eg, cleanup containers)
  • Factor out a function to run arbitrary salt modules inside the container with salt.thin

Looking for hackers with the skills:

salt saltstack docker

This project is part of:

Hack Week 14

Activity

  • over 8 years ago: dmaiocchi liked this project.
  • over 8 years ago: evshmarnev liked this project.
  • over 8 years ago: dmacvicar started this project.
  • over 8 years ago: dmacvicar added keyword "salt" to this project.
  • over 8 years ago: dmacvicar added keyword "saltstack" to this project.
  • over 8 years ago: dmacvicar added keyword "docker" to this project.
  • over 8 years ago: dmacvicar originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!