Overrides V2
Currently, this is a beta feature and is behind the feature flag, CDS_SERVICE_OVERRIDES_2_0
. Contact Harness Support to enable the feature.
Harness has introduced an enhanced experience for service, environment, and infrastructure overrides in Continuous Delivery (CD). A new panel, Overrides is added in the Deployments section where you can override services, environments, and infrastructures.
Overrides can be defined at project, organization, and account levels.
In Account Settings > Account Resources > Continuous Deployment, set the Enable Service Override V2 to true
for the enhanced overrides experience.
Make sure that the NG_SETTINGS
feature flag is enabled to view this setting.
Limitations
- Runtime inputs are not supported for Infrastructure Specific and Service & Infrastructure Specific variables.
Migrating to overrides V2
Currently, Harness migrates the existing override configuration to the new version using back-end APIs. The existing override scope or scope with all child scopes are migrated based on the requirement.
Harness anticipates adding a Migrate button in the UI to migrate to the new override configuration in the future.
Video demo
Override types
- Manifests
- Config Files
- Variables
- Application Settings and Connection Strings
You can override the following manifest types:
- Values YAML
- OpenShift Param
- Kustomize
- Helm Repo
- Tanzu Application Service (TAS) manifest
- TAS vars
- TAS AutoScalar
Config files are completely overridden.
Config files are a black box that can contain multiple formats and content, such as YAML, JSON, plain text, etc. Consequently, they cannot be overridden like values YAML files.
Like config files, variables are completely overridden.
You can use expressions to reference infrastructure variables. For example, <+serviceVariables.VAR_NAME>
.
You can reference service variables in your pipeline steps, values YAML, JIRA steps, and so on.
In Azure App Service configuration, App settings like Application Settings and Connection Strings can be passed as environment variables to the application code.
You can override Application Settings and Connection Strings from Global Environment overrides.
Override service, environment, and infrastructure settings
You can override one or more settings for all services, environments, and infrastructures at project, organization, and account levels.
- In Deployments, select your project, and then select Overrides.
- Select an override method:
- Global Environment
- Service Specific
- Infrastructure Specific
- Service & Infrastructure Specific
- Select New Override.
- Select a project, organization, or account-level override.
- In Override Type, select one of the following override types:
- Variable
- Manifest
- Config File
- Application Settings (applicable to Global Environment override method only)
- Connection Strings (applicable to Global Environment override method only)
- Override the setting.
Override priority
The override priority from top to bottom is:
- Infrastructure & Service Specific overrides
- Infrastructure Specific overrides
- Service Specific overrides
- Global Environment overrides
Overrides defined at project/organization/account levels have the following override priority:
- Project
- Organization
- Account