# dazzathewiz/fluxcd architecture

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

- Interactive diagram: https://gitdiagram.com/dazzathewiz/fluxcd
- Repository: https://github.com/dazzathewiz/fluxcd

## Overview

This repository declares a Flux-managed Kubernetes cluster: an operator bootstraps or reconciles Flux, which applies configuration from the cluster path. The broader product is the cluster platform and its applications, including ingress and certificates, secrets, storage, monitoring, and home services. The README documents these capabilities but no source excerpts were provided, so relationships between individual manifests and services are omitted rather than inferred from the tree.

Main entry points: [`clusters/home`](https://github.com/dazzathewiz/fluxcd/tree/main/clusters/home) (Cluster config)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_delivery["Flux delivery"]
  node_flux["Flux"]
  node_cluster_config["Cluster config"]
end

subgraph group_platform["Cluster platform"]
  node_infra_controllers["Infrastructure controllers"]
  node_infra_configs["Infrastructure config"]
  node_secrets["External secrets"]
  node_ingress["Ingress and certificates"]
  node_storage["Persistent storage"]
  node_alerts["Slack alerts<br/>[notify-slack.yaml]"]
end

subgraph group_workloads["Cluster workloads"]
  node_apps["Application manifests"]
  node_databases["InfluxDB"]
  node_monitoring["Grafana"]
  node_home_automation["Home automation"]
  node_media["Media services"]
  node_tools["Tools and inventory"]
  node_web["Web services"]
end

node_operator(("Cluster operator"))

node_operator -->|"bootstraps"| node_flux
node_flux -->|"reconciles"| node_cluster_config

click node_cluster_config "https://github.com/dazzathewiz/fluxcd/tree/main/clusters/home"
click node_infra_controllers "https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/controllers"
click node_infra_configs "https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/configs"
click node_secrets "https://github.com/dazzathewiz/fluxcd/blob/main/infrastructure/controllers/external-secrets.yaml"
click node_ingress "https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/configs"
click node_storage "https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/controllers"
click node_alerts "https://github.com/dazzathewiz/fluxcd/blob/main/infrastructure/configs/notify-slack.yaml"
click node_apps "https://github.com/dazzathewiz/fluxcd/tree/main/apps"
click node_databases "https://github.com/dazzathewiz/fluxcd/tree/main/apps/databases/influxdb"
click node_monitoring "https://github.com/dazzathewiz/fluxcd/tree/main/apps/monitoring/grafana"
click node_home_automation "https://github.com/dazzathewiz/fluxcd/tree/main/apps/home-automation"
click node_media "https://github.com/dazzathewiz/fluxcd/tree/main/apps/media"
click node_tools "https://github.com/dazzathewiz/fluxcd/tree/main/apps/tools"
click node_web "https://github.com/dazzathewiz/fluxcd/tree/main/apps/web"

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_flux,node_cluster_config toneBlue
class node_infra_controllers,node_infra_configs,node_secrets,node_ingress,node_storage,node_alerts toneAmber
class node_apps,node_databases,node_monitoring,node_home_automation,node_media,node_tools,node_web toneMint
class node_operator toneIndigo
```

## Components

### Flux delivery

- **Flux**
- [Cluster config](https://github.com/dazzathewiz/fluxcd/tree/main/clusters/home): `clusters/home`

### Cluster platform

- [Infrastructure controllers](https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/controllers): `infrastructure/controllers`
- [Infrastructure config](https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/configs): `infrastructure/configs`
- [External secrets](https://github.com/dazzathewiz/fluxcd/blob/main/infrastructure/controllers/external-secrets.yaml): `infrastructure/controllers/external-secrets.yaml`
- [Ingress and certificates](https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/configs): `infrastructure/configs`
- [Persistent storage](https://github.com/dazzathewiz/fluxcd/tree/main/infrastructure/controllers): `infrastructure/controllers`
- [Slack alerts](https://github.com/dazzathewiz/fluxcd/blob/main/infrastructure/configs/notify-slack.yaml): `infrastructure/configs/notify-slack.yaml`

### Cluster workloads

- [Application manifests](https://github.com/dazzathewiz/fluxcd/tree/main/apps): `apps`
- [InfluxDB](https://github.com/dazzathewiz/fluxcd/tree/main/apps/databases/influxdb): `apps/databases/influxdb`
- [Grafana](https://github.com/dazzathewiz/fluxcd/tree/main/apps/monitoring/grafana): `apps/monitoring/grafana`
- [Home automation](https://github.com/dazzathewiz/fluxcd/tree/main/apps/home-automation): `apps/home-automation`
- [Media services](https://github.com/dazzathewiz/fluxcd/tree/main/apps/media): `apps/media`
- [Tools and inventory](https://github.com/dazzathewiz/fluxcd/tree/main/apps/tools): `apps/tools`
- [Web services](https://github.com/dazzathewiz/fluxcd/tree/main/apps/web): `apps/web`

### Other components

- **Cluster operator**

## Connections

- Cluster operator → Flux: bootstraps (evidence: `readme.md`)
- Flux → Cluster config: reconciles (evidence: `readme.md`)
