Add comprehensive phased plan for documentation restructuring: - Phase 1: Foundation (current) - zk migration, tooling selection - Phase 2: Tutorials - learning-oriented content - Phase 3: How-to Guides - task-oriented instructions - Phase 4: Reference - technical descriptions - Phase 5: Explanation - concepts and decisions - Phase 6: Integration & Cleanup Also includes: - Tooling evaluation table (Quartz, MkDocs, mdBook, Hugo, Docusaurus) - Requirements (Obsidian compatibility, wiki-links, HTML/PDF output) - Note on project naming (BlumeOps / blumeops / Blue Mops) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
121 lines
4.9 KiB
Markdown
121 lines
4.9 KiB
Markdown
# BlumeOps Documentation
|
|
|
|
> **Note on naming**: The project is properly stylized as **BlumeOps**, though "blumeops" and "Blue Mops" are also commonly used interchangeably.
|
|
|
|
This directory contains documentation for BlumeOps, Erich Blume's personal infrastructure GitOps repository.
|
|
|
|
## Documentation Restructuring (In Progress)
|
|
|
|
The documentation is being restructured to follow the [Diataxis](https://diataxis.fr/) documentation framework while serving multiple audiences.
|
|
|
|
### Target Audiences
|
|
|
|
1. **Erich (owner)** - A knowledge graph/zettelkasten for quickly recalling important facts about BlumeOps infrastructure and operations.
|
|
|
|
2. **Claude/AI agents** - Memory and context enrichment for AI-assisted operations and development.
|
|
|
|
3. **New external readers** - People who want to understand "what is BlumeOps?" at a high level.
|
|
|
|
4. **Potential operators/contributors** - External readers who want to help operate, modify, or answer questions about BlumeOps, or onboard as a member.
|
|
|
|
5. **Replicators** - People who want to duplicate this approach for their own personal infrastructure operations.
|
|
|
|
### Requirements
|
|
|
|
- **Source format**: Markdown with optional YAML frontmatter
|
|
- **Editing**: Compatible with [Obsidian](https://obsidian.md) and [obsidian.nvim](https://github.com/obsidian-nvim/obsidian.nvim)
|
|
- **Cross-references**: Wiki-link syntax (`[[link]]`) for internal links
|
|
- **Output formats**: HTML (for web hosting) and PDF (for offline reference)
|
|
- **Changelog**: Track significant documentation changes
|
|
|
|
### Tooling Options (To Evaluate)
|
|
|
|
Several markdown-to-HTML/PDF tools to consider:
|
|
|
|
| Tool | Language | Obsidian Compatibility | Notes |
|
|
|------|----------|------------------------|-------|
|
|
| [Quartz](https://quartz.jzhao.xyz/) | TypeScript | Excellent (designed for Obsidian) | Wiki-links, backlinks, graph view |
|
|
| [MkDocs](https://www.mkdocs.org/) + [Material](https://squidfunk.github.io/mkdocs-material/) | Python | Good (with plugins) | Very popular, great search |
|
|
| [mdBook](https://rust-lang.github.io/mdBook/) | Rust | Limited | Simple, fast, used by Rust docs |
|
|
| [Hugo](https://gohugo.io/) | Go | Moderate | Fast builds, flexible |
|
|
| [Docusaurus](https://docusaurus.io/) | React | Limited | Feature-rich, heavier |
|
|
|
|
**Leaning toward**: Quartz (best Obsidian compatibility) or MkDocs Material (most mature ecosystem).
|
|
|
|
## Restructuring Phases
|
|
|
|
### Phase 1: Foundation (Current)
|
|
- [x] Move existing zk cards to `docs/zk/`
|
|
- [x] Update `zk-docs` mise task for new path
|
|
- [x] Create this README with restructuring plan
|
|
- [ ] Evaluate and select documentation build tooling
|
|
- [ ] Set up basic build pipeline (mise task or CI)
|
|
- [ ] Create `CHANGELOG.md`
|
|
|
|
### Phase 2: Tutorials
|
|
Learning-oriented content for getting started.
|
|
|
|
- [ ] Create `tutorials/` directory
|
|
- [ ] "Getting Started with BlumeOps" - What this is and how to explore it
|
|
- [ ] "Setting Up a Similar Environment" - For replicators
|
|
- [ ] "Your First Contribution" - For potential contributors
|
|
|
|
### Phase 3: How-to Guides
|
|
Task-oriented instructions for specific operations.
|
|
|
|
- [ ] Create `how-to/` directory
|
|
- [ ] Migrate operational content from zk cards
|
|
- [ ] "How to deploy a new Kubernetes service"
|
|
- [ ] "How to add a new Ansible role"
|
|
- [ ] "How to update Tailscale ACLs"
|
|
- [ ] "How to troubleshoot common issues"
|
|
|
|
### Phase 4: Reference
|
|
Information-oriented technical descriptions.
|
|
|
|
- [ ] Create `reference/` directory
|
|
- [ ] Service reference pages (migrate from zk cards)
|
|
- [ ] Infrastructure inventory
|
|
- [ ] Configuration reference
|
|
- [ ] API/CLI reference for mise tasks
|
|
|
|
### Phase 5: Explanation
|
|
Understanding-oriented discussion of concepts and decisions.
|
|
|
|
- [ ] Create `explanation/` directory
|
|
- [ ] "Why GitOps?" - Philosophy and approach
|
|
- [ ] "Architecture Overview" - How everything fits together
|
|
- [ ] "Security Model" - Tailscale, secrets management, etc.
|
|
- [ ] "Decision Log" - ADRs (Architecture Decision Records)
|
|
|
|
### Phase 6: Integration & Cleanup
|
|
- [ ] Migrate remaining useful content from `docs/zk/`
|
|
- [ ] Decide fate of zk cards (archive, delete, or keep as separate knowledge base)
|
|
- [ ] Update CLAUDE.md to reference new doc structure
|
|
- [ ] Set up automated doc builds (CI/CD)
|
|
- [ ] Consider hosting docs publicly (GitHub Pages, etc.)
|
|
|
|
## Current Directory Layout
|
|
|
|
```
|
|
docs/
|
|
├── README.md # This file
|
|
├── CHANGELOG.md # Documentation changelog (planned)
|
|
├── tutorials/ # Learning-oriented (planned)
|
|
├── how-to/ # Task-oriented (planned)
|
|
├── reference/ # Information-oriented (planned)
|
|
├── explanation/ # Understanding-oriented (planned)
|
|
└── zk/ # Zettelkasten cards (temporary)
|
|
├── 1767747119-YCPO.md # Main blumeops overview card
|
|
└── ... # Service-specific cards and notes
|
|
```
|
|
|
|
## Viewing the ZK Cards
|
|
|
|
To view all BlumeOps zettelkasten cards:
|
|
|
|
```fish
|
|
mise run zk-docs
|
|
```
|
|
|
|
This displays all cards tagged with `blumeops`, starting with the main overview card.
|