# shorthairedpunk/devops-templates architecture

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

- Interactive diagram: https://gitdiagram.com/shorthairedpunk/devops-templates
- Repository: https://github.com/shorthairedpunk/devops-templates

## Overview

This repository is a collection of DevOps templates, not one integrated application. Its documented product includes Node.js and Django container samples; the tree also includes Kubernetes deployment/scale/update manifests and an AWS CloudFormation LAMP autoscaling template. The sampled Node.js server handles a root request with a fixed response, while the Django URL configuration exposes the admin route. Compose and infrastructure details are represented conservatively because their contents were not sampled; notably, the Django settings excerpt names SQLite despite the template’s PostgreSQL label.

Main entry points: [`Django-PostgreSQL-app/composeexample/wsgi.py`](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/wsgi.py) (Django WSGI), [`nodejs-sample-app/server.js`](https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/server.js) (Express server), [`Django-PostgreSQL-app/composeexample/urls.py`](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/urls.py) (Admin routing), [`Django-PostgreSQL-app/composeexample/settings.py`](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/settings.py) (Django settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_samples["Sample applications"]
  node_node_server["Express server<br/>[server.js]"]
  node_node_response["Root response<br/>[server.js]"]
  node_django_wsgi["Django WSGI<br/>[wsgi.py]"]
  node_django_urls["Admin routing<br/>[urls.py]"]
  node_django_settings["Django settings<br/>[settings.py]"]
end

subgraph group_containers["Container templates"]
  node_node_dockerfile["Node container"]
  node_django_dockerfile["Django container"]
  node_compose["Compose template<br/>[docker-compose.yml]"]
end

subgraph group_kubernetes["Kubernetes templates"]
  node_k8s_deploy["Deployment template<br/>[deployment.yaml]"]
  node_k8s_update["Update template"]
  node_k8s_scale["Scale template"]
end

subgraph group_aws["AWS templates"]
  node_cloudformation["LAMP autoscaling"]
end

node_user(("HTTP client"))
node_deployer(("Template user"))

node_user -->|"sends request"| node_node_server
node_node_server -->|"sends response"| node_node_response
node_user -->|"sends request"| node_django_wsgi
node_django_wsgi -->|"loads configuration"| node_django_settings
node_django_wsgi -->|"routes request"| node_django_urls
node_deployer -->|"uses template"| node_compose
node_deployer -->|"applies template"| node_k8s_deploy
node_deployer -->|"uses template"| node_k8s_update
node_deployer -->|"uses template"| node_k8s_scale
node_deployer -->|"uses template"| node_cloudformation

click node_node_server "https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/server.js"
click node_node_response "https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/server.js"
click node_django_wsgi "https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/wsgi.py"
click node_django_urls "https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/urls.py"
click node_django_settings "https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/settings.py"
click node_node_dockerfile "https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/Dockerfile"
click node_django_dockerfile "https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/Dockerfile"
click node_compose "https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/docker-compose.yml"
click node_k8s_deploy "https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment.yaml"
click node_k8s_update "https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment-update.yaml"
click node_k8s_scale "https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment-scale.yaml"
click node_cloudformation "https://github.com/shorthairedpunk/devops-templates/blob/master/cloudformation/lamp-autoscaling.template"

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_node_server,node_node_response,node_django_wsgi,node_django_urls,node_django_settings,node_user,node_deployer toneBlue
class node_node_dockerfile,node_django_dockerfile,node_compose toneAmber
class node_k8s_deploy,node_k8s_update,node_k8s_scale toneMint
class node_cloudformation toneRose
```

## Components

### Sample applications

- [Express server](https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/server.js): `nodejs-sample-app/server.js`
- [Root response](https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/server.js): `nodejs-sample-app/server.js`
- [Django WSGI](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/wsgi.py): `Django-PostgreSQL-app/composeexample/wsgi.py`
- [Admin routing](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/urls.py): `Django-PostgreSQL-app/composeexample/urls.py`
- [Django settings](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/composeexample/settings.py): `Django-PostgreSQL-app/composeexample/settings.py`

### Container templates

- [Node container](https://github.com/shorthairedpunk/devops-templates/blob/master/nodejs-sample-app/Dockerfile): `nodejs-sample-app/Dockerfile`
- [Django container](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/Dockerfile): `Django-PostgreSQL-app/Dockerfile`
- [Compose template](https://github.com/shorthairedpunk/devops-templates/blob/master/Django-PostgreSQL-app/docker-compose.yml): `Django-PostgreSQL-app/docker-compose.yml`

### Kubernetes templates

- [Deployment template](https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment.yaml): `kubernetes-deployment/deployment.yaml`
- [Update template](https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment-update.yaml): `kubernetes-deployment/deployment-update.yaml`
- [Scale template](https://github.com/shorthairedpunk/devops-templates/blob/master/kubernetes-deployment/deployment-scale.yaml): `kubernetes-deployment/deployment-scale.yaml`

### AWS templates

- [LAMP autoscaling](https://github.com/shorthairedpunk/devops-templates/blob/master/cloudformation/lamp-autoscaling.template): `cloudformation/lamp-autoscaling.template`

### Other components

- **HTTP client**
- **Template user**

## Connections

- HTTP client → Express server: sends request
- Express server → Root response: sends response
- HTTP client → Django WSGI: sends request
- Django WSGI → Django settings: loads configuration
- Django WSGI → Admin routing: routes request
- Template user → Compose template: uses template
- Template user → Deployment template: applies template
- Template user → Update template: uses template
- Template user → Scale template: uses template
- Template user → LAMP autoscaling: uses template
