Official documentation website for the Firestoned project.
This repository contains the documentation website for Firestoned - a toolkit for building API-driven infrastructure. The site provides comprehensive documentation for all Firestoned components:
- firestone - API specification generator that creates OpenAPI, AsyncAPI, and CLI tools from JSON Schema
- firestone-lib - Shared library for specification generation
- bindy - Kubernetes operator for managing BIND9 DNS via CRDs
- bindcar - REST API sidecar for BIND9 zone management
- zonewarden - Kubernetes controller for service-to-DNS synchronization
- forevd - Authentication/authorization proxy (mTLS, OIDC, LDAP)
- Production: https://firestoned.io (custom domain)
- GitHub Pages: https://firestoned.github.io/website/
This website is built with:
- Hugo (v0.146.0 Extended) - Static site generator
- Docsy (v0.13.0) - Documentation theme
- Dart Sass - SCSS compilation
- Bootstrap - Responsive framework
- Mermaid - Diagram rendering
- Hugo Extended v0.146.0 or later
- Go 1.23.0 or later (for Hugo modules)
- Node.js and npm (for dependencies)
# Clone the repository
git clone https://github.com/firestoned/website.git
cd website
# Install Node.js dependencies
npm install
# Run the development server
hugo server
# Or use the Makefile
make serveThe site will be available at http://localhost:1313
# Build the site
hugo --gc --minify
# Output will be in the public/ directorywebsite/
├── content/
│ ├── _index.md # Homepage
│ └── docs/
│ ├── _index.md # Documentation landing page
│ ├── getting-started/ # Getting started guide
│ ├── firestone/ # firestone documentation
│ ├── bindy/ # bindy documentation
│ ├── bindcar/ # bindcar documentation
│ ├── zonewarden/ # zonewarden documentation
│ └── forevd/ # forevd documentation
├── layouts/ # Custom Hugo layouts
├── assets/
│ └── scss/
│ ├── _variables_project.scss # Theme variables
│ └── _custom.scss # Custom styles
└── static/ # Static assets (images, etc.)
All documentation is written in Markdown with Hugo/Docsy extensions:
- Edit files in
content/docs/ - Use Hugo shortcodes for special elements (alerts, code blocks, etc.)
- Test locally with
hugo server - Commit and push to
mainbranch
- Edit SCSS in
assets/scss/ - Main customizations go in
_custom.scss - Theme color variables in
_variables_project.scss
- Top navigation:
config/_default/config.toml - Sidebar navigation: Auto-generated from content structure
- Footer:
layouts/partials/footer.html
The site automatically deploys to GitHub Pages when changes are pushed to the main branch.
The deployment is handled by .github/workflows/deploy-website.yml:
- Triggers on push to
mainor manual dispatch - Installs Hugo Extended 0.146.0
- Installs dependencies (Dart Sass, Node.js packages)
- Builds the site with
hugo --gc --minify - Deploys to GitHub Pages
# Build the production site
hugo --gc --minify --baseURL "https://firestoned.io/"
# The public/ directory can be deployed to any static hostingTo contribute to the documentation:
- Fork this repository
- Create a feature branch
- Make your changes
- Test locally
- Submit a pull request
- Use clear, concise language
- Include code examples where applicable
- Add diagrams for complex architectures (using Mermaid)
- Follow the existing style and structure
- Test all code examples
Important: Always use Poetry for Python package management, never pip.
- Installation examples:
poetry add firestoned(NOTpip install firestoned) - Running commands:
poetry run firestone(NOT directfirestonecalls) - See CLAUDE.md for more details
- Primary:
#ff6b35(Orange flame) - Secondary:
#1e3a5f(Deep navy blue) - Dark:
#333333(Dark gray) - Light:
#f0f2f5(Light gray)
This documentation website is part of the Firestoned project and is licensed under the same terms as the main project.
See LICENSE for details.
- Documentation Issues: GitHub Issues
- General Questions: GitHub Discussions
- Firestoned Organization: https://github.com/firestoned
- Main Website: https://firestoned.io
- GitHub Organization: https://github.com/firestoned
- Documentation: https://firestoned.io/docs/