The public website and documentation for kwatch:
See what broke. Understand why. Know what to do next. 👀🧠⚡
This repository contains the landing page, user guides, provider guides, and
contributor docs. The Kubernetes monitor itself lives in the
abahmed/kwatch repository.
Requirements: Node.js 18+, Yarn, and Git.
git clone https://github.com/abahmed/kwatch.dev.git
cd kwatch.dev
yarn install
yarn start:docsOpen the local URL printed by Docusaurus, usually http://localhost:3000/.
| Location | Contains |
|---|---|
apps/docs/docs/ |
Public documentation pages |
apps/docs/src/theme/ |
Docs UI overrides (search bar, 404) |
apps/docs/src/css/ |
Site-wide styles |
apps/web/public/kwatch.sh |
Interactive installer and manager |
apps/docs/src/data/releases.json |
Stable and preview versions written by the release workflow |
apps/docs/sidebars.ts |
Documentation navigation |
Write for someone who may be seeing Kubernetes for the first time: start with the goal, explain unfamiliar terms, show a complete command, and use fake credentials in examples. Emojis are welcome when they improve scanning. 🙌
yarn docs:verify
yarn test:manager
yarn typecheck
yarn build:docs
yarn seo:verify
bash -n apps/web/public/kwatch.sh apps/docs/tests/*.shyarn docs:verify reads the catalogs from a checkout of the Kwatch repository
and refreshes the generated configuration, provider, and feature references.
Do not commit the generated build/ directory.
yarn seo:verify checks the production build for non-empty page titles and
descriptions, canonical URLs, sitemap coverage, and the production robots
directive. It intentionally excludes the 404 page
from indexing.
The kwatch release workflow updates apps/docs/src/data/releases.json automatically:
- an RC updates the preview install link;
- a stable release updates the stable install link and clears the preview; and
- the website is built and deployed after the metadata commit.
The release workflow keeps manifest, chart, and catalog versions current. The
main kwatch README is intentionally version-free; install and RC selection are
handled by the interactive kwatch.sh manager.
.github/workflows/deploy.yml deploys three Cloudflare Pages projects on push
to main. A job runs only when its app or packages/brand changed. Run the
workflow manually (workflow_dispatch) and pick web, docs, app or all
to force a deploy.
| Job | Builds | Pages project | Host |
|---|---|---|---|
web |
apps/web (dist) |
kwatch-site |
kwatch.dev |
docs |
apps/docs (build) |
kwatch-docs |
docs.kwatch.dev |
app |
apps/app (dist) |
kwatch-app |
app.kwatch.dev |
Secrets: CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID.
kwatch-site still serves the old site. Until you switch, nothing deploys to
it: the web job is skipped, docs deploys only to kwatch-docs and app
only to kwatch-app.
- Create the
kwatch-docsPages project, attachdocs.kwatch.dev, and run thedocsjob (push tomainor run the workflow withdocs). Checkhttps://docs.kwatch.dev/. - Set the repository variable
DEPLOY_WEB_TO_KWATCH_SITEtotrue(Settings, Secrets and variables, Actions, Variables). - Run the workflow with
web.kwatch-sitenow servesapps/web, and later pushes that touchapps/weborpackages/brandredeploy it. - Check
https://kwatch.dev/kwatch.sh,https://kwatch.dev/charts/index.yamland a samplehttps://kwatch.dev/docs/installation(301 to docs).
To stop web deploys, delete the variable (or set it to anything else). That
does not restore the old site; redeploy the previous kwatch-site build from
the Cloudflare dashboard if you need to roll back.
kwatch.sh and charts/ live only in apps/web/public; the kwatch release
workflow writes the chart index and packages there.
Read Contributing and
Run the website locally, then
open a pull request against main.