A software portfolio

Twelve applications, one deployment standard

An audit across a dozen repositories, then a consolidation sweep that gave every application the same deploy contract, the same port discipline, and the same observability wiring.

Situation

A portfolio of applications had grown one repository at a time. Each had its own deploy story, its own idea of configuration, and its own answer to whether anything was watching it in production.

Constraint

Nothing could be taken offline for the cleanup, and no application could be rewritten. The work had to land as small, reviewable changes on top of running code.

What we built

A read-only audit first, scoring every repository against the same checklist: does it honor the platform's port variable, does it have a container path, does it report errors, is anything measuring usage, is continuous integration actually green.

Then a sweep. A single deploy-descriptor convention adopted across the portfolio, port handling corrected where it was hardcoded, container builds added where they were missing, and error and analytics wiring standardized.

Several latent failures surfaced during the sweep rather than during an incident: build images many times larger than necessary, a generated database client missing from a production image, and continuous integration that had been quietly red.

Outcome

Every application in scope now describes its own deployment the same way, which is what makes moving one between environments a configuration change instead of a project.

The audit itself became the durable artifact: a per-application scorecard that shows, at a glance, which applications are ready to move and what each one still needs.