2026-10-01 13:30:42 +02:00
# Readme
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
[](https://jenkins.confdroid.com/job/confdroid_ntp/)
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
[](https://deepwiki.com/grizzlycoda/puppet_collection)
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- [Readme ](#readme )
- [Synopsis ](#synopsis )
- [WARNING ](#warning )
- [Features ](#features )
- [Repo Documentation ](#repo-documentation )
- [Dependencies ](#dependencies )
- [Deployment ](#deployment )
- [SELINUX ](#selinux )
- [Known Problems ](#known-problems )
- [Support ](#support )
- [Tests ](#tests )
- [Contact Us ](#contact-us )
- [Disclaimer ](#disclaimer )
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Synopsis
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
Time management in Linux is important. The underlying protocol is ntp, the service nowadays is chrony.
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
`confdroid_ntp` is a Puppet module to automate installation and configuration of chrony.
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## WARNING
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
***Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production***
## Features
2026-10-01 12:49:32 +02:00
2026-10-02 15:16:47 +02:00
This module differentiates between client- and server configuration. If the `FQDN` of the puppet client matches the value of `cy_server_fqdn` , it assumes this to be an ntp time server, else it will be a client.
2026-10-02 16:03:13 +02:00
If you have no local time server(s), leave `cy_use_lan_server` at `false` (default), else set it to `true` . This affects only client configurations.
2026-10-02 15:16:47 +02:00
2026-10-04 11:19:54 +02:00
The value for `cy_server_fqdn` is a string rather array, assuming either a single time server or a round-robin DNS CNAME entry returning several values for the time server (not configured by this module).
2026-10-02 15:16:47 +02:00
2026-10-01 13:30:42 +02:00
INSTALLATION
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- installs chrony binaries
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
CONFIGURATION
2026-10-01 12:49:32 +02:00
2026-10-02 15:16:47 +02:00
- manage directories including selinux contexts
- and files and their templates including selinux contexts
2026-10-01 13:30:42 +02:00
- manage service
- optional: include nagios target for the chrony service (set `cy_manage_nagios` to `true` )
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Repo Documentation
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
See the full Puppet documentation including parameters in `docs/index.html`
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Dependencies
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
All dependencies must be included in the catalogue.
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- [confdroid_nagios ](https://sourcecode.confdroid.com/confdroid/confdroid_nagios ) if nagios monitoring is desired
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Deployment
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- native Puppet deployment
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
via site.pp or nodes.pp
```bash
node 'example.example.net' {
2026-10-01 13:52:10 +02:00
include confdroid_ntp
2026-10-01 13:30:42 +02:00
}
```
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- through Foreman:
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
See [more details about class deployment on Confdroid.com ](https://confdroid.com/2017/05/deploying-our-puppet-modules/ ).
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## SELINUX
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Known Problems
2026-10-01 12:49:32 +02:00
## Support
2026-10-01 13:30:42 +02:00
- OS: Rocky 9
- Puppet 8
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Tests
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- Puppet Lint
- excluded tests:
- `--no-variable_scope-check` : not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
- Puppet Parser
- ERB Template Parser
- Sonar Quality Gate
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Contact Us
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
- [contact Us ](https://confdroid.com/contact/ )
- [Feedback Portal ](https://feedback.confdroid.com )
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
## Disclaimer
2026-10-01 12:49:32 +02:00
2026-10-01 13:30:42 +02:00
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.
The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments.