Cloudflare Pages — MkDocs Portal¶
The DevOps portal is published from this repository to the Cloudflare Pages project:
Project: akshaya-devops
Production branch: master
Public Pages hostname: https://akshaya-devops.pages.dev/
Cloudflare Pages is only the documentation hosting layer. It does not deploy the AkshayaBazaar backend, Kubernetes workloads, Terraform infrastructure, or production databases.
Source and build contract¶
Repository: Thirunk/AkshayaBazaar
Config: mkdocs.yml
Docs root: docs/devops
Dependency file: requirements-docs.txt
Output: site/
The repository CI validates documentation with:
For Cloudflare Pages, prefer interpreter-qualified commands when editing build settings:
Build output directory:
Root directory:
Deployment flow¶
- Create a branch and edit documentation.
- Run
mkdocs build --strictlocally when possible. - Push the branch and open a PR.
- GitHub Actions
docsjob must pass. - Cloudflare Pages may build a preview deployment for the branch/PR.
- Merge only after review.
- A new
mastercommit triggers the production Pages build through the Git integration. - Open the production Pages hostname and verify navigation/search/content.
Cloudflare dashboard verification¶
Use:
Confirm:
- Environment is Production for
master. - Source commit matches the intended merged commit.
- Status is green/successful.
- The deployment URL opens successfully.
A historical failed deployment does not indicate the current site is broken if a later production deployment is green.
Build-environment configuration¶
If Python selection is required, configure a non-secret build variable such as:
or use a repository-level .python-version if the project standard adopts one. Keep the Cloudflare Pages dashboard and repository build commands consistent.
Secrets¶
The MkDocs portal currently should not require application secrets to build. Never add production database, payment, Hetzner, or Kubernetes credentials merely to build documentation.
If a future plugin genuinely requires a token, store it as a Cloudflare/GitHub secret and reference the name only in this portal.
Failure troubleshooting¶
pip not found¶
Change the build command to interpreter-qualified form:
Confirm Python is available in the build log and configure PYTHON_VERSION if necessary.
MkDocs strict build fails¶
Run locally:
Fix missing pages, invalid nav entries, broken references, or warnings before retrying Pages.
GitHub CI passes but Pages fails¶
Compare:
- Python version,
- build command,
- repository root,
- output directory,
- environment variables,
- exact commit being built.
The GitHub Actions docs job is the repository source of truth for the expected build semantics.
Pages is green but content looks old¶
- Confirm the production deployment commit SHA.
- Hard refresh/open a private browser window.
- Verify the requested page exists in
mkdocs.ymlnavigation. - Confirm the merge reached
masterrather than only a preview branch.
Rollback¶
Documentation rollback is a source-control rollback, not an infrastructure rollback.
Preferred procedure:
- Revert the bad documentation commit/PR on
master. - Let GitHub CI validate the revert.
- Let Cloudflare Pages automatically deploy the new
masterstate. - Verify the production portal.
Do not manually redeploy an unrelated old application release to fix a documentation problem.