Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
andif888 committed Jan 2, 2023
0 parents commit a6af3e5
Show file tree
Hide file tree
Showing 9 changed files with 226 additions and 0 deletions.
83 changes: 83 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# ansible-role-chrony

Role to install chrony.

## Table of content

- [Default Variables](#default-variables)
- [chrony_all](#chrony_all)
- [chrony_allow](#chrony_allow)
- [chrony_ntp_pools](#chrony_ntp_pools)
- [chrony_ntp_servers](#chrony_ntp_servers)
- [chrony_service_name](#chrony_service_name)
- [Dependencies](#dependencies)
- [License](#license)
- [Author](#author)

---

## Default Variables

### chrony_all

ip prefixed which are allow to use this server as time server

Example:

chrony_allow: ["192.168.0.0/24", "192.168.1.0/24"]

### chrony_allow

#### Default value

```YAML
chrony_allow: []
```
### chrony_ntp_pools
chrony configuration: ntp pools
#### Default value
```YAML
chrony_ntp_pools:
- ntp.ubuntu.com iburst maxsources 4
- 0.ubuntu.pool.ntp.org iburst maxsources 1
- 1.ubuntu.pool.ntp.org iburst maxsources 1
- 2.ubuntu.pool.ntp.org iburst maxsources 2
```
### chrony_ntp_servers
chrony configuration: ntp servers
#### Default value
```YAML
chrony_ntp_servers: []
```
### chrony_service_name
chrony service name
#### Default value
```YAML
chrony_service_name: chronyd
```
## Dependencies
None.
## License
license (GPL-2.0-or-later, MIT, etc)
## Author
andif888
23 changes: 23 additions & 0 deletions defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
# defaults file for ansible-role-chrony
# @var chrony_service_name: description: chrony service name
chrony_service_name: chronyd

# @var chrony_ntp_servers:description: chrony configuration: ntp servers
chrony_ntp_servers: []

# @var chrony_ntp_pools:description: chrony configuration: ntp pools
chrony_ntp_pools:
- "ntp.ubuntu.com iburst maxsources 4"
- "0.ubuntu.pool.ntp.org iburst maxsources 1"
- "1.ubuntu.pool.ntp.org iburst maxsources 1"
- "2.ubuntu.pool.ntp.org iburst maxsources 2"

# @var chrony_all:description: >
# ip prefixed which are allow to use this server as time server
#
# Example:
#
# chrony_allow: ["192.168.0.0/24", "192.168.1.0/24"]
# @end
chrony_allow: []
6 changes: 6 additions & 0 deletions handlers/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
# handlers file for ansible-role-chrony
- name: Restart chrony
ansible.builtin.service:
name: "{{ chrony_service_name }}"
state: restarted
56 changes: 56 additions & 0 deletions meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# @meta description: >
# Role to install chrony.
# @end
# @meta author: andif888
galaxy_info:
author: andif888
description: yRole to install chrony
company: your company (optional)

# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker

# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)

min_ansible_version: 2.1

# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:

#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99

galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.

dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.
21 changes: 21 additions & 0 deletions tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
# tasks file for ansible-role-chrony
- name: Install
ansible.builtin.package:
name: chrony
state: present

- name: Config file
ansible.builtin.template:
src: "templates/chrony.conf.j2"
dest: "/etc/chrony/chrony.conf"
owner: root
group: root
mode: '644'
notify: Restart chrony

- name: Service enabled and started
ansible.builtin.service:
name: "{{ chrony_service_name }}"
enabled: true
state: started
28 changes: 28 additions & 0 deletions templates/chrony.conf.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{% if chrony_ntp_servers|length > 0 %}
# List of NTP servers to use
{% for server in chrony_ntp_servers %}
server {{ server }}
{% endfor %}
{% endif %}

{% if chrony_ntp_pools|length > 0 %}
# List of NTP pools to use
{% for pool in chrony_ntp_pools %}
pool {{ pool }}
{% endfor %}
{% endif %}

keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony
maxupdateskew 100.0
rtcsync
makestep 1 3

{% if chrony_allow|length > 0 %}
# Allow NTP requests from these clients:
# (chrony will then act as a NTP server for these)
{% for addr in chrony_allow %}
allow {{ addr }}
{% endfor %}
{% endif %}
2 changes: 2 additions & 0 deletions tests/inventory
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
localhost

5 changes: 5 additions & 0 deletions tests/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- ansible-role-chrony
2 changes: 2 additions & 0 deletions vars/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
# vars file for ansible-role-chrony

0 comments on commit a6af3e5

Please sign in to comment.