Fedora状态服务-SOP

Fedora-Status是在以下位置生成页面的软件http://status.fedoraproject.org/。此页应保持最新Fedora Infrastructure运行的服务的当前状态。

此页面由AWS托管。

联系信息

所有者

Fedora基础设施团队

联系人

#fedora-admin,#fedora-noc

服务器

AWS S3/CloudFront公司

目的

向用户提供有关我们的当前状态的状态信息公共服务。

存储库

https://github.com/fedora-infro/statusfpo

它是如何工作的

为了尽可能保持此网站的稳定,页面托管在外部我们的主要基础设施位于AWS。

它基于包含文件的S3存储桶,由CloudFront引导TLS终端和CNAME的分发。

该网站使用Pelican静态生成,然后推送到S3通过github操作。

添加和更改停机

进行更改

在推送到Github Repository之前,请使用Pelican的devserver来搭建和查看更改。

  1. 安装运行devserver所需的包:

    sudo dnf安装鹈鹕蟒蛇包装
  2. 查看回购:

    git@github.com:fedora-infra/statusfpo.git
  3. 使用以下命令运行devserver:

    生成devserver
  4. 在以下位置查看生成的站点http://0.0.0.0:8000请注意,任何更改内容和主题将自动重新生成。

  5. 向提交更改(或打开Pull Request)https://github.com/fedora-infro/statusfpo

创建新的停机

  1. 将降价文件添加到内容/计划/、内容/正在进行或内容/已解决/。文件的名称必须是唯一的,因此请检查解决了如何命名文件的问题。

  2. 将停机通知添加到降价文件中,例如:

    标题:Buzzilla慢速日期:2021-04-28 10:22+0000大修完成时间:2021-04-28 13:30+0000门票:123456一群蜜蜂在其中一个Buzzilla服务器机房。因此,一些对Buzzilla的请求的响应速度可能比通常。一个养蜂人被召来抓捕并重新安置蜂群。
    • 请注意,OutageFinish是可选的,但实际上只应省略如果预计/或实际停机时间未知。

    • 提供日期时,时区偏移量保持在+0000/UTC日期时间。

移动停机

要将停机从“计划”转移到“正在进行”,只需降低成本即可文件到中的其他状态目录内容/,并再生。

发布

一旦您对您的更改感到满意,以及它们在devserver,将它们推送到github上的主分支。这是可以做到的直接或通过拉取请求。

在Github上更新主分支后,会自动执行Github操作推动实时更改https://status.fedoraproject.org

续订SSL证书

  1. 运行certbot生成证书并由LetsEncrypt签名(您可以在安装certbot的任何位置运行此命令,您可以使用您的笔记本电脑或certgetter01.iad2.fedoraproject.org):

    rm-射频~/certbotcertbot certonly--协议-tos-madmin@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~/certbat/log
  2. 您将被要求在特定的URL下提供特定的文件。在另一个终端中,将请求的文件上传到AWS S3存储桶:

    echo SOME_VALUE>我的文件aws—配置文件状态fpo s3 cp myfile s3://status.fedoraproject.org/.knowledge/acme-challenge/SOME_FILE
  3. 验证上传的文件在正确的URL下可用。如果证书已过期,您可能需要使用-k选项运行curl:

    卷曲-kLhttp://www.fedorastatus.org/.knowledge/acme-challenge/SOME_FILE
  4. 确保curl输出预期值后,返回certbot运行并按Enter键继续。将要求您重复步骤2另一个域为3。请注意,S3存储桶名称应该保持不变。

  5. 将生成的证书部署到AWS。这需要额外的AWS上的权限。