BREAKING CHANGE: `chrony.removed` replaced by `.clean` states.tags/v1.0.0
@@ -0,0 +1,7 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
include: | |||
- .service.clean | |||
- .config.clean | |||
- .package.clean |
@@ -1,17 +0,0 @@ | |||
{% from slspath+"/map.jinja" import chrony with context %} | |||
include: | |||
- chrony | |||
chrony_config: | |||
file.managed: | |||
- name: {{ chrony.config }} | |||
- source: {{ chrony.config_src }} | |||
- template: jinja | |||
- defaults: | |||
slspath: {{ slspath|yaml_encode }} | |||
- user: root | |||
- group: root | |||
- mode: 644 | |||
- watch_in: | |||
- service: chrony |
@@ -0,0 +1,16 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- set sls_service_clean = tplroot ~ '.service.clean' %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
include: | |||
- {{ sls_service_clean }} | |||
chrony-config-clean-file-absent: | |||
file.absent: | |||
- name: {{ chrony.config }} | |||
- require: | |||
- sls: {{ sls_service_clean }} |
@@ -0,0 +1,27 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- set sls_package_install = tplroot ~ '.package.install' %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} | |||
include: | |||
- {{ sls_package_install }} | |||
chrony-config-file-file-managed: | |||
file.managed: | |||
- name: {{ chrony.config }} | |||
- source: {{ files_switch(['chrony.conf', 'chrony.conf.jinja'], | |||
lookup='chrony-config-file-file-managed' | |||
) | |||
}} | |||
- mode: 644 | |||
- user: root | |||
- group: root | |||
- template: jinja | |||
- context: | |||
chrony: {{ chrony|json }} | |||
- require: | |||
- sls: {{ sls_package_install }} |
@@ -0,0 +1,5 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
include: | |||
- .file |
@@ -1,27 +1,29 @@ | |||
# Default lookup dictionary | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
chrony: | |||
package: chrony | |||
service: chronyd | |||
service: | |||
name: chronyd | |||
config: /etc/chrony.conf | |||
config_src: salt://{{ slspath }}/files/chrony_config | |||
ntpservers: [ '0.us.pool.ntp.org', | |||
'1.us.pool.ntp.org', | |||
'2.us.pool.ntp.org', | |||
'3.us.pool.ntp.org' | |||
] | |||
ntpservers: | |||
- '0.us.pool.ntp.org' | |||
- '1.us.pool.ntp.org' | |||
- '2.us.pool.ntp.org' | |||
- '3.us.pool.ntp.org' | |||
options: iburst | |||
logdir: /var/log/chrony | |||
keyfile: /etc/chrony.keys | |||
driftfile: /var/lib/chrony/drift | |||
otherparams: [ 'rtcsync', | |||
'makestep 10 3', | |||
'stratumweight 0', | |||
'bindcmdaddress 127.0.0.1', | |||
'bindcmdaddress ::1', | |||
'commandkey 1', | |||
'generatecommandkey', | |||
'noclientlog', | |||
'logchange 0.5', | |||
] | |||
allow: [ '10/8', '192.168/16', '172.16/12' ] | |||
otherparams: | |||
- 'rtcsync' | |||
- 'makestep 10 3' | |||
- 'stratumweight 0' | |||
- 'bindcmdaddress 127.0.0.1' | |||
- 'bindcmdaddress ::1' | |||
- 'noclientlog' | |||
- 'logchange 0.5' | |||
allow: | |||
- '10/8' | |||
- '192.168/16' | |||
- '172.16/12' |
@@ -1,21 +0,0 @@ | |||
{% from slspath+"/map.jinja" import chrony as config with context %} | |||
# This file is managed by salt | |||
{% for server in config.ntpservers -%} | |||
server {{ server }} {{ config.options }} | |||
{% endfor %} | |||
keyfile {{ config.keyfile }} | |||
driftfile {{ config.driftfile }} | |||
{% if config.allow is defined %} | |||
{% for allowed in config.get('allow', []) -%} | |||
allow {{ allowed }} | |||
{% endfor %} | |||
{%- endif %} | |||
logdir {{ config.logdir }} | |||
{% for param in config.get('otherparams', []) -%} | |||
{{ param }} | |||
{% endfor %} |
@@ -0,0 +1,24 @@ | |||
######################################################################## | |||
# File managed by Salt at <{{ source }}>. | |||
# Your changes will be overwritten. | |||
######################################################################## | |||
{% for server in chrony.ntpservers -%} | |||
server {{ server }} {{ chrony.options }} | |||
{% endfor %} | |||
keyfile {{ chrony.keyfile }} | |||
driftfile {{ chrony.driftfile }} | |||
{% if chrony.allow is defined %} | |||
{% for allowed in chrony.get('allow', []) -%} | |||
allow {{ allowed }} | |||
{% endfor %} | |||
{%- endif %} | |||
logdir {{ chrony.logdir }} | |||
{% for param in chrony.get('otherparams', []) -%} | |||
{{ param }} | |||
{% endfor %} |
@@ -1,10 +1,7 @@ | |||
{% from slspath+"/map.jinja" import chrony with context %} | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
chrony: | |||
pkg.installed: | |||
- name: {{ chrony.package }} | |||
service.running: | |||
- enable: True | |||
- name: {{ chrony.service }} | |||
- require: | |||
- pkg: {{ chrony.package }} | |||
include: | |||
- .package | |||
- .config | |||
- .service |
@@ -0,0 +1,100 @@ | |||
{%- macro files_switch(source_files, | |||
lookup=None, | |||
default_files_switch=['id', 'os_family'], | |||
indent_width=6, | |||
v1_path_prefix='') %} | |||
{#- | |||
Returns a valid value for the "source" parameter of a "file.managed" | |||
state function. This makes easier the usage of the Template Override and | |||
Files Switch (TOFS) pattern. | |||
Params: | |||
* source_files: ordered list of files to look for | |||
* lookup: key under '<tplroot>:tofs:source_files' to override | |||
list of source files | |||
* default_files_switch: if there's no config (e.g. pillar) | |||
'<tplroot>:tofs:files_switch' this is the ordered list of grains to | |||
use as selector switch of the directories under | |||
"<path_prefix>/files" | |||
* indent_witdh: indentation of the result value to conform to YAML | |||
* v1_path_prefix: (deprecated) only used for injecting a path prefix into | |||
the source, to support older TOFS configs | |||
Example (based on a `tplroot` of `xxx`): | |||
If we have a state: | |||
Deploy configuration: | |||
file.managed: | |||
- name: /etc/yyy/zzz.conf | |||
- source: {{ files_switch(['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja'], | |||
lookup='Deploy configuration' | |||
) }} | |||
- template: jinja | |||
In a minion with id=theminion and os_family=RedHat, it's going to be | |||
rendered as: | |||
Deploy configuration: | |||
file.managed: | |||
- name: /etc/yyy/zzz.conf | |||
- source: | |||
- salt://xxx/files/theminion/etc/yyy/zzz.conf | |||
- salt://xxx/files/theminion/etc/yyy/zzz.conf.jinja | |||
- salt://xxx/files/RedHat/etc/yyy/zzz.conf | |||
- salt://xxx/files/RedHat/etc/yyy/zzz.conf.jinja | |||
- salt://xxx/files/default/etc/yyy/zzz.conf | |||
- salt://xxx/files/default/etc/yyy/zzz.conf.jinja | |||
- template: jinja | |||
#} | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- set path_prefix = salt['config.get'](tplroot ~ ':tofs:path_prefix', tplroot) %} | |||
{%- set files_dir = salt['config.get'](tplroot ~ ':tofs:dirs:files', 'files') %} | |||
{%- set files_switch_list = salt['config.get']( | |||
tplroot ~ ':tofs:files_switch', | |||
default_files_switch | |||
) %} | |||
{#- Lookup source_files (v2), files (v1), or fallback to source_files parameter #} | |||
{%- set src_files = salt['config.get']( | |||
tplroot ~ ':tofs:source_files:' ~ lookup, | |||
salt['config.get']( | |||
tplroot ~ ':tofs:files:' ~ lookup, | |||
source_files | |||
) | |||
) %} | |||
{#- Only add to [''] when supporting older TOFS implementations #} | |||
{%- set path_prefix_exts = [''] %} | |||
{%- if v1_path_prefix != '' %} | |||
{%- do path_prefix_exts.append(v1_path_prefix) %} | |||
{%- endif %} | |||
{%- for path_prefix_ext in path_prefix_exts %} | |||
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %} | |||
{#- For older TOFS implementation, use `files_switch` from the config #} | |||
{#- Use the default, new method otherwise #} | |||
{%- set fsl = salt['config.get']( | |||
tplroot ~ path_prefix_ext|replace('/', ':') ~ ':files_switch', | |||
files_switch_list | |||
) %} | |||
{#- Append an empty value to evaluate as `default` in the loop below #} | |||
{%- if '' not in fsl %} | |||
{%- do fsl.append('') %} | |||
{%- endif %} | |||
{%- for fs in fsl %} | |||
{%- for src_file in src_files %} | |||
{%- if fs %} | |||
{%- set fs_dir = salt['config.get'](fs, fs) %} | |||
{%- else %} | |||
{%- set fs_dir = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %} | |||
{%- endif %} | |||
{%- set url = '- salt://' ~ '/'.join([ | |||
path_prefix_inc_ext, | |||
files_dir, | |||
fs_dir, | |||
src_file.lstrip('/') | |||
]) %} | |||
{{ url | indent(indent_width, true) }} | |||
{%- endfor %} | |||
{%- endfor %} | |||
{%- endfor %} | |||
{%- endmacro %} |
@@ -1,22 +1,24 @@ | |||
{## start with defaults from defaults.yaml ##} | |||
{% import_yaml slspath+"/defaults.yaml" as defaults %} | |||
{% import_yaml slspath+"/osmap.yaml" as osmap %} | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=jinja | |||
{% set chrony = salt['grains.filter_by']( | |||
defaults, | |||
merge=salt['grains.filter_by']( | |||
osmap, | |||
grain='os_family', | |||
merge=salt['pillar.get']('chrony', {}), | |||
), | |||
base='chrony' | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{#- Start imports as #} | |||
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %} | |||
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %} | |||
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %} | |||
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %} | |||
{%- set defaults = salt['grains.filter_by'](default_settings, | |||
default='chrony', | |||
merge=salt['grains.filter_by'](osfamilymap, grain='os_family', | |||
merge=salt['grains.filter_by'](osmap, grain='os', | |||
merge=salt['grains.filter_by'](osfingermap, grain='osfinger', | |||
merge=salt['pillar.get']('chrony:lookup', default={}) | |||
) | |||
) | |||
) | |||
) %} | |||
{# Debian distros check /etc/default/rcS to determine UTC setting #} | |||
{% if grains['os_family'] == "Debian" %} | |||
{% if salt['cmd.run']('grep UTC=no /etc/default/rcS', output_loglevel='quiet') %} | |||
{%- if chrony['otherparams'] and 'rtconutc' in chrony['otherparams'] %} | |||
{% do chrony['otherparams'].remove('rtconutc') %} | |||
{%- endif %} | |||
{% endif %} | |||
{% endif %} | |||
{#- Merge the chrony pillar #} | |||
{%- set chrony = salt['pillar.get']('chrony', default=defaults, merge=True) %} |
@@ -0,0 +1,82 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
# | |||
# Setup variables using grains['os_family'] based logic. | |||
# You just need to add the key:values for an `os_family` that differ | |||
# from `defaults.yaml`. | |||
# Only add an `os_family` which is/will be supported by the formula | |||
# | |||
# If you do not need to provide defaults via the `os_family` grain, | |||
# you will need to provide at least an empty dict in this file, e.g. | |||
# osfamilymap: {} | |||
--- | |||
Debian: | |||
service: | |||
name: chrony | |||
config: /etc/chrony/chrony.conf | |||
ntpservers: | |||
- '0.debian.pool.ntp.org' | |||
- '1.debian.pool.ntp.org' | |||
- '2.debian.pool.ntp.org' | |||
- '3.debian.pool.ntp.org' | |||
options: offline minpoll 8 | |||
keyfile: /etc/chrony/chrony.keys | |||
driftfile: /var/lib/chrony/chrony.drift | |||
otherparams: | |||
- 'log tracking measurements statistics' | |||
- 'maxupdateskew 100.0' | |||
- 'dumponexit' | |||
- 'dumpdir /var/lib/chrony' | |||
- 'commandkey 1' | |||
- 'local stratum 10' | |||
- 'rtconutc' | |||
RedHat: | |||
ntpservers: | |||
- '0.centos.pool.ntp.org' | |||
- '1.centos.pool.ntp.org' | |||
- '2.centos.pool.ntp.org' | |||
- '3.centos.pool.ntp.org' | |||
otherparams: | |||
- 'rtcsync' | |||
- 'makestep 10 3' | |||
- 'stratumweight 0' | |||
- 'bindcmdaddress 127.0.0.1' | |||
- 'bindcmdaddress ::1' | |||
- 'commandkey 1' | |||
- 'generatecommandkey' | |||
- 'noclientlog' | |||
- 'logchange 0.5' | |||
openSUSE: | |||
ntpservers: | |||
- '0.arch.opensuse.ntp.org' | |||
- '1.arch.opensuse.ntp.org' | |||
- '2.arch.opensuse.ntp.org' | |||
- '3.opensuse.pool.ntp.org' | |||
otherparams: | |||
- 'rtcsync' | |||
- 'makestep 10 3' | |||
- 'maxdistance 6' | |||
- 'logchange 0.1' | |||
Gentoo: | |||
package: net-misc/chrony | |||
config: /etc/chrony/chrony.conf | |||
ntpservers: | |||
- '0.gentoo.pool.ntp.org' | |||
- '1.gentoo.pool.ntp.org' | |||
- '2.gentoo.pool.ntp.org' | |||
- '3.gentoo.pool.ntp.org' | |||
otherparams: | |||
- 'rtconutc' | |||
- 'rtcsync' | |||
Arch: | |||
ntpservers: | |||
- '0.arch.pool.ntp.org' | |||
- '1.arch.pool.ntp.org' | |||
- '2.arch.pool.ntp.org' | |||
otherparams: | |||
- 'rtconutc' | |||
- 'rtcsync' |
@@ -0,0 +1,18 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
# | |||
# Setup variables using grains['osfinger'] based logic. | |||
# You just need to add the key:values for an `osfinger` that differ | |||
# from `defaults.yaml` + `os_family.yaml` + `osmap.yaml`. | |||
# Only add an `osfinger` which is/will be supported by the formula | |||
# | |||
# If you do not need to provide defaults via the `os_finger` grain, | |||
# you will need to provide at least an empty dict in this file, e.g. | |||
# osfingermap: {} | |||
--- | |||
# os: Ubuntu | |||
Ubuntu-18.04: {} | |||
# os: CentOS | |||
CentOS-6: {} | |||
CentOS-7: {} |
@@ -1,65 +1,30 @@ | |||
# OS parameters overriding common defaults(.yaml) | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
# | |||
# Setup variables using grains['os'] based logic. | |||
# You just need to add the key:values for an `os` that differ | |||
# from `defaults.yaml` + `os_family.yaml`. | |||
# Only add an `os` which is/will be supported by the formula | |||
# | |||
# If you do not need to provide defaults via the `os` grain, | |||
# you will need to provide at least an empty dict in this file, e.g. | |||
# osmap: {} | |||
--- | |||
# os_family: Debian | |||
Ubuntu: {} | |||
Debian: | |||
service: chrony | |||
config: /etc/chrony/chrony.conf | |||
ntpservers: [ '0.debian.pool.ntp.org', | |||
'1.debian.pool.ntp.org', | |||
'2.debian.pool.ntp.org', | |||
'3.debian.pool.ntp.org', ] | |||
options: offline minpoll 8 | |||
keyfile: /etc/chrony/chrony.keys | |||
driftfile: /var/lib/chrony/chrony.drift | |||
otherparams: [ 'log tracking measurements statistics', | |||
'maxupdateskew 100.0', | |||
'dumponexit', | |||
'dumpdir /var/lib/chrony', | |||
'commandkey 1', | |||
'local stratum 10', | |||
'rtconutc', ] | |||
Raspbian: {} | |||
RedHat: | |||
ntpservers: [ '0.centos.pool.ntp.org', | |||
'1.centos.pool.ntp.org', | |||
'2.centos.pool.ntp.org', | |||
'3.centos.pool.ntp.org', ] | |||
otherparams: [ 'rtcsync', | |||
'makestep 10 3', | |||
'stratumweight 0', | |||
'bindcmdaddress 127.0.0.1', | |||
'bindcmdaddress ::1', | |||
'commandkey 1', | |||
'generatecommandkey', | |||
'noclientlog', | |||
'logchange 0.5', ] | |||
# os_family: RedHat | |||
Fedora: {} | |||
Arch: | |||
ntpservers: [ '0.arch.pool.ntp.org', | |||
'1.arch.pool.ntp.org', | |||
'2.arch.pool.ntp.org' ] | |||
otherparams: [ 'rtconutc', | |||
'rtcsync', ] | |||
CentOS: {} | |||
Gentoo: | |||
package: net-misc/chrony | |||
service: chronyd | |||
config: /etc/chrony/chrony.conf | |||
ntpservers: [ '0.gentoo.pool.ntp.org', | |||
'1.gentoo.pool.ntp.org', | |||
'2.gentoo.pool.ntp.org', | |||
'3.gentoo.pool.ntp.org', ] | |||
options: iburst | |||
driftfile: /var/lib/chrony/drift | |||
otherparams: [ 'rtconutc', | |||
'rtcsync', ] | |||
# os_family: Gentoo | |||
Gentoo: {} | |||
Suse: | |||
ntpservers: [ '0.arch.opensuse.ntp.org', | |||
'1.arch.opensuse.ntp.org', | |||
'2.arch.opensuse.ntp.org', | |||
'3.opensuse.pool.ntp.org', ] | |||
otherparams: [ 'rtcsync', | |||
'makestep 10 3', | |||
'maxdistance 6', | |||
'logchange 0.1', ] | |||
# os_family: Suse | |||
Suse: {} | |||
# os_family: Arch | |||
Arch: {} |
@@ -0,0 +1,16 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- set sls_config_clean = tplroot ~ '.config.clean' %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
include: | |||
- {{ sls_config_clean }} | |||
chrony-package-clean-pkg-removed: | |||
pkg.removed: | |||
- name: {{ chrony.pkg }} | |||
- require: | |||
- sls: {{ sls_config_clean }} |
@@ -0,0 +1,5 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
include: | |||
- .install |
@@ -0,0 +1,10 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
chrony-package-install-pkg-installed: | |||
pkg.installed: | |||
- name: {{ chrony.package }} |
@@ -1,10 +0,0 @@ | |||
{% from slspath+"/map.jinja" import chrony with context %} | |||
chrony_removed: | |||
service.dead: | |||
- enable: False | |||
- name: {{ chrony.service }} | |||
pkg.removed: | |||
- name: {{ chrony.package }} | |||
- require: | |||
- service: chrony_removed |
@@ -0,0 +1,11 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
chrony-service-clean-service-dead: | |||
service.dead: | |||
- name: {{ chrony.service.name }} | |||
- enable: False |
@@ -0,0 +1,5 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
include: | |||
- .running |
@@ -0,0 +1,17 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=sls | |||
{#- Get the `tplroot` from `tpldir` #} | |||
{%- set tplroot = tpldir.split('/')[0] %} | |||
{%- set sls_config_file = tplroot ~ '.config.file' %} | |||
{%- from tplroot ~ "/map.jinja" import chrony with context %} | |||
include: | |||
- {{ sls_config_file }} | |||
chrony-service-running-service-running: | |||
service.running: | |||
- name: {{ chrony.service.name }} | |||
- enable: True | |||
- require: | |||
- sls: {{ sls_config_file }} |
@@ -40,20 +40,60 @@ Contributing to this repo | |||
Please see :ref:`How to contribute <CONTRIBUTING>` for more details. | |||
Available states | |||
================ | |||
---------------- | |||
.. contents:: | |||
:local: | |||
``chrony`` | |||
---------- | |||
^^^^^^^^^^ | |||
Installs the chrony package. | |||
*Meta-state (This is a state that includes other states)*. | |||
This installs the chrony package, | |||
manages the chrony configuration file and then | |||
starts the associated chrony service. | |||
``chrony.package`` | |||
^^^^^^^^^^^^^^^^^^ | |||
This state will install the chrony package only. | |||
``chrony.config`` | |||
----------------- | |||
This state manages the file ``chrony.conf`` under ``/etc`` (template found in "chrony/files"). The configuration is populated by values in "chrony/map.jinja" based on the package's default values (and RedHat, Debian, Suse and Arch family distribution specific values), which can then be overridden by values of the same name in pillar. | |||
^^^^^^^^^^^^^^^^^ | |||
This state will configure the chrony service and has a dependency on ``chrony.install`` | |||
via include list. | |||
``chrony.service`` | |||
^^^^^^^^^^^^^^^^^^ | |||
This state will start the chrony service and has a dependency on ``chrony.config`` | |||
via include list. | |||
``chrony.clean`` | |||
^^^^^^^^^^^^^^^^ | |||
*Meta-state (This is a state that includes other states)*. | |||
this state will undo everything performed in the ``chrony`` meta-state in reverse order, i.e. | |||
stops the service, | |||
removes the configuration file and | |||
then uninstalls the package. | |||
``chrony.service.clean`` | |||
^^^^^^^^^^^^^^^^^^^^^^^^ | |||
This state will stop the chrony service and disable it at boot time. | |||
``chrony.config.clean`` | |||
^^^^^^^^^^^^^^^^^^^^^^^ | |||
This state will remove the configuration of the chrony service and has a | |||
dependency on ``chrony.service.clean`` via include list. | |||
``chrony.package.clean`` | |||
^^^^^^^^^^^^^^^^^^^^^^^^ | |||
``chrony.removed`` | |||
----------------- | |||
Stops the service and uninstalls the package. | |||
This state will remove the chrony package and has a depency on | |||
``chrony.config.clean`` via include list. |
@@ -72,8 +72,7 @@ provisioner: | |||
state_top: | |||
base: | |||
'*': | |||
# - chrony | |||
- chrony.config | |||
- chrony | |||
pillars: | |||
top.sls: | |||
base: |
@@ -1,10 +1,42 @@ | |||
chrony: | |||
ntpservers: | |||
- 'ntp0.nl.net' | |||
- 'ntp1.nl.net' | |||
- 'ntp2.nl.net' | |||
- 'ntp.xs4all.nl' | |||
- '0.nl.pool.ntp.org' | |||
- '1.nl.pool.ntp.org' | |||
- '2.nl.pool.ntp.org' | |||
- '3.nl.pool.ntp.org' | |||
- '0.debian.pool.ntp.org' | |||
- '1.centos.pool.ntp.org' | |||
- '2.arch.pool.ntp.org' | |||
- '3.gentoo.pool.ntp.org' | |||
allow: | |||
- '10/8' | |||
- '192.168/16' | |||
- '172.16/12' | |||
otherparams: | |||
- 'rtcsync' | |||
- 'makestep 10 3' | |||
- 'stratumweight 0' | |||
- 'bindcmdaddress 127.0.0.1' | |||
- 'bindcmdaddress ::1' | |||
- 'commandkey 1' | |||
- 'generatecommandkey' | |||
- 'noclientlog' | |||
- 'logchange 0.5' | |||
# tofs: | |||
# # The files_switch key serves as a selector for alternative | |||
# # directories under the formula files directory. See TOFS pattern | |||
# # doc for more info. | |||
# # Note: Any value not evaluated by `config.get` will be used literally. | |||
# # This can be used to set custom paths, as many levels deep as required. | |||
# files_switch: | |||
# - any/path/can/be/used/here | |||
# - id | |||
# - osfinger | |||
# - os | |||
# - os_family | |||
# # All aspects of path/file resolution are customisable using the options below. | |||
# # This is unnecessary in most cases; there are sensible defaults. | |||
# path_prefix: template_alt | |||
# dirs: | |||
# files: files_alt | |||
# default: default_alt | |||
# source_files: | |||
# chrony-config-file-file-managed: | |||
# - 'chrony_alt.conf' | |||
# - 'chrony_alt.conf.jinja' |