Fork 0
Subnet management and device provisioning, particularly for IP phones.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
David Sugar 55fe3616ad Clean up args and diagnostics (#12) 1 year ago
.gitlab/issue_templates Gitlab setup 2 years ago
cmake Limit jemalloc to release builds (#11) 1 year ago
server Clean up args and diagnostics (#12) 1 year ago
test Initial checkin 2 years ago
.clang-tidy Resolve "Improve Quality" 2 years ago
.gitattributes Prep for next tag 2 years ago
.gitignore Prep for next tag 2 years ago
.gitlab-ci.yml Gitlab setup 2 years ago
CHANGELOG.md Prep for next release (0.0.4) (#8) 1 year ago
CMakeLists.txt Clean up args and diagnostics (#12) 1 year ago
CONTRIBUTING.md Migration updates for gitea (#9) 1 year ago
Doxyfile Resolve "Improve Quality" 2 years ago
LICENSE.md Initial checkin 2 years ago
README.md Migration updates for gitea (#9) 1 year ago
TODO Initial checkin 2 years ago
config.hpp.in Resolve "Docgen and cmake cleanup" 2 years ago


About Subdomain

Subdomain provisions a logical subnet containing IP devices, including computers, SIP phones, etc. Subdomain provides dhcp, dns, bootp, and other provisioning support.


Basic documentation, including an architecture overview, will be added as markdown files. User operation, server admin, and configuration should be similarly added here. An installation guide for various GNU/Linux distributions and BSD systems may also be added. Developer documentation can be generated from source file headers using Doxygen.


A typical "install" target is created to support local installation. This should include an example config file. On openrc systems this may install an init script. A logrotate config can also be added. All running directories that may be required are either made by "install" or created when the service executes. Execution in daemon mode is done by the init script.

When cmake is used to produce a Debug build this instance can be executed directly; no further install is required. The debug build uses the config file found in the test/ directory, and a test/custom.conf file can be added with configuration overrides for local developer testing. The preferred cmake build type for live installation and running of debug builds is RelWithDebugInfo.


A more complete overview of participation will be provided in CONTRIBUTING.md. This project uses cmake, and c++17 for core server development. I use the ctest framework for unit testing and gcovr for coverage reports. Subdomain can be built with gcc or clang and can be tested on just about any posix platform, including bsd systems.

In addition to producing testable debug builds the project can also be built for running unit tests. This is enabled by default for debug builds. To produce coverage reports you can cmake a debug build with -DCOVERAGE_TYPE=gcov set. You can then use the make the "coverage" target and produce coverage reports with gcovr or lcov. The "lint" target will validate code using cppcheck.


Support is offered thru https://git.gnutelephony.org/subdomain/issues. When entering a new support issue, please mark it part of the support project. I also have dyfet@jabber.org. Coventry packaging build support for some GNU/Linux distributions will be found on https://pkg.gnutelephony.org/subdomain.