A container and helm chart for chrony, a versatile implementation of the Network Time Protocol (NTP).
  • Smarty 59.8%
  • Dockerfile 40.2%
Find a file
2025-08-04 23:58:18 +01:00
chart Support specifying subnets to allow 2025-08-04 23:31:38 +01:00
files/etc Initial Commit 2025-08-03 22:07:26 +01:00
src@1bcbea9bd2 Initial Commit 2025-08-03 22:07:26 +01:00
.gitmodules Initial Commit 2025-08-03 22:07:26 +01:00
Containerfile Add optimise flag for complication 2025-08-04 23:32:55 +01:00
LICENSE Add LICENSE and README 2025-08-04 14:58:04 +01:00
README.md Improve Badge Text 2025-08-04 23:58:18 +01:00

Chrony

Version Size

A container and helm chart for chrony, a versatile implementation of the Network Time Protocol (NTP).

The Helm Chart sets up a Kubernetes DaemonSet that ensures chrony runs on every node in your cluster, synchronising the system time with NTP servers, other peers, or reference clocks.

Optionally, it can also be configured to act as an NTPv4 (RFC 5905) server.

Usage

helm install chrony chart --values values.yaml

Add Servers

# values.yaml
config:
  pools:
  - "pool.example.net"
  servers:
  - "server.example.com"

Values

Key Type Default Description
image.repository string "docker.io/emilyls/chrony" The repository to use for images
image.pullPolicy Enum: Always, IfNotPresent IfNotPresent Policy for pulling images
image.tag string "" (Chart Version) The tag to use for images
imagePullSecrets array [] Secrets to use for pulling images
nodeSelector object {} Selectors for deploying to specific nodes only
tolerations array [] Tolerations for pod scheduling
affinity object {} Affinity rules for pod scheduling
priorityClassName string "system-node-critical" The priority class to set for pods
config.pools array[string] ["2.pool.ntp.org iburst"] List of NTP server pools to sync from
config.servers array[string] ~ List of individual NTP servers to sync from
config.extraConfig string Extra configuration for chrony.conf (See chrony.conf Documentation)
server.enabled bool false If chrony should be configured to listen as an NTP server
server.port int 123 If enabled, what service port to listen on as an NTP server
server.containerPort int 8123 If enabled, what port to listen on in the container as an NTP server
server.allowed array[string] ["::/0"] List of subnets that chrony should allow to connect to the server
cmd.sock.enabled bool false If the UNIX command socket should be enabled
cmd.sock.hostPath.path string ~ If given, the UNIX command socket will be placed in the host file system
cmd.sock.hostPath.type Enum: Directory, DirectoryOrCreate DirectoryOrCreate If hostPath UNIX socket is used, if the directory should already exist
cmd.net.enabled bool false If the Network command socket should be enabled
cmd.net.containerPort int 8323 If enabled, what port to listen on in the container for the command socket
cmd.net.allowed array[string] ["::/0"] List of subnets that chrony should allow to pull monitoring information from the server
initContainers array ~ List of extra initContainers to inject into the Pod
extraContainers array ~ List of extra containers to inject into the Pod

License

chrony itself is licenced under GPLv2. This wrapper project's Containerfile and helm chart are licenced under the Apache License 2.0.