Publication Policy
This repository is a reusable homelab guide, not an inventory of the system that publishes it.
Safe to publish
- Architecture patterns, trust boundaries, and technology tradeoffs.
- Reusable installation, validation, and recovery principles.
- Examples that use
example.com,home.arpa, variables, or RFC 5737 documentation addresses such as192.0.2.10. - Synthetic diagrams and screenshots that contain no live names, status, capacity, traffic, timestamps, or account data.
- Supported-version requirements or clearly dated tutorial versions that are not presented as a live deployment inventory.
Keep private
- Real internal addresses, hostnames, node names, VM IDs, network maps, firewall rules, VPN endpoints, and backup locations.
- Current software versions, exact hardware identity and capacity, workload placement, incident history, and break-glass procedures.
- Provider account details, usernames, personal email addresses, physical location, and unrelated online identifiers.
Never publish
- Passwords, tokens, API keys, authentication headers, private keys, certificate contents, kubeconfigs, Terraform state, or Kubernetes Secret payloads.
- Configuration exports, backup archives, database contents, restored application data, raw logs, crash dumps, or request/response bodies.
- Direct exports or mechanically redacted copies of private operational documentation.
Review checklist
Before publishing a page or image:
- Write the transferable lesson directly in this repository instead of copying private documentation.
- Replace environment-specific names, addresses, paths, domains, user handles, device identities, and capacity with placeholders.
- Run secret scanning and text searches for credentials, real domains, private addresses, filesystem paths, email addresses, and usernames.
- Inspect rendered pages, code blocks, diagrams, screenshots, alt text, filenames, and image metadata manually.
- Run
./scripts/check-public-content.ps1; pull requests run the same check automatically. - Review the Git diff. Remember that deleting something in a later commit does not remove it from repository history.
- Publish only when the page remains useful after all deployment-specific facts are removed.