# thenabeelhassan/saa-inf architecture

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

## Overview

This repository contains infrastructure-as-code and server-configuration assets: separate development and production Terraform environments, reusable network and resource-group modules, Ansible inventory and playbooks, and a Jenkins pipeline. The tree provides no README or source excerpts, so it does not establish which pipeline steps invoke Terraform or Ansible, how environments use modules, or which cloud and hosts are targeted. Those relationships are therefore omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_terraform["Terraform provisioning"]
  node_dev["Development environment"]
  node_prd["Production environment"]
  node_network["Network module"]
  node_resource_group["Resource group module"]
end

subgraph group_ansible["Server configuration"]
  node_inventory["Ansible inventory<br/>[inventory.ini]"]
  node_nginx["Nginx playbook<br/>[nginx.yml]"]
  node_patchserver["Patch server playbook<br/>[patchserver.yml]"]
end

subgraph group_automation["Pipeline automation"]
  node_jenkins["Jenkins pipeline<br/>[pipeline.groovy]"]
end

click node_dev "https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/envs/dev"
click node_prd "https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/envs/prd"
click node_network "https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/modules/network"
click node_resource_group "https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/modules/resource_group"
click node_inventory "https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/inventory.ini"
click node_nginx "https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/nginx.yml"
click node_patchserver "https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/patchserver.yml"
click node_jenkins "https://github.com/thenabeelhassan/saa-inf/blob/main/jenkins/pipeline.groovy"

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_dev,node_prd,node_network,node_resource_group toneBlue
class node_inventory,node_nginx,node_patchserver toneAmber
class node_jenkins toneMint
```

## Components

### Terraform provisioning

- [Development environment](https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/envs/dev): `terraform/envs/dev`
- [Production environment](https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/envs/prd): `terraform/envs/prd`
- [Network module](https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/modules/network): `terraform/modules/network`
- [Resource group module](https://github.com/thenabeelhassan/saa-inf/tree/main/terraform/modules/resource_group): `terraform/modules/resource_group`

### Server configuration

- [Ansible inventory](https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/inventory.ini): `ansible/inventory.ini`
- [Nginx playbook](https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/nginx.yml): `ansible/nginx.yml`
- [Patch server playbook](https://github.com/thenabeelhassan/saa-inf/blob/main/ansible/patchserver.yml): `ansible/patchserver.yml`

### Pipeline automation

- [Jenkins pipeline](https://github.com/thenabeelhassan/saa-inf/blob/main/jenkins/pipeline.groovy): `jenkins/pipeline.groovy`
