# khaotich/devops-starter-kit architecture

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

- Interactive diagram: https://gitdiagram.com/khaotich/devops-starter-kit
- Repository: https://github.com/khaotich/devops-starter-kit

## Overview

DevOps-Starter-Kit is an infrastructure automation repository. Its tree separates base-image definitions, infrastructure provisioning, and host configuration, with configuration and encrypted secrets alongside them. The numbered stage directories suggest a progression from image creation through provisioning to configuration, but the README contains only the project name and no source excerpts were provided. Accordingly, the graph shows the documented capabilities and their locations without asserting runtime calls or data transfers that cannot be verified.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_images["Base images"]
  node_packer["Image builds"]
end

subgraph group_provision["Infrastructure provisioning"]
  node_live_pre["Prebootstrap"]
  node_live_boot["Bootstrap"]
  node_iso["ISO module"]
  node_bridge["Network bridge"]
  node_vm["Virtual machines"]
end

subgraph group_configure["Host configuration"]
  node_ansible["Ansible playbooks"]
  node_tasks["Service tasks"]
  node_inventory["Host inventory"]
  node_handlers["Service handlers"]
  node_forgejo["Forgejo setup<br/>[forgejo.yml]"]
  node_postgres["PostgreSQL setup<br/>[postgres.yml]"]
  node_vyos["VyOS setup<br/>[vyos.yml]"]
end

subgraph group_inputs["Configuration inputs"]
  node_image_cfg["Image settings"]
  node_common_cfg["Common settings<br/>[common.yml]"]
  node_network_cfg["Network settings<br/>[network.yml]"]
  node_proxmox_cfg["Proxmox settings<br/>[proxmox.yml]"]
  node_service_cfg["Service settings"]
  node_secrets["Encrypted secrets"]
end

click node_packer "https://github.com/khaotich/devops-starter-kit/tree/main/infra/00_base_images"
click node_image_cfg "https://github.com/khaotich/devops-starter-kit/tree/main/config/base_images"
click node_live_pre "https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/live/00_prebootstrap"
click node_live_boot "https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/live/01_bootstrap"
click node_iso "https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/iso"
click node_bridge "https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/network_bridge"
click node_vm "https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/vm"
click node_ansible "https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/playbooks"
click node_tasks "https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/tasks"
click node_inventory "https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/inventory"
click node_handlers "https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/handlers"
click node_common_cfg "https://github.com/khaotich/devops-starter-kit/blob/main/config/common.yml"
click node_network_cfg "https://github.com/khaotich/devops-starter-kit/blob/main/config/network.yml"
click node_proxmox_cfg "https://github.com/khaotich/devops-starter-kit/blob/main/config/proxmox.yml"
click node_service_cfg "https://github.com/khaotich/devops-starter-kit/tree/main/config/services"
click node_secrets "https://github.com/khaotich/devops-starter-kit/tree/main/secrets"
click node_forgejo "https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/forgejo.yml"
click node_postgres "https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/postgres.yml"
click node_vyos "https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/vyos.yml"

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_packer toneBlue
class node_live_pre,node_live_boot,node_iso,node_bridge,node_vm toneAmber
class node_ansible,node_tasks,node_inventory,node_handlers,node_forgejo,node_postgres,node_vyos toneMint
class node_image_cfg,node_common_cfg,node_network_cfg,node_proxmox_cfg,node_service_cfg,node_secrets toneRose
```

## Components

### Base images

- [Image builds](https://github.com/khaotich/devops-starter-kit/tree/main/infra/00_base_images): `infra/00_base_images`

### Infrastructure provisioning

- [Prebootstrap](https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/live/00_prebootstrap): `infra/01_provision/live/00_prebootstrap`
- [Bootstrap](https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/live/01_bootstrap): `infra/01_provision/live/01_bootstrap`
- [ISO module](https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/iso): `infra/01_provision/modules/iso`
- [Network bridge](https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/network_bridge): `infra/01_provision/modules/network_bridge`
- [Virtual machines](https://github.com/khaotich/devops-starter-kit/tree/main/infra/01_provision/modules/vm): `infra/01_provision/modules/vm`

### Host configuration

- [Ansible playbooks](https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/playbooks): `infra/02_configure/playbooks`
- [Service tasks](https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/tasks): `infra/02_configure/tasks`
- [Host inventory](https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/inventory): `infra/02_configure/inventory`
- [Service handlers](https://github.com/khaotich/devops-starter-kit/tree/main/infra/02_configure/handlers): `infra/02_configure/handlers`
- [Forgejo setup](https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/forgejo.yml): `infra/02_configure/playbooks/forgejo.yml`
- [PostgreSQL setup](https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/postgres.yml): `infra/02_configure/playbooks/postgres.yml`
- [VyOS setup](https://github.com/khaotich/devops-starter-kit/blob/main/infra/02_configure/playbooks/vyos.yml): `infra/02_configure/playbooks/vyos.yml`

### Configuration inputs

- [Image settings](https://github.com/khaotich/devops-starter-kit/tree/main/config/base_images): `config/base_images`
- [Common settings](https://github.com/khaotich/devops-starter-kit/blob/main/config/common.yml): `config/common.yml`
- [Network settings](https://github.com/khaotich/devops-starter-kit/blob/main/config/network.yml): `config/network.yml`
- [Proxmox settings](https://github.com/khaotich/devops-starter-kit/blob/main/config/proxmox.yml): `config/proxmox.yml`
- [Service settings](https://github.com/khaotich/devops-starter-kit/tree/main/config/services): `config/services`
- [Encrypted secrets](https://github.com/khaotich/devops-starter-kit/tree/main/secrets): `secrets`
