# defguard/deployment architecture

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

## Overview

This repository packages deployment options for Defguard rather than implementing the application runtime. Operators can deploy with Helm, Docker Compose, Terraform, or appliance images. The tree shows the available deployment components and some explicit packaging relationships; source excerpts were not provided, so internal provisioning and service-to-service wiring are omitted.

Main entry points: [`charts/defguard`](https://github.com/defguard/deployment/tree/main/charts/defguard) (Defguard chart), [`charts/defguard-gateway`](https://github.com/defguard/deployment/tree/main/charts/defguard-gateway) (Gateway chart), [`charts/defguard-proxy`](https://github.com/defguard/deployment/tree/main/charts/defguard-proxy) (Proxy chart), [`docker-compose`](https://github.com/defguard/deployment/tree/main/docker-compose) (Compose deployment)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_helm["Helm charts"]
  node_main_chart["Defguard chart"]
  node_gateway_chart["Gateway chart"]
  node_proxy_chart["Proxy chart"]
end

subgraph group_compose["Docker Compose"]
  node_compose_main["Compose deployment"]
  node_compose_segmented["Segmented deployment"]
  node_compose_legacy["2.x deployment<br/>[docker-compose]"]
  node_compose_v2["2.0 deployment<br/>[docker-compose2.0]"]
end

subgraph group_terraform["Terraform"]
  node_tf_core["Core module"]
  node_tf_gateway["Gateway module"]
  node_tf_proxy["Proxy module"]
  node_tf2_core["Core module<br/>[core]"]
  node_tf2_edge["Edge module<br/>[edge]"]
  node_tf2_gateway["Gateway module<br/>[gateway]"]
  node_tf2_network["Network module<br/>[network]"]
  node_tf2_postgres["Postgres module<br/>[postgres]"]
  node_tf2_ldap["OpenLDAP module<br/>[openldap]"]
  node_tf2_monitoring["Monitoring module<br/>[monitoring]"]
end

subgraph group_appliance["Appliance images"]
  node_ami["AMI definition"]
  node_cloudformation["CloudFormation template<br/>[template.yaml]"]
  node_ova["OVA definition"]
end

node_operator(("Operator"))

node_operator -->|"deploys with"| node_main_chart
node_main_chart -->|"packages"| node_gateway_chart
node_main_chart -->|"packages"| node_proxy_chart
node_operator -->|"deploys with"| node_compose_main
node_operator -->|"deploys with"| node_compose_segmented
node_operator -->|"deploys with"| node_compose_legacy
node_operator -->|"deploys with"| node_compose_v2
node_operator -->|"provisions with"| node_tf_core
node_operator -->|"provisions with"| node_tf_gateway
node_operator -->|"provisions with"| node_tf_proxy
node_operator -->|"provisions with"| node_tf2_core
node_operator -->|"provisions with"| node_tf2_edge
node_operator -->|"provisions with"| node_tf2_gateway
node_operator -->|"provisions with"| node_tf2_network
node_operator -->|"provisions with"| node_tf2_postgres
node_operator -->|"provisions with"| node_tf2_ldap
node_operator -->|"provisions with"| node_tf2_monitoring
node_operator -->|"builds image with"| node_ami
node_operator -->|"deploys with"| node_cloudformation
node_operator -->|"builds image with"| node_ova

click node_main_chart "https://github.com/defguard/deployment/tree/main/charts/defguard"
click node_gateway_chart "https://github.com/defguard/deployment/tree/main/charts/defguard-gateway"
click node_proxy_chart "https://github.com/defguard/deployment/tree/main/charts/defguard-proxy"
click node_compose_main "https://github.com/defguard/deployment/tree/main/docker-compose"
click node_compose_segmented "https://github.com/defguard/deployment/tree/main/docker-compose-segmented"
click node_compose_legacy "https://github.com/defguard/deployment/tree/main/2.x/docker-compose"
click node_compose_v2 "https://github.com/defguard/deployment/tree/main/docker-compose2.0"
click node_tf_core "https://github.com/defguard/deployment/tree/main/terraform/modules/core"
click node_tf_gateway "https://github.com/defguard/deployment/tree/main/terraform/modules/gateway"
click node_tf_proxy "https://github.com/defguard/deployment/tree/main/terraform/modules/proxy"
click node_tf2_core "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/core"
click node_tf2_edge "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/edge"
click node_tf2_gateway "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/gateway"
click node_tf2_network "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/network"
click node_tf2_postgres "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/postgres"
click node_tf2_ldap "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/openldap"
click node_tf2_monitoring "https://github.com/defguard/deployment/tree/main/terraform2.0/modules/monitoring"
click node_ami "https://github.com/defguard/deployment/tree/main/cloudformation/ami"
click node_cloudformation "https://github.com/defguard/deployment/blob/main/cloudformation/template.yaml"
click node_ova "https://github.com/defguard/deployment/tree/main/ova"

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_main_chart,node_gateway_chart,node_proxy_chart toneBlue
class node_compose_main,node_compose_segmented,node_compose_legacy,node_compose_v2 toneAmber
class node_tf_core,node_tf_gateway,node_tf_proxy,node_tf2_core,node_tf2_edge,node_tf2_gateway,node_tf2_network,node_tf2_postgres,node_tf2_ldap,node_tf2_monitoring toneMint
class node_ami,node_cloudformation,node_ova toneRose
class node_operator toneIndigo
```

## Components

### Helm charts

- [Defguard chart](https://github.com/defguard/deployment/tree/main/charts/defguard): `charts/defguard`
- [Gateway chart](https://github.com/defguard/deployment/tree/main/charts/defguard-gateway): `charts/defguard-gateway`
- [Proxy chart](https://github.com/defguard/deployment/tree/main/charts/defguard-proxy): `charts/defguard-proxy`

### Docker Compose

- [Compose deployment](https://github.com/defguard/deployment/tree/main/docker-compose): `docker-compose`
- [Segmented deployment](https://github.com/defguard/deployment/tree/main/docker-compose-segmented): `docker-compose-segmented`
- [2.x deployment](https://github.com/defguard/deployment/tree/main/2.x/docker-compose): `2.x/docker-compose`
- [2.0 deployment](https://github.com/defguard/deployment/tree/main/docker-compose2.0): `docker-compose2.0`

### Terraform

- [Core module](https://github.com/defguard/deployment/tree/main/terraform/modules/core): `terraform/modules/core`
- [Gateway module](https://github.com/defguard/deployment/tree/main/terraform/modules/gateway): `terraform/modules/gateway`
- [Proxy module](https://github.com/defguard/deployment/tree/main/terraform/modules/proxy): `terraform/modules/proxy`
- [Core module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/core): `terraform2.0/modules/core`
- [Edge module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/edge): `terraform2.0/modules/edge`
- [Gateway module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/gateway): `terraform2.0/modules/gateway`
- [Network module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/network): `terraform2.0/modules/network`
- [Postgres module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/postgres): `terraform2.0/modules/postgres`
- [OpenLDAP module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/openldap): `terraform2.0/modules/openldap`
- [Monitoring module](https://github.com/defguard/deployment/tree/main/terraform2.0/modules/monitoring): `terraform2.0/modules/monitoring`

### Appliance images

- [AMI definition](https://github.com/defguard/deployment/tree/main/cloudformation/ami): `cloudformation/ami`
- [CloudFormation template](https://github.com/defguard/deployment/blob/main/cloudformation/template.yaml): `cloudformation/template.yaml`
- [OVA definition](https://github.com/defguard/deployment/tree/main/ova): `ova`

### Other components

- **Operator**

## Connections

- Operator → Defguard chart: deploys with
- Defguard chart → Gateway chart: packages
- Defguard chart → Proxy chart: packages
- Operator → Compose deployment: deploys with
- Operator → Segmented deployment: deploys with
- Operator → 2.x deployment: deploys with
- Operator → 2.0 deployment: deploys with
- Operator → Core module: provisions with
- Operator → Gateway module: provisions with
- Operator → Proxy module: provisions with
- Operator → Core module: provisions with
- Operator → Edge module: provisions with
- Operator → Gateway module: provisions with
- Operator → Network module: provisions with
- Operator → Postgres module: provisions with
- Operator → OpenLDAP module: provisions with
- Operator → Monitoring module: provisions with
- Operator → AMI definition: builds image with
- Operator → CloudFormation template: deploys with
- Operator → OVA definition: builds image with
