Advanced Features

Additional capabilities that improve automation, safety, and observability.

Variable Hierarchy

Values resolve in three layers (higher wins):

  1. Global .env (environment-level defaults).

  2. <service>.env (service-specific overrides).

  3. Template defaults (embedded in templates/<service>/.env).

Variable syntax supports ${VAR:-default} expansion inside YAML.

Dependency Management

  • Define dependencies in dependencies.yaml; the pipeline auto-injects depends_on blocks into rendered Compose.

  • Ensures services start in the correct order without manual duplication.

Agent Auto-Detection

  • meta.json stores the agent label used during deploy.

  • Deploy jobs read the metadata to reuse the last known agent, reducing manual selection errors.

UNO UI Pattern

  • Parameter forms are designed as single-page Active Choice UIs with live previews and validation to reduce misconfiguration.

Webhook Sync (GitLab)

  • Generic Webhook Trigger can sync the shared library on push.

  • Typical URL: /generic-webhook-trigger/invoke?token=SYNC-SHARED-LIB

  • Header X-Gitlab-Token must equal WEBHOOK_SECRET_EXPECTED.

  • Restrict branches/tags via regex to prevent unintended syncs.

Backup System

  • Before updates, pipelines create docker-compose.yml.backup-* on the agent.

  • Restores can be applied manually (see Environment Lifecycle).

TTL-Based Resource Reclamation

  • ttl in meta.json drives automated cleanup jobs that prune expired environments and free disk/CPU.

Registry Support

  • Works with Harbor, Docker Hub, or private registries.

  • Credentials injected via Jenkins credentials or .env; agents perform docker compose pulls.

Security Considerations

  • Use HTTPS with a reverse proxy in production.

  • Store secrets in Jenkins credentials, not in Git.

  • Limit master executors (or set to 0) to avoid running builds on the controller unless intentionally enabled.

  • Restrict webhook scopes and tokens.