feat(v2/app): Add application lifecycle coordinator with component registry
Context
Part of the LabKit v2 package decomposition from the UAM PoC (!314).
Tracking issue: gitlab-org/quality/quality-engineering/team-tasks#4286 (closed) Parent epic: gitlab-org/quality#360
What's in this MR?
-
v2/apppackage: central application lifecycle coordinator- Pluggable
Componentinterface (Start(ctx) error+Shutdown(ctx) error) - Ordered startup, reverse-ordered graceful shutdown
- Threads shared logger and tracer to all registered components
-
NewForTestingconstructor for in-process test doubles
- Pluggable
-
v2/testing/apptestpackage: test helper that creates a pre-configuredAppwith in-memory logger and trace recorder
Dependencies
Depends on already-merged v2/log and v2/trace packages.
Related
- gitlab-org/quality/quality-engineering/team-tasks#4293 (follow-up: graceful degradation on startup for non-critical components)
Edited by Doug Barrett