updating to match everything in my homelab.
This commit is contained in:
53
diagrams/internal-registry.mmd
Normal file
53
diagrams/internal-registry.mmd
Normal file
@@ -0,0 +1,53 @@
|
||||
```plaintext
|
||||
%% Internal Registry for CI/CD (ADR-0020)
|
||||
%% Flowchart showing dual-path for external vs internal access
|
||||
|
||||
flowchart TB
|
||||
subgraph external["🌐 External Access"]
|
||||
internet["Internet"]
|
||||
cloudflare["☁️ Cloudflare<br/>⚠️ 100MB upload limit"]
|
||||
external_url["git.daviestechlabs.io"]
|
||||
end
|
||||
|
||||
subgraph internal["🏠 Internal Access"]
|
||||
internal_url["registry.lab.daviestechlabs.io<br/>✅ No upload limits"]
|
||||
end
|
||||
|
||||
subgraph gitea["📦 Gitea Instance"]
|
||||
direction TB
|
||||
git_server["Git Server"]
|
||||
docker_registry["Docker Registry"]
|
||||
pypi_registry["PyPI Registry"]
|
||||
end
|
||||
|
||||
subgraph runners["🏃 CI/CD Runners"]
|
||||
gitea_runner["Gitea Actions Runner<br/>(in-cluster)"]
|
||||
end
|
||||
|
||||
subgraph operations["📋 Operations"]
|
||||
small_ops["Small Operations<br/>• git clone/push<br/>• pip install<br/>• docker pull"]
|
||||
large_ops["Large Uploads<br/>• docker push (20GB+)<br/>• pypi upload"]
|
||||
end
|
||||
|
||||
%% External path (limited)
|
||||
internet --> cloudflare
|
||||
cloudflare -->|"100MB limit"| external_url
|
||||
external_url --> gitea
|
||||
small_ops --> cloudflare
|
||||
|
||||
%% Internal path (unlimited)
|
||||
gitea_runner -->|"Direct"| internal_url
|
||||
internal_url --> gitea
|
||||
large_ops --> internal_url
|
||||
|
||||
classDef external fill:#e74c3c,color:white
|
||||
classDef internal fill:#27ae60,color:white
|
||||
classDef gitea fill:#f39c12,color:black
|
||||
classDef runner fill:#3498db,color:white
|
||||
|
||||
class internet,cloudflare,external_url external
|
||||
class internal_url internal
|
||||
class git_server,docker_registry,pypi_registry gitea
|
||||
class gitea_runner runner
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user