Chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronize the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.
This cookbook is designed to install and configure Chrony daemon.
Optionnally, it can also configure an exporter script to expose Chrony metrics following Prometheus format.
Declared in metadata.rb and in Gemfile.
A systemd managed distribution, tested on:
- RHEL Family 7 (tested on Centos)
- Debian 8
This cookbook is fully tested through the installation of a NTP client in docker hosts. This uses kitchen and docker.
If you run kitchen list, you will see 2 instances, each for a different operating system:
- chrony-ntp-centos-7: installation of Chrony daemon and metrics exporter
- chrony-ntp-debian-8: same but for debian 8
For more information, see .kitchen.yml and test directory.
Configuration is done by overriding default attributes. All configuration keys have a default defined in attributes/default.rb and attributes/exporter.rb. Please read it to have a comprehensive view of what and how you can configure this cookbook behavior.
Include package
, config
, service
recipes.
Install Chrony using package.
Generate and deploy Chrony config: chrony.conf.
Create Systemd unit for Chrony and make sure service is started.
Install metrics exporter chrony_exporter.sh as a systemd timer unit.
None.
Available in CHANGELOG.md.
Please read carefully CONTRIBUTING.md before making a merge request.
- Author:: Sylvain Arrambourg ([email protected])
- Author:: Samuel Bernard ([email protected])
Copyright (c) 2017 Make.org
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.