Why Are Some NTS Servers Marked as 'Distro-Only' in the Server List?
Servers labeled "distro-only" in the NTS server list are Ubuntu's public NTP servers reserved exclusively for Ubuntu distribution use to prevent service overload and respect usage policies.
The jauderho/nts-servers repository maintains a curated YAML database of Network Time Security (NTS) servers, with specific entries in nts-sources.yml flagged as distribution-only. These marked servers—1.ntp.ubuntu.com through 4.ntp.ubuntu.com—are provisioned by Canonical exclusively for Ubuntu installations and are not intended for general public consumption.
What "Distro-Only" Means in the NTS Context
In the context of this repository, "distro-only" indicates that an NTP server is reserved for use by a specific Linux distribution rather than the general internet population.
Ubuntu's Distribution-Only NTP Servers
The entries carrying the Distro label correspond to Ubuntu's public NTP infrastructure. In nts-sources.yml, these records contain location: Distro and the explicit note notes: Distro use only【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】. The README reflects this data in the Location column showing Distro alongside the restriction note【/cache/repos/github.com/jauderho/nts-servers/main/README.md#L35-L38】.
Why Distro-Only Servers Are Flagged
The maintainers deliberately annotate these servers to guide downstream users and automated configuration tools. This marking serves three critical purposes according to the jauderho/nts-servers source code.
Preventing Generic Pool Contamination
By flagging these entries, the repository ensures automated tools do not pull Ubuntu's servers into generic NTP pools. These endpoints are not meant to be shared beyond Ubuntu hosts, and including them in public pool rotations would violate their intended scope.
Avoiding Accidental Overload
Ubuntu's NTP servers are sized specifically for the distribution's own client base. Additional external traffic from non-Ubuntu systems could degrade service quality for legitimate Ubuntu users. The Distro label acts as a warning to prevent accidental overloading of infrastructure not designed for universal public access.
Respecting Provider Usage Policies
Canonical explicitly stipulates that these distribution-only NTP endpoints should not be used by other operating systems or third-party services. The marking ensures compliance with Ubuntu's terms of service while still making the server information available for Ubuntu users who legitimately need it.
How to Filter Distro-Only Servers from the List
When generating configuration files from this repository, you may want to exclude these restricted entries. The repository structure makes this straightforward through multiple approaches.
Exclude Using Python
You can filter the YAML source programmatically to omit distro-only entries:
import yaml
def load_servers(yaml_path):
with open(yaml_path) as f:
data = yaml.safe_load(f)
# Keep only servers that are not marked as Distro
return [
s for s in data["servers"]
if s.get("location") != "Distro"
]
servers = load_servers("nts-sources.yml")
for s in servers:
print(f"{s['hostname']} ({s['location']})")
Filter with Command-Line Tools
For quick shell-based filtering, use grep to exclude the Distro entries from the YAML source:
grep -v "location: Distro" nts-sources.yml | grep -B2 "hostname:" | grep "hostname:" | cut -d ':' -f2-
Modify the Converter Script Output
The scripts/ntpServerConverter.py groups servers by location, including the Distro section. To generate configs without these entries, run the converter and strip the Distro block:
./scripts/ntpServerConverter.py nts-sources.yml > full.md
# Remove the Distro block
sed -n '/^## The List/,/^|---/p' full.md | \
awk '!/Distro/ && !/Distro use only/'
As implemented in jauderho/nts-servers, the converter handles location grouping and adds comments at lines 27-44 of ntpServerConverter.py【/cache/repos/github.com/jauderho/nts-servers/main/scripts/ntpServerConverter.py#L27-L44】.
Key Source Files and Implementation
Three core files implement the distro-only marking system:
-
nts-sources.yml: The master YAML list containinglocation: Distroandnotes: Distro use onlyfor Ubuntu entries【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】. -
README.md: The human-readable table displaying Distro locations and restriction notes for GitHub viewers【/cache/repos/github.com/jauderho/nts-servers/main/README.md#L35-L38】. -
scripts/ntpServerConverter.py: The conversion utility that processes location fields and generateschrony.conf,ntp.toml, and Markdown outputs, implementing the grouping logic that separates Distro entries from general pool servers【/cache/repos/github.com/jauderho/nts-servers/main/scripts/ntpServerConverter.py#L27-L44】.
Summary
- Distro-only servers are Ubuntu's NTP infrastructure (
1.ntp.ubuntu.comthrough4.ntp.ubuntu.com) reserved exclusively for Ubuntu distribution use. - Explicit YAML markings in
nts-sources.ymluselocation: Distroandnotes: Distro use onlyto flag these restricted entries. - Overload prevention motivates the restriction, as these servers are sized specifically for Ubuntu's client base rather than general internet traffic.
- Easy filtering is possible through Python scripts, command-line tools, or by modifying the
ntpServerConverter.pyoutput to exclude Distro-labeled entries.
Frequently Asked Questions
Can I use distro-only NTS servers if I'm not running Ubuntu?
No. These servers are provisioned exclusively for Ubuntu installations, and using them from other operating systems violates Canonical's usage policies while potentially degrading service for legitimate Ubuntu users.
How does the repository mark these servers in the data files?
According to the jauderho/nts-servers source code, the repository marks these servers in nts-sources.yml with the field location: Distro and the note Distro use only【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】. These fields propagate to the README table and configuration outputs generated by scripts/ntpServerConverter.py.
Will the converter scripts automatically exclude distro-only servers?
No. The scripts/ntpServerConverter.py includes distro-only servers in its output to ensure Ubuntu users can access them. You must explicitly filter these entries using the Python, grep, or awk methods shown above if you wish to exclude them from generated configurations.
What happens if I accidentally use a distro-only server?
Your NTP client will likely function normally initially, but you risk having your access blocked by Canonical or contributing to server overload. The jauderho/nts-servers repository provides clear labeling specifically to help you avoid this configuration error.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →