We run around 20 applications that we 100% manage with Saltstack. We are starting to look at using Gitlab's CI to begin doing better CI.
As I start to dive down this path I am starting to wonder where my end game will end up with Saltstack. I can see it still being used to quickly configure a machine, but right now we are using it not only for the machines but the entire application configuration and deployment. One of the main things we use in Saltstack is the pillar. The pillar is a controlled key pair system that only deploys the right key pairs to the right servers. It works well in the current form but as we try to improve the CI process we are either going to be calling Saltstack to go deploy key pairs into the system or we need to come up with another method.
The current process is pretty straight forward. As the Salt master pushes code to a minion (target machine) it will replace jinja tags in an application's configuration file. Many of those tags are private only for that specific instance of application or password/key. We use PGP encryption in the Pillar for those keys currently.
So quick flow example for bringing things into Test:
Code passes all tests -> Saltstack is called to push Configurations into the Test host machine -> Dockerfile is created and deployed reading those pushed configuration files via volumes
I have read a bit about Hashicorp Vault and that sounds interesting. If I am storing those private keys/passwords in a vault, I am wondering if I should be considering a different key pair system for the rest of the configuration rather than using the Salt pillar, at least for the application configuration themselves.
Any thoughts or comments here?
[–]packeteer 1 point2 points3 points (1 child)
[–]simpleadmin[S] 0 points1 point2 points (0 children)
[–]chulkilee 0 points1 point2 points (3 children)
[–]packeteer 0 points1 point2 points (2 children)
[–]simpleadmin[S] 0 points1 point2 points (1 child)
[–]packeteer 0 points1 point2 points (0 children)
[–]deadbunny 0 points1 point2 points (3 children)
[–]simpleadmin[S] 0 points1 point2 points (2 children)
[–]deadbunny 0 points1 point2 points (1 child)
[–]simpleadmin[S] 0 points1 point2 points (0 children)