# victor3spoir/the-labs architecture

> Architecture diagram of the GitHub repository victor3spoir/the-labs, 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/victor3spoir/the-labs
- Repository: https://github.com/victor3spoir/the-labs

## Overview

The Labs is a portfolio of documented DevSecOps and security experiments, not a single application. The principal workflow is to browse the repository by domain, choose a lab, read its setup guidance, and run its configuration where applicable. The tree supports several concrete infrastructure and networking examples; other domain capabilities are described in the README but their implementations are not sampled. The graph therefore shows documented navigation and the stated Docker Compose launch path, not assumed connections among tools.

Main entry points: [`README.md`](https://github.com/victor3spoir/the-labs/blob/main/README.md) (Repository guide), [`infra`](https://github.com/victor3spoir/the-labs/tree/main/infra) (Infrastructure), [`networking`](https://github.com/victor3spoir/the-labs/tree/main/networking) (Networking), [`networking/traefik-reverse-proxy/compose.yml`](https://github.com/victor3spoir/the-labs/blob/main/networking/traefik-reverse-proxy/compose.yml) (Traefik Compose)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["Lab catalog"]
  node_readme["Repository guide<br/>[README.md]"]
end

subgraph group_infrastructure["Infrastructure labs"]
  node_infra_domain["Infrastructure"]
  node_k8s_advanced["Advanced K3s cluster"]
  node_k8s_basics["K3s basics"]
  node_multipass_terraform["Multipass Terraform"]
  node_multipass_ansible["Terraform Ansible demo"]
  node_multipass_vm["Multipass VMs"]
  node_cron_scheduler["Cron scheduler<br/>[compose.yml]"]
end

subgraph group_networking["Networking labs"]
  node_networking_domain["Networking"]
  node_traefik_lab["Traefik reverse proxy"]
  node_traefik_compose["Traefik Compose<br/>[compose.yml]"]
end

subgraph group_other_domains["Other domains"]
  node_observability["Observability"]
  node_monitoring["Monitoring"]
  node_security["Security"]
  node_experiments["Experiments"]
end

node_engineer(("Lab explorer"))

node_engineer -->|"reads"| node_readme
node_readme -->|"browses"| node_infra_domain
node_readme -->|"browses"| node_networking_domain
node_readme -->|"browses"| node_observability
node_readme -->|"browses"| node_monitoring
node_readme -->|"browses"| node_security
node_readme -->|"browses"| node_experiments
node_engineer -->|"runs"| node_traefik_compose

click node_readme "https://github.com/victor3spoir/the-labs/blob/main/README.md"
click node_infra_domain "https://github.com/victor3spoir/the-labs/tree/main/infra"
click node_k8s_advanced "https://github.com/victor3spoir/the-labs/tree/main/infra/k8s-cluster-advanced"
click node_k8s_basics "https://github.com/victor3spoir/the-labs/tree/main/infra/k8s-cluster-basics"
click node_multipass_terraform "https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-terraform"
click node_multipass_ansible "https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-terraform-ansible"
click node_multipass_vm "https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-vm"
click node_cron_scheduler "https://github.com/victor3spoir/the-labs/blob/main/infra/ofelia-cron-scheduler/compose.yml"
click node_networking_domain "https://github.com/victor3spoir/the-labs/tree/main/networking"
click node_traefik_lab "https://github.com/victor3spoir/the-labs/tree/main/networking/traefik-reverse-proxy"
click node_traefik_compose "https://github.com/victor3spoir/the-labs/blob/main/networking/traefik-reverse-proxy/compose.yml"
click node_observability "https://github.com/victor3spoir/the-labs/tree/main/observability"
click node_monitoring "https://github.com/victor3spoir/the-labs/tree/main/monitoring"
click node_security "https://github.com/victor3spoir/the-labs/tree/main/security"
click node_experiments "https://github.com/victor3spoir/the-labs/tree/main/experiments"

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_readme toneBlue
class node_infra_domain,node_k8s_advanced,node_k8s_basics,node_multipass_terraform,node_multipass_ansible,node_multipass_vm,node_cron_scheduler toneAmber
class node_networking_domain,node_traefik_lab,node_traefik_compose toneMint
class node_observability,node_monitoring,node_security,node_experiments toneRose
class node_engineer toneIndigo
```

## Components

### Lab catalog

- [Repository guide](https://github.com/victor3spoir/the-labs/blob/main/README.md): `README.md`

### Infrastructure labs

- [Infrastructure](https://github.com/victor3spoir/the-labs/tree/main/infra): `infra`
- [Advanced K3s cluster](https://github.com/victor3spoir/the-labs/tree/main/infra/k8s-cluster-advanced): `infra/k8s-cluster-advanced`
- [K3s basics](https://github.com/victor3spoir/the-labs/tree/main/infra/k8s-cluster-basics): `infra/k8s-cluster-basics`
- [Multipass Terraform](https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-terraform): `infra/multipass-terraform`
- [Terraform Ansible demo](https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-terraform-ansible): `infra/multipass-terraform-ansible`
- [Multipass VMs](https://github.com/victor3spoir/the-labs/tree/main/infra/multipass-vm): `infra/multipass-vm`
- [Cron scheduler](https://github.com/victor3spoir/the-labs/blob/main/infra/ofelia-cron-scheduler/compose.yml): `infra/ofelia-cron-scheduler/compose.yml`

### Networking labs

- [Networking](https://github.com/victor3spoir/the-labs/tree/main/networking): `networking`
- [Traefik reverse proxy](https://github.com/victor3spoir/the-labs/tree/main/networking/traefik-reverse-proxy): `networking/traefik-reverse-proxy`
- [Traefik Compose](https://github.com/victor3spoir/the-labs/blob/main/networking/traefik-reverse-proxy/compose.yml): `networking/traefik-reverse-proxy/compose.yml`

### Other domains

- [Observability](https://github.com/victor3spoir/the-labs/tree/main/observability): `observability`
- [Monitoring](https://github.com/victor3spoir/the-labs/tree/main/monitoring): `monitoring`
- [Security](https://github.com/victor3spoir/the-labs/tree/main/security): `security`
- [Experiments](https://github.com/victor3spoir/the-labs/tree/main/experiments): `experiments`

### Other components

- **Lab explorer**

## Connections

- Lab explorer → Repository guide: reads
- Repository guide → Infrastructure: browses
- Repository guide → Networking: browses
- Repository guide → Observability: browses
- Repository guide → Monitoring: browses
- Repository guide → Security: browses
- Repository guide → Experiments: browses
- Lab explorer → Traefik Compose: runs
