|
|
---
|
|
|
title: Managing static site components
|
|
|
---
|
|
|
The "static component" or "static mirror" system is a set of servers,
|
|
|
scripts and services designed to publish content over the world wide
|
|
|
web (HTTP/HTTPS). It is designed to be highly available and
|
|
|
distributed, a sort of content distribution network (CDN).
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
<!-- note: this template was designed based on multiple sources: -->
|
|
|
<!-- https://www.divio.com/blog/documentation/ -->
|
|
|
<!-- http://opsreportcard.com/section/9-->
|
|
|
<!-- http://opsreportcard.com/section/11 -->
|
|
|
<!-- comments like this one should be removed on instanciation -->
|
|
|
|
|
|
# Tutorial
|
|
|
|
|
|
This documentation is about administrating the static site components,
|
|
|
from a sysadmin perspective. User documentation lives in [doc/static-sites](doc/static-sites).
|
|
|
|
|
|
# Adding a new component
|
|
|
# How-to
|
|
|
|
|
|
## Adding a new component
|
|
|
|
|
|
1. add the component to Puppet, in `modules/roles/misc/static-components.yaml`:
|
|
|
|
... | ... | @@ -81,7 +94,7 @@ from a sysadmin perspective. User documentation lives in [doc/static-sites](doc/ |
|
|
hosts: global
|
|
|
servicegroups: mirror
|
|
|
|
|
|
# Removing a component
|
|
|
## Removing a component
|
|
|
|
|
|
1. remove the component to Puppet, in `modules/roles/misc/static-components.yaml`
|
|
|
|
... | ... | @@ -129,3 +142,90 @@ from a sysadmin perspective. User documentation lives in [doc/static-sites](doc/ |
|
|
check: "dsa_check_staticsync!atlas.torproject.org"
|
|
|
hosts: global
|
|
|
servicegroups: mirror
|
|
|
|
|
|
## Pager playbook
|
|
|
|
|
|
<!-- information about common errors from the monitoring system and -->
|
|
|
<!-- how to deal with them. this should be easy to follow: think of -->
|
|
|
<!-- your future self, in a stressful situation, tired and hungry. -->
|
|
|
|
|
|
## Disaster recovery
|
|
|
|
|
|
<!-- what to do if all goes to hell. e.g. restore from backups? -->
|
|
|
<!-- rebuild from scratch? not necessarily those procedures (e.g. see -->
|
|
|
<!-- "Installation" below but some pointers. -->
|
|
|
|
|
|
# Reference
|
|
|
|
|
|
## Installation
|
|
|
<!-- how to setup the service from scratch -->
|
|
|
|
|
|
## SLA
|
|
|
<!-- this describes an acceptable level of service for this service -->
|
|
|
|
|
|
## Design
|
|
|
<!-- how this is built -->
|
|
|
<!-- should reuse and expand on the "proposed solution", it's a -->
|
|
|
<!-- "as-built" documented, whereas the "Proposed solution" is an -->
|
|
|
<!-- "architectural" document, which the final result might differ -->
|
|
|
<!-- from, sometimes significantly -->
|
|
|
|
|
|
<!-- a good guide to "audit" an existing project's design: -->
|
|
|
<!-- https://bluesock.org/~willkg/blog/dev/auditing_projects.html -->
|
|
|
|
|
|
## Issues
|
|
|
|
|
|
<!-- such projects are never over. add a pointer to well-known issues -->
|
|
|
<!-- and show how to report problems. usually a link to the bugtracker -->
|
|
|
|
|
|
There is no issue tracker specifically for this project, [File][] or
|
|
|
[search][] for issues in the [team issue tracker][search].
|
|
|
|
|
|
[File]: https://gitlab.torproject.org/tpo/tpa/team/-/issues/new
|
|
|
[search]: https://gitlab.torproject.org/tpo/tpa/team/-/issues
|
|
|
|
|
|
## Monitoring and testing
|
|
|
|
|
|
<!-- describe how this service is monitored and how it can be tested -->
|
|
|
<!-- after major changes like IP address changes or upgrades -->
|
|
|
|
|
|
## Logs and metrics
|
|
|
|
|
|
<!-- where are the logs? how long are they kept? any PII? -->
|
|
|
<!-- what about performance metrics? same questions -->
|
|
|
|
|
|
## Backups
|
|
|
|
|
|
<!-- does this service need anything special in terms of backups? -->
|
|
|
<!-- e.g. locking a database? special recovery procedures? -->
|
|
|
|
|
|
## Other documentation
|
|
|
|
|
|
<!-- references to upstream documentation, if relevant -->
|
|
|
|
|
|
# Discussion
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
<!-- describe the overall project. should include a link to a ticket -->
|
|
|
<!-- that has a launch checklist -->
|
|
|
|
|
|
## Goals
|
|
|
<!-- include bugs to be fixed -->
|
|
|
|
|
|
### Must have
|
|
|
|
|
|
### Nice to have
|
|
|
|
|
|
### Non-Goals
|
|
|
|
|
|
## Approvals required
|
|
|
<!-- for example, legal, "vegas", accounting, current maintainer -->
|
|
|
|
|
|
## Proposed Solution
|
|
|
|
|
|
## Cost
|
|
|
|
|
|
## Alternatives considered
|
|
|
|
|
|
<!-- include benchmarks and procedure if relevant --> |