CDN
Fastly sponsors the CDN for Foreman.
Configuration
The configuration happens through the ansible/fastly.yml Ansible playbook in this repository.
The major points of the configuration are:
- Set the backend to the right webserver (website01, repo-rpm01, repo-deb01)
- Enable shielding: a central system fetches the assets and then distributes them across the CDN instead of each CDN node fetches them itself, this costs more CDN traffic, but is usually faster
- Configure a health-check and serve stale content when it fails
TLS
Fastly provides a shared certificate which has theforeman.org and *.theforeman.org as DNSAltName.
This certificate is signed by GlobalSign and we have a _globalsign-domain-verification TXT record in the theforeman.org DNS zone for verification of ownership.
DNS
Each vhost has a CNAME pointing at dualstack.p2.shared.global.fastly.net which is the Fastly global, dualstack loadbalancer.