Forge Home

chrony

Manage chrony daemon on Linux

6,627 downloads

6,476 latest version

3.9 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.2.1 (latest)
  • 0.2.0
released Aug 31st 2017

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'j0hnds-chrony', '0.2.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add j0hnds-chrony
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install j0hnds-chrony --version 0.2.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

j0hnds/chrony — version 0.2.1 Aug 31st 2017

puppet-chrony

Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with chrony
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.

Overview

Chrony Puppet Module

Manage chrony time daemon on Archlinux and Redhat

Module Description

The Chrony module handles running chrony in Archlinux and Redhat systems with systemd.

Setup

What chrony affects

  • chrony package.
  • chrony configuration file.
  • chrony key file.
  • chrony service.

Beginning with chrony

include '::chrony' is all you need to get it running. If you wish to pass in parameters like which servers to use then you can use:

class { '::chrony':
  servers => ['ntp1.corp.com', 'ntp2.corp.com' ],
}

Usage

All interaction with the chrony module can be done through the main chrony class.

I just want chrony, what's the minimum I need?

include '::chrony'

I just want to tweak the servers, nothing else.

class { '::chrony':
  servers => [ 'ntp1.corp.com', 'ntp2.corp.com', ],
}

I'd like to make sure a secret password is used for chronyc:

class { '::chrony':
  servers         => [ 'ntp1.corp.com', 'ntp2.corp.com', ],
  chrony_password => 'secret_password',
}

I'd like to use NTP authentication:

class { '::chrony':
  keys            => [
    '25 SHA1 HEX:1dc764e0791b11fa67efc7ecbc4b0d73f68a070c',
  ],
  servers         => {
    'ntp1.corp.com' => ['key 25', 'iburst'],
    'ntp2.corp.com' => ['key 25', 'iburst'],
  },
}

I'd like chronyd to auto generate a command key at startup:

class { '::chrony':
   chrony_password    => 'unset',
   config_keys_manage => false,
}

Allow some hosts

class { '::chrony':
  queryhosts  => [ '192.168/16', ],
}

Reference

Classes

  • chrony: Main class, includes all the rest.
  • chrony::install: Handles the packages.
  • chrony::config: Handles the configuration and key file.
  • chrony::service: Handles the service.

Parameters

The following parameters are available in the chrony module

chrony_password

This sets the chrony password to be used in the key file. By default a short fixed string is used. If set explicitly to 'unset' then no password will setting will be added to the keys file by puppet.

commandkey

This sets the key ID used by chronyc to authenticate to chronyd.

config

This sets the file to write chrony configuration into.

config_template

This determines which template puppet should use for the chrony configuration.

config_keys

This sets the file to write chrony keys into.

config_keys_owner

Specify unix owner of chrony keys file, defaults to 0.

config_keys_group

Specify unix group of chrony keys files, defaults to 0 on ArchLinux and chrony on Redhat.

config_keys_mode

Specify unix mode of chrony keys files, defaults to 0644 on ArchLinux and 0640 on Redhat.

config_keys_template

This determines which template puppet should use for the chrony key file.

keys

An array of key lines. These are printed as-is into the chrony key file.

package_ensure

This can be set to 'present' or 'latest' or a specific version to choose the chrony package to be installed.

package_name

This determines the name of the package to install.

servers

This selects the servers to use for ntp peers. It can be an array of servers or a hash of servers to their respective options.

queryhosts

This adds the networks, hosts that are allowed to query the daemon.

service_enable

This determines if the service should be enabled at boot.

service_ensure

This determines if the service should be running or not.

service_manage

This selects if puppet should manage the service in the first place.

service_name

This selects the name of the chrony service for puppet to manage.

Limitations

This module has been built on and tested against Puppet 3.2.3 and higher.

The module has been tested on:

  • Arch Linux
  • Red Hat