machines are removed from the DNS during their maintenance.
The term static mirroring infrastructure includes:
<!-- such projects are never over. add a pointer to well-known issues -->
<!-- and show how to report problems. usually a link to the bugtracker -->
• components, specifying the data source and other config options.
See `modules/roles/misc/static-components.yaml`
• a `master` host for each component, responsible only for distributing data,
not for serving data to end users.
• machines with the `static_mirror` Puppet role
• a few scripts around `rsync(1)`
When data changes, the `source` is responsible for running
`static-update-component`, which instructs the `master` via SSH to run
`static-master-update-component`, transfers a new copy of the source
data to the `master` using rsync(1) and, upon successful copy, swaps
it with the current copy.
The current copy on the `master` is then distributed to all actual
`mirror`s, again placing a new copy alongside their current copy using
`rsync(1)`.
Once the data successfully made it to all mirrors, the mirrors are
instructed to swap the new copy with their current copy, at which
point the updated data will be served to end users.
<!-- end of the copy -->
TODO: expand design. talk about mininag and walk through the [scripts overview](https://salsa.debian.org/dsa-team/mirror/dsa-puppet/-/blob/master/modules/staticsync/files/OVERVIEW)
TODO: make a diagram?
TODO: "audit" the static site mirror design as per https://bluesock.org/~willkg/blog/dev/auditing_projects.html
## Issues
There is no issue tracker specifically for this project, [File][] or
[search][] for issues in the [team issue tracker][search].
@@ -186,32 +229,61 @@ There is no issue tracker specifically for this project, [File][] or
## Monitoring and testing
<!-- describe how this service is monitored and how it can be tested -->
<!-- after major changes like IP address changes or upgrades -->
Static site synchronisation is monitored in Nagios, using a block in