Skip to content
All work
Live in production
Internal DevOps
2026

Quata Webhook

The deploy robot for nine products

The deployment robot for a nine-product portfolio — receives a GitHub push notification, deploys the right project on the server, and emails the team whether it worked.

Role

Sole developer

Client

QUATA Digital Enterprise

Status

Live in production

Year

2026

9

Products deployed

12

DB tables

2.3k

Lines — deliberately tiny

The hardest problem

A service that runs shell scripts on receipt of an HTTP request is one input-validation bug away from remote code execution on the box that hosts nine production products.

What I did about it

01

Kept deliberately tiny — the smallest surface that does the job is the smallest surface an attacker can reach.

02

Both the API and the console bind loopback-only behind nginx; neither is directly reachable.

03

Project-to-script mapping is a fixed allowlist, not a path derived from the request.

What I rejected, and why

Small enough that six commits covers it. That is the feature, not a gap.

What I’d change

One test on a service that executes deploy scripts on receipt of an HTTP request. It is deliberately tiny and loopback-only, but the one thing that genuinely deserves a test — the project-to-script allowlist — should have several.

Built with

FastAPINext.js 16systemdpm2nginx

Next case study

KS Dairy DPU

Reverse-engineering milk-collection firmware