Cdist is a usable configuration management system. It adheres to the KISS principle and is being used in small up to enterprise grade environments. cdist is an alternative to other configuration management systems like bcfg2, chef, cfengine and puppet.
First launch the container and replace the <ssh-copy-id root@ip> with appropriate target hosts. In case you want to send ssh-key to target hosts later, exclude <ssh-copy-id root@ip> and do this step later while inside the container.
First launch the container and send container's ssh keys to the target hosts
$ docker run -it --name=cdist -v ~/.cdist:/root/.cdist beenum/cdist /bin/bash
Or you can send the ssh keys to the target hosts and perform addtional desired operations directly by running the following;
$ docker run -it --name=cdist beenum/cdist -v ~/.cdist:/root/.cdist sh -c "<ssh-copy-id root@ip> && /bin/bash"
detach the container by pressing;
ctrl + p + q
Now we will assign an alias to cdist container
$ alias cdist="docker exec -ti cdist /root/cdist/bin/cdist" $ cdist config -v <target_host>
You can find the cdist directory in /root inside a container
Configure the source and target hosts accordingly.
For more information about cdist, see the documentation here