product:up
Start the active product and all its declared features using Docker Compose.
Development environment
Start (dev)
splent product:up --dev
Uses, in order:
docker-compose.dev.yml(preferred)docker-compose.yml(fallback)
Production environment
Start (prod)
splent product:up --prod
Uses, in order:
docker-compose.prod.yml(preferred)docker-compose.yml(fallback)
Description
This command:
- Reads the declared features from the active product
pyproject.toml. - Resolves the UVL dependency order for all declared features.
- Launches each feature’s Docker Compose stack in UVL dependency order from:
<workspace>/.splent_cache/features/<feature>/docker/
- After each feature launch, waits for its health checks to pass before starting the next feature. This ensures that dependent services (e.g., a mail feature that depends on redis) only start once their dependencies are healthy.
- Launches the product Docker Compose stack last from:
<workspace>/<product>/docker/
Each stack is started with docker compose up -d using an isolated compose project name derived from the component name and the environment. If a service does not define a health check, it is considered ready immediately after container creation.
Progress is shown per service as it launches:
⏳ redis ✓
⏳ nginx waiting... ✓
⏳ my_first_app ✓
A ✓ means the service started (and is healthy, if it declares a health check). A ✗ means the service failed to start — error details are printed inline and the pipeline is aborted before launching the product.
Requirements
- A product must be selected (
SPLENT_APPset). - The product must contain
pyproject.toml. - Each component (feature/product) must provide a Docker Compose file under its
docker/directory.