Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .github/workflows/generate-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Generate Documentation

on:
push:
branches:
- main
paths:
- '**.md'
- 'scripts/generate-docs.sh'
- '.github/workflows/generate-docs.yml'
pull_request:
branches:
- main
paths:
- '**.md'
- 'scripts/generate-docs.sh'
- '.github/workflows/generate-docs.yml'
workflow_dispatch:

permissions:
contents: write

jobs:
generate-docs:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Pandoc
run: |
sudo apt-get update
sudo apt-get install -y pandoc
pandoc --version

- name: Install wkhtmltopdf
run: |
sudo apt-get install -y wkhtmltopdf
wkhtmltopdf --version

- name: Install additional dependencies for PDF generation
run: |
sudo apt-get install -y texlive-xetex texlive-fonts-recommended texlive-plain-generic

- name: Generate documentation
run: |
bash scripts/generate-docs.sh

- name: List generated files
run: |
echo "Generated documentation files:"
ls -lh downloads/

- name: Upload documentation artifacts
uses: actions/upload-artifact@v4
with:
name: documentation-exports
path: downloads/
retention-days: 90

- name: Commit generated documentation (main branch only)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

git add downloads/

if git diff --staged --quiet; then
echo "No changes to commit"
else
# Create detailed commit message listing updated files
UPDATED_FILES=$(git diff --staged --name-only downloads/ | wc -l)
git commit -m "docs: Regenerate documentation exports (${UPDATED_FILES} files updated)

Auto-generated PDF and DOCX documentation from latest markdown sources.
Triggered by commit: ${GITHUB_SHA:0:7}

[skip ci]"
git push
fi
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
how-to-consume-alz-platform-workload.md

# DocFX build outputs
_site/
*.html

# Exclude intermediate HTML files from doc generation
downloads/*.html
39 changes: 39 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Release Engine Workload Patterns (Template Repository)

> 📥 **Download this documentation**: [PDF](downloads/README.pdf) | [DOCX](downloads/README.docx) | [All Downloads](docs/DOWNLOADS.md)

## 🏗️ Repository Overview

This repository serves as the **Abstraction Layer Template** in the Release Engine three-tier solution. It contains reusable workload patterns that define "how" infrastructure and applications are deployed through Infrastructure as Code (Bicep) templates and pipeline configurations.
Expand Down Expand Up @@ -43,6 +45,7 @@ patterns/{pattern_name}/
- **[Comprehensive Patterns Overview](./docs/PATTERNS_OVERVIEW.md)** - Detailed comparison, selection guide, and technical architecture
- **Individual Pattern READMEs** - Complete usage instructions, parameters, and examples for each pattern
- **[AI Assistant Instructions](./AGENTS.md)** - Detailed guidance for AI agents working with patterns
- **[📥 Documentation Downloads](./docs/DOWNLOADS.md)** - Download all documentation in PDF and DOCX formats

## 🚀 Quick Start (Using as Template)

Expand Down Expand Up @@ -364,6 +367,42 @@ extends:
- **Deployment Speed**: Optimize for fast deployment times
- **Error Recovery**: Design patterns for easy rollback and recovery

## 📥 Documentation Export Feature

All documentation in this repository is available for download in PDF and DOCX formats, making it easy to:
- **Share** documentation with team members offline
- **Archive** documentation for compliance and audit purposes
- **Print** documentation for workshops and training sessions
- **Customize** DOCX files with your organization's branding

### Available Exports

Visit the **[Documentation Downloads](./docs/DOWNLOADS.md)** page to access:
- Repository overview (README)
- Comprehensive patterns guide (PATTERNS_OVERVIEW)
- Individual pattern documentation (all three patterns)

### How It Works

1. **Automatic Generation**: Documents are automatically regenerated on every push to main branch
2. **Tools Used**:
- DocFX for website generation
- Pandoc for DOCX generation (Microsoft Word format)
- wkhtmltopdf for high-quality PDF generation
3. **CI/CD Integration**: GitHub Actions workflow handles the entire generation process
4. **Always Current**: Exports stay synchronized with the latest documentation

### Manual Generation

To generate documents locally:

```bash
# Requires Pandoc and wkhtmltopdf
bash scripts/generate-docs.sh
```

See [docs/DOWNLOADS.md](./docs/DOWNLOADS.md) for installation instructions and more details.

## 📞 Support and Resources

### Getting Help
Expand Down
78 changes: 78 additions & 0 deletions docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"metadata": [],
"build": {
"content": [
{
"files": [
"README.md",
"docs/**/*.md",
"patterns/**/*.md"
],
"exclude": [
"**/bin/**",
"**/obj/**",
"_site/**",
"**/node_modules/**"
]
}
],
"resource": [
{
"files": [
"docs/images/**",
"patterns/**/images/**"
]
}
],
"dest": "_site",
"globalMetadata": {
"_appTitle": "Release Engine Workload Patterns",
"_appName": "Release Engine Patterns",
"_enableSearch": true
},
"template": [
"default",
"modern"
],
"postProcessors": [],
"keepFileLink": false,
"disableGitFeatures": false
},
"pdf": {
"content": [
{
"files": [
"README.md"
],
"dest": "downloads"
},
{
"files": [
"docs/PATTERNS_OVERVIEW.md"
],
"dest": "downloads"
},
{
"files": [
"patterns/resource_group_scope_pattern/README.md"
],
"dest": "downloads"
},
{
"files": [
"patterns/subscription_scope_pattern/README.md"
],
"dest": "downloads"
},
{
"files": [
"patterns/multi_stage_pattern/README.md"
],
"dest": "downloads"
}
],
"wkhtmltopdf": {
"additionalArguments": "--enable-local-file-access"
}
}
}
116 changes: 116 additions & 0 deletions docs/DOWNLOADS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Documentation Downloads

