[colug-432] configuration management tools

Jeff Frontz jeff.frontz at gmail.com
Mon Sep 23 12:55:49 EDT 2019


[I'm skipping the delivery/enforcement stuff since that's being solved in
Other Ways; I'm focused on the data population problem.]

On Mon, Sep 23, 2019 at 12:12 PM Rick Hornsby <richardjhornsby at gmail.com>
wrote:

>
> On September 23, 2019 at 9:20:16 AM, Jeff Frontz (jeff.frontz at gmail.com)
> wrote:
>
> I have a need to generate configuration files for a bunch of different
> (some open-source, some semi-proprietary) applications that run on a bunch
> of different systems.
>
> For configuration files, (this is just one way to do it) I can create a
> template file that looks like the final config format - be that JSON, TOML,
> yaml, whatever. I put placeholders (variable) where I want to dynamically
> set a value. Then in the Chef/Puppet code, I say something like
>
> template ‘/opt/someapp/config/urmom.json’
> source ‘template_source.json.erb'
> variables( pancakes: ‘yes’ )
>
>
>
OK, so the problem space is more like

          template '/CI/src/***SPECIFIC-NODE-NAME***/BFT.json'
                   source `BFT-template.json`
                   variables(iterator:serviceTuple: 'select peerID,
service-identifier-node, service identifier-port from mondo-table where
node != ***SPECIFIC-NODE-NAME***')

where BFT-template.json might be something like (please pardon my JSON
ignorance):

            ...yada yada yada...
          CommonItems {
                  "lotsa":"stuff",
               },
            PeerItems {
                   [foreach:serviceTuple]
                        {
                         "peerName":"**peerID**",
                         "peerNode":"**service-identifier-node**",
                         "peerPort":"**peer-service-1-field**",
                        },
                   [endfor]

               ... yada yada yada...


Do any of these tools/solutions support complex operations like "run a
select from a table and iterate over the results to add/populate fields to
the template"?





> I need to configure the applications on the other hosts to use the each of
> the destination hosts' services.
>
> One thing you may be looking for is service discovery.
>
 For more Reasons, it needs to be deterministic/stable at config
distribution time (and beyond) so having peers advertise (and be
dynamically discovered) isn't in the cards.


Thanks,
Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.colug.net/pipermail/colug-432/attachments/20190923/3b4e0da4/attachment.html 


More information about the colug-432 mailing list