- scripts/lib/env.sh: modelo OOP. Env (aggregate root) compone las entidades
SystemdUnit, NginxVhost y TlsCert, más servicios estáticos (Slug, Host,
Port, Artifacts, Deps, Logger). Instancias = arrays asociativos globales
accedidos vía nameref (local -n); la composición vive en Env::new.
- deploy.sh / teardown.sh: pasan a ser entrypoints finos (~33 líneas) que
sourcean lib/env.sh. Comparten una única fuente de verdad para "qué es un
entorno", eliminando la duplicación de slugify y el regex de vhost.
- Comportamiento idéntico al procedural: heredocs de systemd/nginx son
byte-idénticos; orquestación de deploy y teardown verificados end-to-end.
Requiere bash >= 4.3 (namerefs), ya cubierto en el host runner.