Skip to main content
You can deploy multiple Porter apps alongside multiple Porter addons in a single porter.yaml file. This is particularly useful when you need to deploy related services that work together, such as a web application with its associated database or cache.
This feature is in development and is subject to change.

Usage

To enable this feature, set the PORTER_ADDON_YAML environment variable while running the apply command.

Example Configuration

Validating datastore addons

When your porter.yaml defines one or more addons, the CLI validates each in-cluster datastore addon (Postgres and Redis) before applying it. This surfaces common configuration mistakes locally as clear errors instead of opaque backend failures. Validation runs automatically as part of:
  • porter apply -f porter.yaml — before any addon is applied
  • porter apply validate and porter apply -f porter.yaml --validate — without applying

What is validated

For every datastore addon block, the CLI checks that: If any check fails, porter apply exits with a non-zero status and prints the failing field. No apps or addons are applied until the errors are fixed.

Example

A missing or zero field produces output similar to:
Only in-cluster Postgres and Redis datastores are validated by the CLI today. Managed datastores and custom Helm chart addons skip CLI validation and are validated server-side at apply time.