This page provides easy access to downloadable versions of all Release Engine Workload Patterns documentation in PDF and DOCX formats.

## 📥 Available Formats

All documentation is available in two formats:
- **PDF**: Best for printing and archiving, preserves formatting
- **DOCX**: Microsoft Word format, ideal for editing and collaboration

## 📚 Main Documentation

### Repository Overview
Complete overview of the Release Engine Workload Patterns template repository.

- [📄 README.pdf](../downloads/README.pdf)
- [📝 README.docx](../downloads/README.docx)

## 🏗️ Architecture Documentation

### Patterns Overview
Comprehensive guide to all available workload patterns, including comparison matrices, selection guides, and technical architecture details.

- [📄 PATTERNS_OVERVIEW.pdf](../downloads/PATTERNS_OVERVIEW.pdf)
- [📝 PATTERNS_OVERVIEW.docx](../downloads/PATTERNS_OVERVIEW.docx)

## 📋 Pattern-Specific Documentation

### Resource Group Scope Pattern
The simplest deployment pattern demonstrating single resource deployments within a resource group.

- [📄 resource_group_scope_pattern.pdf](../downloads/resource_group_scope_pattern.pdf)
- [📝 resource_group_scope_pattern.docx](../downloads/resource_group_scope_pattern.docx)

### Subscription Scope Pattern
Intermediate pattern for subscription-level resource deployments and resource group creation.

- [📄 subscription_scope_pattern.pdf](../downloads/subscription_scope_pattern.pdf)
- [📝 subscription_scope_pattern.docx](../downloads/subscription_scope_pattern.docx)

### Multi Stage Pattern
Advanced pattern showcasing complex, multi-stage deployments with dependencies and parallel execution.

- [📄 multi_stage_pattern.pdf](../downloads/multi_stage_pattern.pdf)
- [📝 multi_stage_pattern.docx](../downloads/multi_stage_pattern.docx)

## 🔄 Document Generation

These documents are automatically generated from the repository's markdown documentation whenever changes are pushed to the main branch. The generation process:

1. **Source**: Markdown files in the repository
2. **PDF Generation**: Uses Pandoc with wkhtmltopdf for high-quality PDF output
3. **DOCX Generation**: Uses Pandoc for Microsoft Word-compatible documents
4. **Automation**: GitHub Actions workflow runs on every documentation update

### Regenerating Documents

To regenerate the documentation locally:

```bash
# Requires Pandoc and wkhtmltopdf installed
bash scripts/generate-docs.sh
```

### Prerequisites for Local Generation

Install the required tools:

**Ubuntu/Debian:**
```bash
sudo apt-get update
sudo apt-get install -y pandoc wkhtmltopdf texlive-xetex texlive-fonts-recommended
```

**macOS:**
```bash
brew install pandoc
brew install --cask wkhtmltopdf
```

**Windows:**
- Download Pandoc from: https://pandoc.org/installing.html
- Download wkhtmltopdf from: https://wkhtmltopdf.org/downloads.html

## 📝 Notes on Document Formats

### PDF Documents
- Include table of contents with hyperlinks
- Preserve most formatting from markdown
- **Note**: Mermaid diagrams may not render in PDF format. For best diagram viewing, refer to the online documentation.
- Optimized for A4 paper size with appropriate margins

### DOCX Documents
- Fully editable in Microsoft Word or compatible applications
- Include table of contents
- Preserve most markdown formatting as Word styles
- **Note**: Mermaid diagrams are not included in DOCX format. For diagrams, refer to the online documentation or PDF exports.
- Can be customized with your organization's branding

## 🔗 Related Resources

- [Main Repository](../README.md)
- [Architecture Overview](PATTERNS_OVERVIEW.md)
- [Release Engine Core](https://github.com/thecloudexplorers/release-engine-core)
- [Configuration Template](https://github.com/thecloudexplorers/release-engine-config-template)

## 📮 Feedback

If you encounter issues with the generated documents or have suggestions for improvements:
- Open an issue in the repository
- Contribute improvements to the generation scripts
- Share your feedback with the Release Engine team

---

*Documents are automatically updated on every main branch commit that modifies markdown documentation.*
28 changes: 28 additions & 0 deletions docs/PATTERNS_OVERVIEW.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Workload Patterns Overview

> 📥 **Download this documentation**: [PDF](../downloads/PATTERNS_OVERVIEW.pdf) | [DOCX](../downloads/PATTERNS_OVERVIEW.docx) | [All Downloads](DOWNLOADS.md)

This document provides a comprehensive overview of all available workload patterns in the Release Engine framework. Each pattern represents a different level of complexity and addresses specific deployment scenarios.

## Pattern Catalog
Expand Down Expand Up @@ -344,6 +346,32 @@ When creating new patterns based on these examples:
- ✅ **README Completeness**: Comprehensive documentation required
- ✅ **Testing Evidence**: Deployment testing in multiple environments

## 📥 Documentation Exports

All architecture documentation is available for download in PDF and DOCX formats for offline access, printing, and sharing.

### Complete Documentation Suite

| Document | Description | Formats |
|----------|-------------|---------|
| **Repository Overview** | Complete overview of the template repository | [PDF](../downloads/README.pdf) · [DOCX](../downloads/README.docx) |
| **Patterns Overview** | This comprehensive guide | [PDF](../downloads/PATTERNS_OVERVIEW.pdf) · [DOCX](../downloads/PATTERNS_OVERVIEW.docx) |
| **Resource Group Scope Pattern** | Simple pattern documentation | [PDF](../downloads/resource_group_scope_pattern.pdf) · [DOCX](../downloads/resource_group_scope_pattern.docx) |
| **Subscription Scope Pattern** | Intermediate pattern documentation | [PDF](../downloads/subscription_scope_pattern.pdf) · [DOCX](../downloads/subscription_scope_pattern.docx) |
| **Multi Stage Pattern** | Advanced pattern documentation | [PDF](../downloads/multi_stage_pattern.pdf) · [DOCX](../downloads/multi_stage_pattern.docx) |

### 📋 Download All Documentation

Visit the **[Documentation Downloads](DOWNLOADS.md)** page for:
- Detailed information about each document
- Instructions for regenerating documents locally
- Notes on format-specific features and limitations
- Information about automatic document generation

### 🔄 Automatic Updates

These documents are automatically regenerated whenever documentation changes are pushed to the main branch, ensuring you always have access to the latest version.

---

*This overview provides guidance for selecting, using, and extending the Release Engine workload patterns. Start simple and progress to more complex patterns as your team's needs and expertise grow.*
Binary file added downloads/PATTERNS_OVERVIEW.docx
Binary file not shown.
Binary file added downloads/PATTERNS_OVERVIEW.pdf
Binary file not shown.
Binary file added downloads/README.docx
Binary file not shown.
Loading