Schema overview
Understand the lifecycle.yaml configuration file and its structure.
Lifecycle reads its configuration from the repository root. The supported filenames are:
lifecycle.yaml(recommended)lifecycle.yml.lifecycle.yaml.lifecycle.yml
Keep only one supported file in each repository. If the repository has multiple files, Lifecycle does not guarantee which file it selects.
File structure
A lifecycle.yaml file has three primary sections:
| Section | Description |
|---|---|
version | Schema version. Use "1.0.0" |
environment | Controls deployment behavior, service grouping, and webhooks |
services | Array of service definitions with their configurations |
Service types
Each entry in services must have one Service type only. Select the type for
your deployment.
| Service type | Purpose |
|---|---|
| github | Source build and deployment from a GitHub repository |
| docker | Deploy pre-built Docker images, such as databases and caches |
| helm | Deploy using Helm charts (local or remote) |
| codefresh | Trigger external Codefresh pipelines for deployment |
| externalHttp | Use an existing internal and public HTTP endpoint |
| auroraRestore | Restore AWS Aurora database snapshots |
| configuration | Provide shared values without a workload |
Select a Service type
Shared Service fields
These fields sit directly on each services[] entry with its Service type:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Service name used by references and template keys |
appShort | string | No | Short application identifier |
defaultUUID | string | No | Static Environment fallback for an unselected service |
ignoreFiles | string[] | No | Service-specific push-redeploy ignore patterns |
requires | object[] | No | Services to include with this service |
deploymentDependsOn | string[] | No | Selected services that must deploy first |
requires controls inclusion. deploymentDependsOn controls order. See
Service Dependencies.
External HTTP Service
Use externalHttp for an endpoint that Lifecycle does not build or deploy:
The two endpoint fields are necessary. Lifecycle marks this Service ready without a source build. It makes the resolved URLs available to template variables.
Minimal example
Use this minimal lifecycle.yaml for one Service:
Expanded example
An expanded example with multiple Service types:
Template variables
Use template variables in your configuration. For example, {{api_publicUrl}}
and {{database_internalHostname}} supply dynamic values from other Services.
See Template variables for the full list and examples.
Related pages
- Environment Configuration - Configure deployment behavior and service grouping
- Webhooks - Automate actions on deployment events
- GitHub Service - Source build and deployment
- Docker Service - Deploy pre-built images
- Helm Service - Deploy with Helm charts