# revodatanl/revo-dabs architecture

> Architecture diagram of the GitHub repository revodatanl/revo-dabs, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-24). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/revodatanl/revo-dabs
- Repository: https://github.com/revodatanl/revo-dabs

## Overview

This repository provides a Databricks Declarative Automation Bundle template, not a running application. A project author invokes `databricks bundle init`, supplies template choices, and receives a rendered project scaffold. The scaffold includes optional CI/CD, development-environment support, and example Databricks jobs and pipelines. The README documents the schema and preamble roles and the available capabilities; sampled source is limited, so internal rendering details and deployment wiring are not inferred.

Main entry points: [`template/{{.project_name}}`](https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D) (Project Templates), [`template/{{.project_name}}/notebooks/pipelines/example-pipeline/explorations/sample_exploration.py`](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/pipelines/example-pipeline/explorations/sample_exploration.py) (Exploration Notebook), [`databricks_template_schema.json`](https://github.com/revodatanl/revo-dabs/blob/main/databricks_template_schema.json) (Variable Schema), [`template/__preamble.tmpl`](https://github.com/revodatanl/revo-dabs/blob/main/template/__preamble.tmpl) (Inclusion Rules)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_template["Template Inputs"]
  node_schema["Variable Schema"]
  node_preamble["Inclusion Rules<br/>[__preamble.tmpl]"]
  node_template_files["Project Templates<br/>[&#123;&#123;.project_name&#125;&#125;]"]
end

subgraph group_scaffold["Generated Scaffold"]
  node_project["Rendered Project"]
  node_bundle_config["Bundle Configuration"]
  node_python_package["Python Entry Point<br/>[main.py.tmpl]"]
end

subgraph group_workflows["Project Workflows"]
  node_job_resources["Example Job Resources<br/>[resources]"]
  node_job_notebook["Example Job Notebook"]
  node_pipeline_code["Example Pipeline"]
  node_exploration["Exploration Notebook"]
  node_github_ci["GitHub Pipelines<br/>[workflows]"]
  node_azure_ci["Azure Pipelines<br/>[.azure-pipelines]"]
end

subgraph group_accelerators["Optional Accelerators"]
  node_devcontainer["DevContainer Support"]
  node_mkdocs["MkDocs Accelerator"]
  node_sqlfluff["SQLFluff Accelerator"]
end

node_author(("Project Author"))
node_cli["Databricks CLI"]
node_databricks["Databricks Workspace"]

node_author -->|"initializes project"| node_cli
node_cli -->|"reads variables"| node_schema
node_cli -->|"applies inclusion rules"| node_preamble
node_cli -->|"renders templates"| node_template_files
node_cli -->|"creates scaffold"| node_project
node_template_files -->|"renders configuration"| node_bundle_config
node_template_files -->|"renders package"| node_python_package
node_template_files -->|"renders resources"| node_job_resources
node_template_files -->|"renders notebook"| node_job_notebook
node_template_files -->|"renders pipeline"| node_pipeline_code
node_template_files -.->|"includes optionally"| node_github_ci
node_template_files -.->|"includes optionally"| node_azure_ci
node_project -->|"deploys bundle"| node_databricks
node_project -.->|"may include"| node_devcontainer
node_project -.->|"may add"| node_mkdocs
node_project -.->|"may add"| node_sqlfluff
node_exploration -->|"reads Delta data"| node_databricks

click node_schema "https://github.com/revodatanl/revo-dabs/blob/main/databricks_template_schema.json"
click node_preamble "https://github.com/revodatanl/revo-dabs/blob/main/template/__preamble.tmpl"
click node_template_files "https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D"
click node_bundle_config "https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/databricks.yml.tmpl"
click node_python_package "https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/src/%7B%7Btemplate%20%60package_name%60%20.%7D%7D/main.py.tmpl"
click node_job_resources "https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/resources"
click node_job_notebook "https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/example_job.py.tmpl"
click node_pipeline_code "https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/pipelines/example-pipeline/transformations/example_pipeline.py.tmpl"
click node_exploration "https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/pipelines/example-pipeline/explorations/sample_exploration.py"
click node_github_ci "https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/.github/workflows"
click node_azure_ci "https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/.azure/.azure-pipelines"
click node_devcontainer "https://github.com/revodatanl/revo-dabs/tree/main/accelerators/devcontainer"
click node_mkdocs "https://github.com/revodatanl/revo-dabs/tree/main/accelerators/mkdocs"
click node_sqlfluff "https://github.com/revodatanl/revo-dabs/tree/main/accelerators/sqlfluff"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_schema,node_preamble,node_template_files toneBlue
class node_project,node_bundle_config,node_python_package toneAmber
class node_job_resources,node_job_notebook,node_pipeline_code,node_exploration,node_github_ci,node_azure_ci toneMint
class node_devcontainer,node_mkdocs,node_sqlfluff toneRose
class node_author,node_cli,node_databricks toneIndigo
```

## Components

### Template Inputs

- [Variable Schema](https://github.com/revodatanl/revo-dabs/blob/main/databricks_template_schema.json): `databricks_template_schema.json`
- [Inclusion Rules](https://github.com/revodatanl/revo-dabs/blob/main/template/__preamble.tmpl): `template/__preamble.tmpl`
- [Project Templates](https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D): `template/{{.project_name}}`

### Generated Scaffold

- **Rendered Project**
- [Bundle Configuration](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/databricks.yml.tmpl): `template/{{.project_name}}/databricks.yml.tmpl`
- [Python Entry Point](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/src/%7B%7Btemplate%20%60package_name%60%20.%7D%7D/main.py.tmpl): `template/{{.project_name}}/src/{{template package_name .}}/main.py.tmpl`

### Project Workflows

- [Example Job Resources](https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/resources): `template/{{.project_name}}/resources`
- [Example Job Notebook](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/example_job.py.tmpl): `template/{{.project_name}}/notebooks/example_job.py.tmpl`
- [Example Pipeline](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/pipelines/example-pipeline/transformations/example_pipeline.py.tmpl): `template/{{.project_name}}/notebooks/pipelines/example-pipeline/transformations/example_pipeline.py.tmpl`
- [Exploration Notebook](https://github.com/revodatanl/revo-dabs/blob/main/template/%7B%7B.project_name%7D%7D/notebooks/pipelines/example-pipeline/explorations/sample_exploration.py): `template/{{.project_name}}/notebooks/pipelines/example-pipeline/explorations/sample_exploration.py`
- [GitHub Pipelines](https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/.github/workflows): `template/{{.project_name}}/.github/workflows`
- [Azure Pipelines](https://github.com/revodatanl/revo-dabs/tree/main/template/%7B%7B.project_name%7D%7D/.azure/.azure-pipelines): `template/{{.project_name}}/.azure/.azure-pipelines`

### Optional Accelerators

- [DevContainer Support](https://github.com/revodatanl/revo-dabs/tree/main/accelerators/devcontainer): `accelerators/devcontainer`
- [MkDocs Accelerator](https://github.com/revodatanl/revo-dabs/tree/main/accelerators/mkdocs): `accelerators/mkdocs`
- [SQLFluff Accelerator](https://github.com/revodatanl/revo-dabs/tree/main/accelerators/sqlfluff): `accelerators/sqlfluff`

### Other components

- **Project Author**
- **Databricks CLI**
- **Databricks Workspace**

## Connections

- Project Author → Databricks CLI: initializes project
- Databricks CLI → Variable Schema: reads variables
- Databricks CLI → Inclusion Rules: applies inclusion rules
- Databricks CLI → Project Templates: renders templates
- Databricks CLI → Rendered Project: creates scaffold
- Project Templates → Bundle Configuration: renders configuration
- Project Templates → Python Entry Point: renders package
- Project Templates → Example Job Resources: renders resources
- Project Templates → Example Job Notebook: renders notebook
- Project Templates → Example Pipeline: renders pipeline
- Project Templates → GitHub Pipelines: includes optionally
- Project Templates → Azure Pipelines: includes optionally
- Rendered Project → Databricks Workspace: deploys bundle
- Rendered Project → DevContainer Support: may include
- Rendered Project → MkDocs Accelerator: may add
- Rendered Project → SQLFluff Accelerator: may add
- Exploration Notebook → Databricks Workspace: reads Delta data
