Skip to content

Use of #include and #includedir directives #1

@actionjack

Description

@actionjack

The following feature request was made for ngIRCd:

https://arthur.barton.de/bugzilla/show_bug.cgi?id=157

Feature Request: 
Add include directory of configuration fragments for ngIRCd configuration.

As an ngIRCd administrator
I would like to be able to use an option like "IncludeDir /etc/ngircd/conf.d"
To include fragments of the ngIRCd configuration (e.g. Channels) 
That are all automatically read into the running configuration by the ngIRCd
daemon at init or reload.

e.g.
====/etc/ngircd.conf====
[Options]
        IncludeDir /etc/ngircd/conf.d

====endOfFile====

====/etc/ngircd/conf.d/channel-#chatroom.conf====
[Channel]
    Name = #chatroom
  Topic = a chatroom
  Modes = tnk
    Key = letschat
    MaxUsers = 23

====endOfFile====

====/etc/ngircd/conf.d/channel-#chatops.conf====
[Channel]
    Name = #chatops
  Topic = a room for chatops
  Modes = tnk
    Key = chatops
    MaxUsers = 10

====endOfFile====    

This will autoload in the following files and create the persistent channels
defined in them:
/etc/ngircd/conf.d/channel-#chatroom.conf
/etc/ngircd/conf.d/channel-#chatops.conf

Reason:
I am working on a puppet module for ngircd
(https://github.com/uncommonsense/puppet-ngircd) and it is easier for
configuration management tools (like puppet, chef or cfengine) to handle
configuration snippets/fragment as separate files than as part of one
monolithic file.
At the moment the original code just clobbers a set of file snippets together
but I feel it would be more elegant to use #include and #includedir directives
like the newer versions of sudo.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions