We have an account-level pipeline template used by many repos.
That pipeline template is composed of multiple step group templates (for example: curate inputs, initialize pipeline, centralized selector, pants/native test/build groups, GraphQL groups).
Consumer repos define a linked pipeline.yaml and pass templateInputs.variables only for values they explicitly want to override.
Our goal is:
Keep consumer pipeline.yaml files lean (only intentional overrides).
Let template defaults apply when variables are omitted.
Still allow per-pipeline overrides later by adding a variable in the consumer pipeline.
Avoid reconciliation repeatedly adding/injecting many defaulted fields into consumer YAML.
What we observed in testing:
If template variable is fixed literal:
Omit from consumer: works (template default applies).
Add in consumer as override: not allowed / reconciled away (expected, since not an input contract).
If template variable is set with <+input>.default(...).executionInput():
Override works.
But reconciliation materializes those runtime-input fields in linked pipelines, which makes consumer YAML less lean.
We are looking for a better way to override these template variables without having to constantly reconcile the entities calling the templates.
Created by austin.thao
·