A container and helm chart for chrony, a versatile implementation of the Network Time Protocol (NTP).
- Smarty 59.8%
- Dockerfile 40.2%
| chart | ||
| files/etc | ||
| src@1bcbea9bd2 | ||
| .gitmodules | ||
| Containerfile | ||
| LICENSE | ||
| README.md | ||
Chrony
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.