Repo Structure for config files? How would you do it?

Hey all –

First - I am currently learning GitHub - coming from a perforce environment that I was never really that strong in it.

I currently have a repo that stores templates for configuration on firewalls and switches.  I manage a network of 350 locations - I am hoping to leverage source control to help track changes across the configuration templates.  I feel like this is a little bit different than the approach of a traditional software development project.

Here is what I think I am looking for:

We have our production (think default) template that should be deployed on most if not all of my devices.

From here - we may have a few different locations that are outside of default, for example, a few locations may be piloting a new cloud based PBX system OR a new digital marketing platform - both of which would require some changes be added to the default configuration template.  Safe to assume that these pilot tests will not always be in the same location (so location 1 would pilot PBX and location 2 pilot Digital Marketing Platform).

I think ideally, the firewall and switch configurations would go hand in hand - a location testing the PBX may require configuration on both devices.

Where I am getting stuck is - would I just have my default template be master and the various pilots / betas be different branches?  Have a PBX branch and a Digital Marketing Branch?  If PBX gets approved, merge it into the master?  Then same for Digital Marketing?  

Thanks in advance


Yes, I think having different branches would be a good approach. You could have a PR open the whole time to discuss and review.

1 Like