# ardikabs/etc architecture

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

- Interactive diagram: https://gitdiagram.com/ardikabs/etc
- Repository: https://github.com/ardikabs/etc

## Overview

This is a personal infrastructure and operations toolbox, not a single application: it collects container images, Kubernetes deployment/provisioning manifests, Istio networking examples, and operational utilities. There is no documented end-to-end user workflow in the README. The sampled source confirms a standalone firewall simulator forwarding socket traffic to an HTTP upstream, and a resource-leaker service; wiring between the broader manifest collections is not inferred.

Main entry points: [`issues/envoy-with-dead-conn/docker-compose.yaml`](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/docker-compose.yaml) (Traffic reproduction setup), [`issues/envoy-with-dead-conn/firewall_simulator/simulator.py`](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/firewall_simulator/simulator.py) (Firewall simulator), [`issues/envoy-with-dead-conn/upstream_server/server.py`](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/upstream_server/server.py) (HTTP upstream), [`dockerfiles`](https://github.com/ardikabs/etc/tree/master/dockerfiles) (Container image catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_containers["Container images"]
  node_image_catalog["Container image catalog"]
  node_resource_leaker["Resource leaker<br/>[leaker.py]"]
end

subgraph group_kubernetes["Kubernetes operations"]
  node_cluster_provision["Cluster provisioning"]
  node_cluster_configs["Cluster configurations"]
  node_multi_tenancy["Multi-tenancy platform"]
  node_k8s_logging["Kubernetes logging"]
  node_k8s_services["Kubernetes services"]
end

subgraph group_networking["Networking examples"]
  node_istio_examples["Istio traffic examples"]
  node_nginx_examples["NGINX examples"]
  node_deployment_manifests["Traffic reproduction setup"]
end

subgraph group_utilities["Operations utilities"]
  node_vpn_tools["VPN tools"]
  node_cert_tools["Certificate tools"]
  node_health_monitor["Health monitoring"]
  node_firewall_sim["Firewall simulator<br/>[simulator.py]"]
  node_upstream["HTTP upstream<br/>[server.py]"]
end

node_engineer(("Operator"))

node_firewall_sim -->|"forwards sockets"| node_upstream
node_engineer -.->|"uses images"| node_image_catalog
node_engineer -.->|"provisions clusters"| node_cluster_provision
node_engineer -.->|"applies examples"| node_istio_examples
node_deployment_manifests -.->|"assembles scenario"| node_firewall_sim
node_deployment_manifests -.->|"assembles scenario"| node_upstream

click node_image_catalog "https://github.com/ardikabs/etc/tree/master/dockerfiles"
click node_resource_leaker "https://github.com/ardikabs/etc/blob/master/dockerfiles/resource-leaker/leaker.py"
click node_cluster_provision "https://github.com/ardikabs/etc/tree/master/kubernetes/provisioning"
click node_cluster_configs "https://github.com/ardikabs/etc/tree/master/kubernetes/clusters"
click node_multi_tenancy "https://github.com/ardikabs/etc/tree/master/kubernetes/platforms/multi-tenancy"
click node_k8s_logging "https://github.com/ardikabs/etc/tree/master/kubernetes/logging"
click node_k8s_services "https://github.com/ardikabs/etc/tree/master/kubernetes/services"
click node_istio_examples "https://github.com/ardikabs/etc/tree/master/istio"
click node_nginx_examples "https://github.com/ardikabs/etc/tree/master/networking/nginx"
click node_vpn_tools "https://github.com/ardikabs/etc/tree/master/openvpn"
click node_cert_tools "https://github.com/ardikabs/etc/tree/master/certbot"
click node_health_monitor "https://github.com/ardikabs/etc/tree/master/kubernetes/scripts/health-monitor-the-hard-way"
click node_firewall_sim "https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/firewall_simulator/simulator.py"
click node_upstream "https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/upstream_server/server.py"
click node_deployment_manifests "https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/docker-compose.yaml"

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_image_catalog,node_resource_leaker toneBlue
class node_cluster_provision,node_cluster_configs,node_multi_tenancy,node_k8s_logging,node_k8s_services toneAmber
class node_istio_examples,node_nginx_examples,node_deployment_manifests toneMint
class node_vpn_tools,node_cert_tools,node_health_monitor,node_firewall_sim,node_upstream toneRose
class node_engineer toneIndigo
```

## Components

### Container images

- [Container image catalog](https://github.com/ardikabs/etc/tree/master/dockerfiles): `dockerfiles`
- [Resource leaker](https://github.com/ardikabs/etc/blob/master/dockerfiles/resource-leaker/leaker.py): `dockerfiles/resource-leaker/leaker.py`

### Kubernetes operations

- [Cluster provisioning](https://github.com/ardikabs/etc/tree/master/kubernetes/provisioning): `kubernetes/provisioning`
- [Cluster configurations](https://github.com/ardikabs/etc/tree/master/kubernetes/clusters): `kubernetes/clusters`
- [Multi-tenancy platform](https://github.com/ardikabs/etc/tree/master/kubernetes/platforms/multi-tenancy): `kubernetes/platforms/multi-tenancy`
- [Kubernetes logging](https://github.com/ardikabs/etc/tree/master/kubernetes/logging): `kubernetes/logging`
- [Kubernetes services](https://github.com/ardikabs/etc/tree/master/kubernetes/services): `kubernetes/services`

### Networking examples

- [Istio traffic examples](https://github.com/ardikabs/etc/tree/master/istio): `istio`
- [NGINX examples](https://github.com/ardikabs/etc/tree/master/networking/nginx): `networking/nginx`
- [Traffic reproduction setup](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/docker-compose.yaml): `issues/envoy-with-dead-conn/docker-compose.yaml`

### Operations utilities

- [VPN tools](https://github.com/ardikabs/etc/tree/master/openvpn): `openvpn`
- [Certificate tools](https://github.com/ardikabs/etc/tree/master/certbot): `certbot`
- [Health monitoring](https://github.com/ardikabs/etc/tree/master/kubernetes/scripts/health-monitor-the-hard-way): `kubernetes/scripts/health-monitor-the-hard-way`
- [Firewall simulator](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/firewall_simulator/simulator.py): `issues/envoy-with-dead-conn/firewall_simulator/simulator.py`
- [HTTP upstream](https://github.com/ardikabs/etc/blob/master/issues/envoy-with-dead-conn/upstream_server/server.py): `issues/envoy-with-dead-conn/upstream_server/server.py`

### Other components

- **Operator**

## Connections

- Firewall simulator → HTTP upstream: forwards sockets
- Operator → Container image catalog: uses images
- Operator → Cluster provisioning: provisions clusters
- Operator → Istio traffic examples: applies examples
- Traffic reproduction setup → Firewall simulator: assembles scenario
- Traffic reproduction setup → HTTP upstream: assembles scenario
