RB-006 Publish Cadrumo documentation¶
Publish the Cadrumo documentation.
Check prerequisites¶
Require
aws,just, anduv.Run
aws sts get-caller-identity.Require one
ISSUEDAWS Certificate Manager (ACM) certificate forcadrumo.neve.mdinus-east-1.Stop and escalate if any check fails.
Provision the stack¶
Run
just docs-stack-deploy.Record
DocsDistributionDomainName.Record
DocsDistributionId,DocsBucketName, andDocsCanonicalUrl.If the stack has no changes, accept a zero exit status.
Configure DNS and redirects¶
Add Domain Name System (DNS)-only CNAME
cadrumoto recordedDocsDistributionDomainName.Keep apex record
@proxied.Add Cloudflare Wildcard URL Redirect
http*://neve.md/cadrumo/docstohttps://cadrumo.neve.md/docs/.Add Cloudflare Wildcard URL Redirect
http*://neve.md/cadrumo/docs/*tohttps://cadrumo.neve.md/docs/${2}.Set both redirects to
308.Preserve query strings on both redirects.
Publish documentation¶
Run
just docs-deploy.Require a zero exit status from the strict build.
Require canonical sitemap and Pagefind index generation.
Require Amazon S3 (S3) sync without doctrees.
Require
/docs/*invalidation completion.Confirm
Published https://cadrumo.neve.md/docs/.If any publish step fails, stop and escalate.
Treat a completed S3 sync as changed content until invalidation completes.
Verify delivery¶
Require
200fromhttps://cadrumo.neve.md/docs/.Require
308fromhttps://neve.md/cadrumo/docs.Require
308tohttps://cadrumo.neve.md/docs/index.html?runbook=RB-006fromhttps://neve.md/cadrumo/docs/index.html?runbook=RB-006.Require
404fromhttps://cadrumo.neve.md/docs/__missing-rb-006__.html.Require
403fromhttps://<DocsBucketName>.s3.us-east-1.amazonaws.com/docs/index.html.
Roll back¶
Keep both redirect rules enabled.
Run
just docs-deployfrom a known-good revision.If rollback fails, stop and escalate.
Escalate¶
Open an issue at https://github.com/nevenincs/aeat/issues.
Assign the Cadrumo repository owner.
Attach command output and a timestamp with time zone.
State whether S3 sync started.
State whether CloudFront invalidation started.
Delivery reference¶
Canonical: public Cadrumo documentation.
Legacy: redirected old path.
DNS-only: bypasses the Cloudflare proxy.
Proxied: uses Cloudflare.
CNAME: DNS alias.
ACM: issues the CloudFront Transport Layer Security (TLS) certificate.
CloudFront: private S3 delivery.
Pagefind: static search.
Sitemap: canonical URL list.
Invalidation: CloudFront cache refresh.
infra/docs-static-site.yaml: origin authority.dev/deploy/docs_static_site.py: publish authority.justfile: command authority.docs/pagefind.yml: search-scope authority.docs/conf.py: sitemap authority.