Jesús Pérez 6a59d34bb1
chore: update provisioning configuration and documentation
Update configuration files, templates, and internal documentation
for the provisioning repository system.

Configuration Updates:
- KMS configuration modernization
- Plugin system settings
- Service port mappings
- Test cluster topologies
- Installation configuration examples
- VM configuration defaults
- Cedar authorization policies

Documentation Updates:
- Library module documentation
- Extension API guides
- AI system documentation
- Service management guides
- Test environment setup
- Plugin usage guides
- Validator configuration documentation

All changes are backward compatible.
2025-12-11 21:50:42 +00:00

249 lines
8.5 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MDBook Documentation Module - Unified Documentation System
# ===========================================================
# MDBook directory
mdbook_dir := provisioning_root / "docs"
mdbook_build := mdbook_dir / "book"
mdbook_src := mdbook_dir / "src"
# ============================================================================
# MDBook Module Help
# ============================================================================
# Show mdbook help
@book-help:
echo "📖 MDBOOK MODULE HELP"
echo "====================="
echo ""
echo "This module manages the unified mdbook documentation system"
echo ""
echo "SETUP:"
echo " book-check Check if mdbook is installed"
echo " book-install Install mdbook and useful plugins"
echo " book-init Initialize new mdbook project"
echo ""
echo "BUILD & SERVE:"
echo " book-build Build documentation"
echo " book-serve Serve with live reload (default port: 3000)"
echo " book-watch Watch and rebuild on changes"
echo " book-open Open built docs in browser"
echo ""
echo "TESTING & VALIDATION:"
echo " book-test Validate structure and links"
echo " book-stats Show documentation statistics"
echo ""
echo "DEPLOYMENT:"
echo " book-deploy Prepare for deployment"
echo " book-clean Clean build artifacts"
echo ""
echo "WORKFLOWS:"
echo " book-all Complete build, test, and stats workflow"
echo ""
echo "EXAMPLES:"
echo " just book-serve # Serve on default port 3000"
echo " just book-serve 8080 # Serve on custom port"
echo " just book-build && book-open # Build and open in browser"
echo ""
echo "LOCATION:"
echo " Source: {{mdbook_src}}"
echo " Build: {{mdbook_build}}"
echo ""
echo "💡 Quick start: just book-init && just book-serve"
# ============================================================================
# Setup & Installation
# ============================================================================
# Check if mdbook is installed
@book-check:
#!/usr/bin/env bash
if command -v mdbook >/dev/null 2>&1; then
echo "✅ mdbook is installed: $(mdbook --version)"
else
echo "❌ mdbook is not installed"
echo ""
echo "Install with:"
echo " cargo install mdbook"
echo " cargo install mdbook-toc # Table of contents preprocessor"
echo " cargo install mdbook-mermaid # Mermaid diagrams support"
echo " cargo install mdbook-linkcheck # Link validation"
exit 1
fi
# Initialize new mdbook project (only if doesn't exist)
@book-init:
#!/usr/bin/env bash
if [ ! -f "{{mdbook_dir}}/book.toml" ]; then
echo "📚 Initializing mdbook in {{mdbook_dir}}..."
cd {{provisioning_root}} && mdbook init docs --title "Provisioning Platform Documentation" --ignore git
echo "✅ MDBook initialized successfully"
echo ""
echo "Next steps:"
echo " 1. Edit {{mdbook_dir}}/book.toml to configure"
echo " 2. Edit {{mdbook_dir}}/src/SUMMARY.md to structure content"
echo " 3. Run 'just book-serve' to preview"
else
echo " MDBook already initialized in {{mdbook_dir}}"
echo " Use 'just book-build' or 'just book-serve'"
fi
# Install mdbook and useful plugins
@book-install:
#!/usr/bin/env bash
echo "📦 Installing mdbook and plugins..."
cargo install mdbook
cargo install mdbook-toc
cargo install mdbook-mermaid
cargo install mdbook-linkcheck
echo "✅ MDBook and plugins installed successfully"
echo ""
mdbook --version
# ============================================================================
# Build & Serve
# ============================================================================
# Build mdbook documentation
@book-build:
echo "📖 Building mdbook documentation..."
cd {{mdbook_dir}} && mdbook build
echo "✅ MDBook built successfully"
echo " Output: {{mdbook_build}}/index.html"
echo ""
echo "💡 Open in browser: open {{mdbook_build}}/index.html"
# Serve mdbook with live reload (watch mode)
@book-serve PORT="3000":
echo "🌐 Serving mdbook documentation on http://localhost:{{PORT}}"
echo "📝 Watching for changes in {{mdbook_src}}..."
echo "🔄 Auto-reload enabled - edit files and see changes live"
echo ""
echo "Press Ctrl+C to stop"
cd {{mdbook_dir}} && mdbook serve --port {{PORT}} --open
# Watch and rebuild on changes (alternative to serve)
@book-watch:
echo "👁️ Watching mdbook source for changes..."
echo "📝 Files: {{mdbook_src}}/"
echo ""
cd {{mdbook_dir}} && mdbook watch
# Open mdbook in browser
@book-open:
#!/usr/bin/env bash
if [ -f "{{mdbook_build}}/index.html" ]; then
echo "🌐 Opening mdbook in browser..."
open {{mdbook_build}}/index.html || xdg-open {{mdbook_build}}/index.html
else
echo "❌ Build not found. Run 'just book-build' first."
exit 1
fi
# ============================================================================
# Testing & Validation
# ============================================================================
# Test mdbook (validate links and structure)
@book-test:
#!/usr/bin/env bash
echo "🧪 Testing mdbook documentation..."
# Test build
echo "1⃣ Testing build..."
cd {{mdbook_dir}} && mdbook build
# Validate links if mdbook-linkcheck is installed
if command -v mdbook-linkcheck >/dev/null 2>&1; then
echo "2⃣ Validating internal links..."
cd {{mdbook_dir}} && mdbook test
else
echo "⚠️ mdbook-linkcheck not installed, skipping link validation"
echo " Install with: cargo install mdbook-linkcheck"
fi
# Check SUMMARY.md structure
echo "3⃣ Checking SUMMARY.md structure..."
if [ -f "{{mdbook_src}}/SUMMARY.md" ]; then
echo " ✅ SUMMARY.md exists"
else
echo " ❌ SUMMARY.md not found"
exit 1
fi
echo "✅ MDBook tests passed"
# Show mdbook statistics
@book-stats:
#!/usr/bin/env bash
echo "📊 MDBook Statistics"
echo "===================="
if [ -d "{{mdbook_src}}" ]; then
echo "Source directory: {{mdbook_src}}"
echo ""
echo "Content:"
echo " Markdown files: $(find {{mdbook_src}} -name "*.md" | wc -l | xargs)"
echo " Images: $(find {{mdbook_src}} -name "*.png" -o -name "*.jpg" -o -name "*.svg" | wc -l | xargs)"
echo " Total size: $(du -sh {{mdbook_src}} | cut -f1)"
echo ""
if [ -d "{{mdbook_build}}" ]; then
echo "Built documentation:"
echo " HTML files: $(find {{mdbook_build}} -name "*.html" | wc -l | xargs)"
echo " Build size: $(du -sh {{mdbook_build}} | cut -f1)"
else
echo "⚠️ No build found. Run 'just book-build' first."
fi
else
echo "⚠️ MDBook not initialized. Run 'just book-init' first."
fi
# ============================================================================
# Deployment & Cleanup
# ============================================================================
# Deploy mdbook (prepare for GitHub Pages or hosting)
@book-deploy:
#!/usr/bin/env bash
echo "🚀 Preparing mdbook for deployment..."
# Clean and build
just book-clean
just book-build
# Create deployment directory
DEPLOY_DIR="{{dist_dir}}/mdbook-deploy"
mkdir -p "$DEPLOY_DIR"
# Copy built book
cp -r {{mdbook_build}}/* "$DEPLOY_DIR/"
# Create .nojekyll for GitHub Pages
touch "$DEPLOY_DIR/.nojekyll"
# Create CNAME if needed (uncomment and set your domain)
# echo "docs.yourproject.com" > "$DEPLOY_DIR/CNAME"
echo "✅ MDBook deployment prepared in $DEPLOY_DIR"
echo ""
echo "📋 Deployment options:"
echo " • GitHub Pages: Push $DEPLOY_DIR/* to gh-pages branch"
echo " • Netlify: Drag $DEPLOY_DIR folder to netlify.com/drop"
echo " • Custom server: rsync $DEPLOY_DIR/* to your server"
# Clean mdbook build artifacts
@book-clean:
echo "🧹 Cleaning mdbook build artifacts..."
rm -rf {{mdbook_build}}
echo "✅ MDBook artifacts cleaned"
# ============================================================================
# Workflows
# ============================================================================
# Complete mdbook workflow (build, test, stats)
@book-all: book-build book-test book-stats
echo "✅ Complete mdbook workflow finished"