# cloudkite-io/terraform-modules architecture

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

- Interactive diagram: https://gitdiagram.com/cloudkite-io/terraform-modules
- Repository: https://github.com/cloudkite-io/terraform-modules

## Overview

This repository is a collection of opinionated Terraform modules for provisioning and maintaining cloud infrastructure. A Terraform configuration selects and invokes modules with inputs, then uses their outputs; the modules are independent building blocks rather than a documented end-to-end pipeline. The README highlights GCP networking, GKE, Cloud SQL monitoring, and Velero backups. The tree also shows Azure and additional GCP modules, whose specific resource behavior is not confirmed by sampled source.

Main entry points: [`modules/azure/domain_zones/main.tf`](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/domain_zones/main.tf) (Domain zones), [`modules/azure/event_hubs/main.tf`](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/event_hubs/main.tf) (Event Hubs), [`modules/azure/front_door/main.tf`](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/front_door/main.tf) (Front Door), [`modules/azure/networking/main.tf`](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/networking/main.tf) (Networking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_azure["Azure modules"]
  node_azure_domain_zones["Domain zones<br/>[main.tf]"]
  node_azure_event_hubs["Event Hubs<br/>[main.tf]"]
  node_azure_front_door["Front Door<br/>[main.tf]"]
  node_azure_networking["Networking<br/>[main.tf]"]
  node_azure_service_principal["Service principal<br/>[main.tf]"]
  node_azure_vpn["VPN<br/>[main.tf]"]
end

subgraph group_gcp_foundation["GCP foundation"]
  node_gcp_organization["Organization<br/>[main.tf]"]
  node_gcp_project["Project<br/>[main.tf]"]
  node_gcp_vpc["VPC<br/>[main.tf]"]
  node_gcp_bigquery_vpc["BigQuery VPC"]
end

subgraph group_gcp_services["GCP services"]
  node_gcp_bigquery["BigQuery<br/>[main.tf]"]
  node_gcp_gke["GKE<br/>[main.tf]"]
  node_gcp_cloudsql_dashboard["Cloud SQL dashboard<br/>[main.tf]"]
  node_gcp_velero["Velero backups<br/>[main.tf]"]
end

node_terraform_config(("Terraform configuration"))

node_terraform_config -->|"invokes"| node_azure_domain_zones
node_terraform_config -->|"invokes"| node_azure_event_hubs
node_terraform_config -->|"invokes"| node_azure_front_door
node_terraform_config -->|"invokes"| node_azure_networking
node_terraform_config -->|"invokes"| node_azure_service_principal
node_terraform_config -->|"invokes"| node_azure_vpn
node_terraform_config -->|"invokes"| node_gcp_organization
node_terraform_config -->|"invokes"| node_gcp_project
node_terraform_config -->|"invokes"| node_gcp_vpc
node_terraform_config -->|"invokes"| node_gcp_bigquery_vpc
node_terraform_config -->|"invokes"| node_gcp_bigquery
node_terraform_config -->|"invokes"| node_gcp_gke
node_terraform_config -->|"invokes"| node_gcp_cloudsql_dashboard
node_terraform_config -->|"invokes"| node_gcp_velero

click node_azure_domain_zones "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/domain_zones/main.tf"
click node_azure_event_hubs "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/event_hubs/main.tf"
click node_azure_front_door "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/front_door/main.tf"
click node_azure_networking "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/networking/main.tf"
click node_azure_service_principal "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/service-principal/main.tf"
click node_azure_vpn "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/vpn/main.tf"
click node_gcp_organization "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/organization/main.tf"
click node_gcp_project "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/project/main.tf"
click node_gcp_vpc "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/vpc/main.tf"
click node_gcp_bigquery_vpc "https://github.com/cloudkite-io/terraform-modules/tree/main/modules/gcp/bigquery/vpc"
click node_gcp_bigquery "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/bigquery/main.tf"
click node_gcp_gke "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/gke/main.tf"
click node_gcp_cloudsql_dashboard "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/cloudsql-dashboard/main.tf"
click node_gcp_velero "https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/velero/main.tf"

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_azure_domain_zones,node_azure_event_hubs,node_azure_front_door,node_azure_networking,node_azure_service_principal,node_azure_vpn toneBlue
class node_gcp_organization,node_gcp_project,node_gcp_vpc,node_gcp_bigquery_vpc toneAmber
class node_gcp_bigquery,node_gcp_gke,node_gcp_cloudsql_dashboard,node_gcp_velero toneMint
class node_terraform_config toneIndigo
```

## Components

### Azure modules

- [Domain zones](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/domain_zones/main.tf): `modules/azure/domain_zones/main.tf`
- [Event Hubs](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/event_hubs/main.tf): `modules/azure/event_hubs/main.tf`
- [Front Door](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/front_door/main.tf): `modules/azure/front_door/main.tf`
- [Networking](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/networking/main.tf): `modules/azure/networking/main.tf`
- [Service principal](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/service-principal/main.tf): `modules/azure/service-principal/main.tf`
- [VPN](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/azure/vpn/main.tf): `modules/azure/vpn/main.tf`

### GCP foundation

- [Organization](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/organization/main.tf): `modules/gcp/organization/main.tf`
- [Project](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/project/main.tf): `modules/gcp/project/main.tf`
- [VPC](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/vpc/main.tf): `modules/gcp/vpc/main.tf`
- [BigQuery VPC](https://github.com/cloudkite-io/terraform-modules/tree/main/modules/gcp/bigquery/vpc): `modules/gcp/bigquery/vpc`

### GCP services

- [BigQuery](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/bigquery/main.tf): `modules/gcp/bigquery/main.tf`
- [GKE](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/gke/main.tf): `modules/gcp/gke/main.tf`
- [Cloud SQL dashboard](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/cloudsql-dashboard/main.tf): `modules/gcp/cloudsql-dashboard/main.tf`
- [Velero backups](https://github.com/cloudkite-io/terraform-modules/blob/main/modules/gcp/velero/main.tf): `modules/gcp/velero/main.tf`

### Other components

- **Terraform configuration**

## Connections

- Terraform configuration → Domain zones: invokes
- Terraform configuration → Event Hubs: invokes
- Terraform configuration → Front Door: invokes
- Terraform configuration → Networking: invokes
- Terraform configuration → Service principal: invokes
- Terraform configuration → VPN: invokes
- Terraform configuration → Organization: invokes
- Terraform configuration → Project: invokes
- Terraform configuration → VPC: invokes
- Terraform configuration → BigQuery VPC: invokes
- Terraform configuration → BigQuery: invokes
- Terraform configuration → GKE: invokes
- Terraform configuration → Cloud SQL dashboard: invokes
- Terraform configuration → Velero backups: invokes
