Results

Submitted upstream.

Blog post.

<iframe width="560" height="315" src="https://www.youtube.com/embed/2znjgf9Q7J0" frameborder="0" allowfullscreen></iframe>


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 mad skills in:

salt saltstack docker

This project is part of:

Hack Week 14

Activity

  • about 3 years ago: dmaiocchi liked Build Docker images with pure Salt
  • about 3 years ago: evshmarnev liked Build Docker images with pure Salt
  • about 3 years ago: dmacvicar started Build Docker images with pure Salt
  • about 3 years ago: dmacvicar added keyword "docker" to Build Docker images with pure Salt
  • about 3 years ago: dmacvicar added keyword "saltstack" to Build Docker images with pure Salt
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    From bare metal to virtualized Kubernetes cluster with just Salt and Redfish by joachimwerner

    My goal is build on Alberto's work on ["yomi"](...


    Make "salt-toaster" available to be used outside SUSE by PSuarezHernandez

    The salt-toaster (https://github.com/openSUSE...


    Run and manage your Ansible cluster using Salt! by PSuarezHernandez

    At SUSE we've implemented a module on Salt call...


    Convert the Docker Compose setup of OBS to Kubernetes Resources by dmarcoux

    Throughout this project, I will learn about Kub...


    Make "salt-toaster" available to be used outside SUSE by PSuarezHernandez

    The salt-toaster (https://github.com/openSUSE...