Comments (4)
There isn't the same breakdown in RHEL. It has the following in RHEL6 :
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
Any way of splitting the files should be possible with the current module. I'm even doing it, using the "includes" parameter, where I reference a file I generate using another module's definition in order to repeat some common configuration for multiple types of zones (typically internal/external, with different acls allowed for querying and transfer).
So, what's wrong with something like the following :
class named::server::conf with includes => [ 'named.conf.local', 'named.conf.options', 'named.conf.default-zones' ]
Then use the bind::server::file definition for each of these files?
Also, I've made the main named.conf management optional on purpose, meaning that If you just include the main class (not the conf), and your bind server package contains a working default, you're good to go. So here, if it automatically includes the files you mention, you could use only bind::server::file to manage the one or more file(s) you want, not the main named.conf.
Bottom line : It's already possible, and I don't see any easy/clean way to replicate the behaviour of all possible distros without making a huge useless mess inside the module :-)
from puppet-bind.
What Thias said and more to the point it shouldn't really matter what your distro does as long as the configuration is reproducible and functional on whatever system you are applying the module to. Thus it shouldn't matter that RHEL and Debian have different ways of structuring the configuration files as long as the module can build a structure that works on either/all distributions, which it can and does.
from puppet-bind.
What I also want to avoid is having the module force a structure of its own. For me, the ideal situation is to have a puppet module configure things in the ideal way for a given OS, meaning leaving everything where people familiar with that OS expect it to be : For instance, I don't want an apache httpd puppet module to have files under /etc/apache2/ on a Red Hat system, nor do I want to have it use /etc/httpd/ on a Debian system.
from puppet-bind.
I'm going to close this one. But if anyone wants to submit a pull request for clean and sane changes, I'll definitely have a look.
from puppet-bind.
Related Issues (20)
- Hiera Support HOT 1
- on Debain bullseye file_bindkeys is not '/etc/named.iscdlv.key'
- Support for response-policy? HOT 1
- BIND does not load configuration due to rmeoved dnssec-enable and dnssec-lookaside options HOT 1
- Upstream release with Puppet 8 support? HOT 1
- missing controls clause in named.conf HOT 2
- Ubuntu 16.04 HOT 2
- dynamic overwrite? HOT 3
- Views are sorted alphabetically, not in file order HOT 2
- please consider supporting replace for bind:.server::file
- Support 'forward' configuration option
- Add also_notify to options HOT 1
- tsig/keys documentation
- Hard coded logging locations HOT 5
- Undefined method for 'join'
- Assistance tweaking this package for Ubuntu? HOT 1
- Please add support for statistics-channels
- split config files in directory
- Puppet 5.x support HOT 1
- rndc freeze|thaw
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-bind.