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 page, named Overrides, is added in Deployments. In Overrides, you can define overrides for 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.
For information on overrides V1, go to Services and environments basics.
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 your requirements.
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 service variables. For example, <+serviceVariables.VAR_NAME>
.
You can reference service variables in your pipeline steps, values YAML, JIRA steps, and so on.
For more information on variables, go to Built-in and custom Harness variables reference.
In Azure App Service configuration, Web App settings 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
To override one or more settings for all services, environments, and infrastructures at the project, organization, or account level, do the following.
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