Playbook
GitLab CE Pipelines to EC2 in a Closed Network (Gitlab Ce Pipelines To Ec2 In A Closed Network)
GitLab CE Pipelines to EC2 in a Closed Network — a production lesson from an ABC Logistics backend/data platform.
Logistics Django API & Delivery
Part 3 of 8
Django analysis/API layer, contracts with MFEs, self-hosted GitLab CE → EC2 pipelines, and continuous security scanning.
GitLab CE Pipelines to EC2 in a Closed Network
Self-hosted GitLab CE runners build in a closed network and promote versioned artifacts onto EC2 hosts.
commit → runner → artifact → EC2 deploy job
SaaS GitLab varsaymayın; kapalı CE gerçekliği tasarım girdiidir.
Concepts, defined where they first appear
📦 Analysis API
Django read/analysis endpoints consumed by MFEs and the control plane.
📦 Closed Network CI
Pipelines on self-hosted GitLab CE runners inside a closed network.
📦 Artifact
Versioned deploy package shipped to EC2.
📦 Continuous Pentest
Open-source security scanning in the pipeline (ProjectDiscovery ecosystem).
Blurring these layers produces the wrong truth in analytics and on the map UI.
Shape of the problem
Self-hosted GitLab CE runners build in a closed network and promote versioned artifacts onto EC2 hosts.
commit → runner → artifact → EC2 deploy job
The split that works
SaaS GitLab varsaymayın; kapalı CE gerçekliği tasarım girdiidir.
commit → runner → artifact → EC2 deploy job
↓
explicit contract → frontend
Frontend bridge
Ops maps, wait-geofence UI, and MFEs consume these read models — they never bind to raw ERP/MySQL.
The mappings that get confused most often
❌ ERP MySQL = analytics database
✓ ERP is a write store; analytics lives in PostGIS
❌ Let the map trust public/vendor routers blindly
✓ Production needs your API/OSRM edge
❌ Log ML outputs with PII
✓ Evaluation and serving obey privacy boundaries
A checklist for auditing your own system
- Which store is source of truth for this surface?
- Which API contract does the frontend call?
- What happens if one cluster node dies?
- How is lag shown to operators?
- Deny-list: any client domain/vendor leakage?
What to take away from this part
- Polyglot stores exist for different workloads; one-DB fantasies are fragile.
- Frontends consume clean read models, not the ERP.
- ML/OSRM outputs need an API contract before they hit the map.
A beautiful map drawn from a dirty source is still a lie.
FAQ
Frequently asked questions
What is Analysis API?
Django read/analysis endpoints consumed by MFEs and the control plane.
What is Closed Network CI?
Pipelines on self-hosted GitLab CE runners inside a closed network.
Is it true that "ERP MySQL = analytics database"?
ERP is a write store; analytics lives in PostGIS
What does this part lock in?
SaaS GitLab varsaymayın; kapalı CE gerçekliği tasarım girdiidir. Self-hosted GitLab CE runners build in a closed network and promote versioned artifacts onto EC2 hosts.
Engineering Principles Learned
- Separate the operational store from the analytics store.
- Telemetry, search, and relational GIS have different access patterns.
- Every read model is a frontend contract.
Continue reading
Continue reading
Next in series
Immutable Artifacts and Rollback Discipline
Immutable Artifacts and Rollback Discipline — a production lesson from an ABC Logistics backend/data platform.
Next in series
API (Application Programming Interface) Boundaries for MFE (Module Federation) and Control Plane
API Boundaries for MFE and Control Plane — a production lesson from an ABC Logistics backend/data platform.
Same series
Continuous Penetration Testing in Delivery
Continuous Penetration Testing in Delivery — a production lesson from an ABC Logistics backend/data platform.