Restructure the repo for consistency
Signed-off-by: Michael Winters <fedora@mwinters.net>
This commit is contained in:
parent
a6066940f1
commit
f5d515f8e0
168 changed files with 480 additions and 439 deletions
133
modules/sysadmin_sops/pages/status-fedora.adoc
Normal file
133
modules/sysadmin_sops/pages/status-fedora.adoc
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
= Fedora Status Service - SOP
|
||||
|
||||
Fedora-Status is the software that generates the page at
|
||||
http://status.fedoraproject.org/. This page should be kept up to date
|
||||
with the current status of the services ran by Fedora Infrastructure.
|
||||
|
||||
This page is hosted at AWS.
|
||||
|
||||
== Contact Information
|
||||
|
||||
Owner:::
|
||||
Fedora Infrastructure Team
|
||||
Contact:::
|
||||
#fedora-admin, #fedora-noc
|
||||
Servers:::
|
||||
AWS S3/CloudFront
|
||||
Purpose:::
|
||||
Give status information to users about the current status of our
|
||||
public services.
|
||||
Repository:::
|
||||
https://github.com/fedora-infra/statusfpo
|
||||
|
||||
== How it works
|
||||
|
||||
To keep this website as stable as can be, the page is hosted external to
|
||||
our main infrastructure, in AWS.
|
||||
|
||||
It is based on an S3 bucket with the files, fronted by a CloudFront
|
||||
distribution for TLS termination and CNAMEs.
|
||||
|
||||
The website is statically generated using Pelican then pushed to S3
|
||||
through a github action.
|
||||
|
||||
== Adding and changing outages
|
||||
|
||||
=== Making Changes
|
||||
|
||||
Before pushing to the Github Repository, use the Pelican's devserver to stage
|
||||
and view changes.
|
||||
|
||||
[arabic]
|
||||
. Install the packages you need to run the devserver with:
|
||||
+
|
||||
....
|
||||
sudo dnf install pelican python-packaging
|
||||
....
|
||||
. Check out the repo at:
|
||||
+
|
||||
....
|
||||
git@github.com:fedora-infra/statusfpo.git
|
||||
....
|
||||
. Run the devserver with:
|
||||
+
|
||||
....
|
||||
make devserver
|
||||
....
|
||||
. View the generated site at http://0.0.0.0:8000. Note that any changes
|
||||
to the content and theme will automatically regenerate.
|
||||
. Commit changes (or open a Pull Request) to
|
||||
https://github.com/fedora-infra/statusfpo
|
||||
|
||||
=== Create a new outage
|
||||
|
||||
[arabic]
|
||||
. Add a markdown file to either content/planned/, content/ongoing, or
|
||||
content/resolved/. The name of the file needs to be unique, so check the
|
||||
resolved outages for an idea on how to name your file.
|
||||
. Add your outage notice to the markdown file, for example:
|
||||
+
|
||||
....
|
||||
Title: Buzzilla Slow
|
||||
Date: 2021-04-28 10:22+0000
|
||||
OutageFinish: 2021-04-28 13:30+0000
|
||||
Ticket: 123456
|
||||
|
||||
A swarm of bees have taken up residence in one of
|
||||
the Buzzilla Server rooms. Consequently, some
|
||||
requests to Buzzilla may respond slower than
|
||||
usual. An apiarist has been called to capture
|
||||
and relocate the swarm.
|
||||
....
|
||||
+
|
||||
____
|
||||
* Note that OutageFinish is optional, but should really only be omitted
|
||||
if the projected / or actual outage time is unknown.
|
||||
* When providing a date, keep the timezone offset at +0000 / UTC
|
||||
datetimes.
|
||||
____
|
||||
|
||||
=== Moving an outage
|
||||
|
||||
To move an outage, say from Planned to Ongoing simply move the markdown
|
||||
file into a different status directory in `content/`, and regenerate.
|
||||
|
||||
== Publishing
|
||||
|
||||
Once you are satisfied with your changes and how they look on the
|
||||
devserver, push them to the main branch on github. This can be done
|
||||
directly, or via a Pull Request.
|
||||
|
||||
Once the main branch is updated on Github, a github action automatically
|
||||
pushes the changes live to https://status.fedoraproject.org
|
||||
|
||||
|
||||
== Renewing SSL certificate
|
||||
|
||||
[arabic]
|
||||
. Run certbot to generate certificate and have it signed by LetsEncrypt
|
||||
(you can run this command anywhere certbot is installed, you can use
|
||||
your laptop or _certgetter01.rdu3.fedoraproject.org_):
|
||||
+
|
||||
....
|
||||
rm -rf ~/certbot
|
||||
certbot certonly --agree-tos -m admin@fedoraproject.org --no-eff-email --manual --manual-public-ip-logging-ok -d status.fedoraproject.org -d www.fedorastatus.org --preferred-challenges http-01 --config-dir ~/certbot/conf --work-dir ~/certbot/work --logs-dir ~/certbot/log
|
||||
....
|
||||
. You will be asked to make specific file available under specific URL.
|
||||
In a different terminal upload requested file to AWS S3 bucket:
|
||||
+
|
||||
....
|
||||
echo SOME_VALUE >myfile
|
||||
aws --profile statusfpo s3 cp myfile s3://status.fedoraproject.org/.well-known/acme-challenge/SOME_FILE
|
||||
....
|
||||
. Verify that uploaded file is available under the right URL. If the previous
|
||||
certificate is already expired, you may need to run curl with -k option:
|
||||
+
|
||||
....
|
||||
curl -kL http://www.fedorastatus.org/.well-known/acme-challenge/SOME_FILE
|
||||
....
|
||||
. After making sure that curl outputs expected value, go back to certbot
|
||||
run and continue by pressing Enter. You will be asked to repeat steps 2
|
||||
and 3 for another domain. Note that S3 bucket name should stay the same.
|
||||
. Deploy generated certificate to AWS. This requires additional
|
||||
permissions on AWS.
|
||||
Loading…
Add table
Add a link
Reference in a new issue