This requires access to the `mirroradm` group, although typically the
machine is only accessible to TPA anyways.
Don't forget to push the changes to the git repository, once that is
available. It's important so that the next people can start from your
@@ -190,9 +169,6 @@ Then DNS needs to be tweaked to point there as well.
# Reference
The `status.tpo` dashboard is built with [cstate](https://github.com/cstate/cstate/), which is a theme
for the [Hugo](https://gohugo.io/) static site generator.
## Installation
See the instructions on how to [setup a local development
@@ -208,25 +184,14 @@ deploy it to a third-party provider.
## Design
The status site is part of the [static mirror system](howto/static-component) and is built
with Jenkins jobs, from a git repository on the [git](howto/git) server. This
was setup this way because that is how every other static website is
currently built.
with [cstate](https://github.com/cstate/cstate/), which is a theme for the [Hugo](https://gohugo.io/) static site
generator. The site is managed in a git repository on the [GitLab](howto/gitlab)
server and uses [GitLab CI](service/ci) to get built. The
[static-gitlab-shim service](service/static-gitlab-shim) propagates the builds to the [static
mirror system](howto/static-component) for high availability.
This involved:
* a new [static component](howto/static-component) owned by `torwww` (in the
`tor-puppet.git` repository)
* a new [build script](https://gitweb.torproject.org/project/jenkins/tools.git/tree/slaves/linux/hugo-website-status?id=7fff67041e41206fef7d128ac60488db375652a1) in the [jenkins/tools.git](https://gitweb.torproject.org/project/jenkins/tools.git/) repository
* a new [build job](https://gitweb.torproject.org/project/jenkins/jobs.git/commit/?id=170fd9879ff0da65670aaa36c20e63c0db1ed039) in the [jenkins/jobs.git](https://gitweb.torproject.org/project/jenkins/jobs.git/) repository
* a [new entry](https://gitweb.torproject.org/admin/static-builds.git/commit/?id=b2344aa1d68f4f065764c6f23d14494020b81f86) in the [ssh wrapper](https://gitweb.torproject.org/admin/static-builds.git/tree/ssh-wrap?id=b2344aa1d68f4f065764c6f23d14494020b81f86) in the
* a new [gitolite](howto/git) repository with hooks to ping the Jenkins server and
mirror to GitLab
We also considered using GitLab CI for deployment but (a) GitLab pages
is not yet setup and (b) it doesn't integrate well with the static
mirror system for now. See [the broader discussion of the static site
system improvements](howto/static-component#proposed-solution).
See the [static-gitlab-shim service design document](service/static-gitlab-shim#design) for more
information.
## Issues
@@ -413,10 +378,37 @@ experience:
*[Wikimedia](http://status.wikimedia.org/) - based on [proprietary nimsoft software](http://www.nimsoft.com/solutions/nimsoft-cloud-user-experience/key-features/public-status-page.html?m=41159&c=pspfoot),
deprecated in favor of Grafana
## Previous implementation
## Previous implementations
### IRC bot
A similar service was ran by @weasel around 2014. It would bridge the
`status` comments on IRC into a website, see [this archived
and [the source code](https://github.com/weaselp/groupstatus), which
is still available.
### Jenkins jobs
The site used to be built with Jenkins jobs, from a git repository on
the [git](howto/git) server. This was setup this way because that is how every
other static website was built back then.
This involved:
* a new [static component](howto/static-component) owned by `torwww` (in the
`tor-puppet.git` repository)
* a new [build script](https://gitweb.torproject.org/project/jenkins/tools.git/tree/slaves/linux/hugo-website-status?id=7fff67041e41206fef7d128ac60488db375652a1) in the [jenkins/tools.git](https://gitweb.torproject.org/project/jenkins/tools.git/) repository
* a new [build job](https://gitweb.torproject.org/project/jenkins/jobs.git/commit/?id=170fd9879ff0da65670aaa36c20e63c0db1ed039) in the [jenkins/jobs.git](https://gitweb.torproject.org/project/jenkins/jobs.git/) repository
* a [new entry](https://gitweb.torproject.org/admin/static-builds.git/commit/?id=b2344aa1d68f4f065764c6f23d14494020b81f86) in the [ssh wrapper](https://gitweb.torproject.org/admin/static-builds.git/tree/ssh-wrap?id=b2344aa1d68f4f065764c6f23d14494020b81f86) in the