Forge Home

chrony

Manage chrony daemon on Linux

275,826 downloads

800 latest version

5.0 quality score

Version information

  • 2.1.0 (latest)
  • 2.0.0
  • 1.0.0
  • 0.4.0
released Nov 23rd 2021
This version is compatible with:
  • Puppet Enterprise 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x
  • Puppet >= 6.1.0 < 8.0.0
  • RedHat
    ,
    CentOS
    ,
    Debian
    ,
    Ubuntu
    , SLES, Archlinux, Gentoo

Start using this module

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

Add this module to your Puppetfile:

mod 'puppet-chrony', '2.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install puppet-chrony --version 2.1.0

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

puppet/chrony — version 2.1.0 Nov 23rd 2021

puppet-chrony

License Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - scores

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.
  7. Copyright and License

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.

Requirements

Please review metadata.json for a list of requirements.

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', ],
}

How to configure leap second

class { 'chrony':
  leapsecmode  => 'slew',
  smoothtime   => '400 0.001 leaponly',
  maxslewrate  => 1000.0
}

Enable chrony-wait.service

RedHat and Suse provide a default disabled chrony-wait.service to block the time-sync.target until node is synchronised.

To enable it:

class { 'chrony':
  wait_enable => true,
  wait_ensure => true,
}

Reference

Reference documentation for the chrony module is generated using puppet-strings and available in REFERENCE.md

Limitations

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

The module has been tested on:

  • Arch Linux
  • Red Hat
  • Debian 9, 10
  • Ubuntu 18.04, 20.04
  • Suse 12.3
  • Gentoo 2.7

Copyright and License

This module is distributed under the Apache License 2.0. Copyright belongs to the module's authors, including Niels Abspoel and others.

The module was originally written by Niels Abspoel and released as aboe76/chrony. Since version 0.4.0, it is maintained by Vox Pupuli.