Skip to content

Feature docs for declarative rollback #10612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/continuous-delivery/cd-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,5 @@ To enable a feature flag in your Harness account, contact [Harness Support](mail
| CDS_OPTIONAL_VALUES_YAML | When enabled, ​users can utilize an optional checkbox for Kubernetes and Helm deployment types while configuring manifest and overrides. **This is a Beta feature**. |
| CDS_SNOW_IMPROVE_CONSOLE_LOGS | When enabled, ​users can see improved log messages in ServiceNow Approval that enhances clarity and helps in debugging **This is a Beta feature**. |
| CDS_DEPLOYMENT_FREEZE_GRANULAR_RBAC | When enabled, users can manage Deployment Freeze Windows with granularity based on Environment Types, allowing for more fine-tuned control over deployment windows. **This is a Beta feature**. |
| CDS_INCLUDE_EMPTY_VALUE | When enabled, this will allow empty values to be accepted as an allowed value for runtime inputs. **This is a Beta feature**. |
| CDS_INCLUDE_EMPTY_VALUE | When enabled, this will allow empty values to be accepted as an allowed value for runtime inputs. **This is a Beta feature**. |
| CDS_MANIFEST_HASH_WITH_DECLARATIVE_ROLLBACK | When enabled, this flag enables declarative rollback for changes to solely ConfigMap and Secret object changes. **This is a Beta feature** |
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,27 @@ The **Skip Resource Versioning** option is disabled automatically.
- Previous successful release Secret.
- One more previous release Secret.

### ConfigMap and Secret object rollback

Sure! Here's a feature block styled to match the tone and structure commonly used in [developer.harness.io](https://developer.harness.io):

---

### Rollback Support for ConfigMap and Secret Changes

By default, Kubernetes does not restart pods when only ConfigMap or Secret objects are updated. As a result, declarative rollbacks that involve changes to these objects may not take effect as expected.

Enable the `CDS_MANIFEST_HASH_WITH_DECLARATIVE_ROLLBACK` feature flag to ensure ConfigMap and Secret changes are correctly rolled back. When enabled, Harness will:

* Generate a hash for ConfigMap and Secret objects during deployment.
* Compare the current hash with the previous version during rollback.
* Trigger a pod restart if the hash differs, ensuring that the rolled-back configuration is applied.

This feature enhances rollback fidelity by ensuring pod restarts reflect all manifest changes, including non-restart-triggering objects like ConfigMaps and Secrets.

To enable the feature flag, contact [Harness Support](mailto:support@harness.io)


### Canary and blue green deployments

For canary and blue green deployments, Harness appends ConfigMaps and Secrets present in your manifests with suffixes. This is to differentiate them from the ConfigMaps and Secrets in already running, production manifests.
Expand Down
2 changes: 1 addition & 1 deletion release-notes/continuous-delivery.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ For more information on GCR, see the [Harness GCR Documentation](/docs/continuou
| **Provisioners** | CloudFormation provisioner, CDK provisioner, Terraform Cloud provisioner, Terragrunt provisioner |
| **Manifest & Artifact Sources** | AMI Artifact, ECR Artifact, S3 Artifact, S3 Manifest |

- Harness now supports **hashing of config-map and secret manifests for Kubernetes workloads under declarative rollback**, ensuring that updates to consumed configmaps or secrets trigger a redeployment even when the deployment spec itself hasn’t changed. Currently, this feature is behind the feature flag `CDS_MANIFEST_HASH_WITH_DECLARATIVE_ROLLBACK`. Contact [Harness Support](mailto:support@harness.io) to enable the feature. (**CDS-83583, ZD-73074,75453**)
- Harness now supports [**hashing of config-map and secret manifests for Kubernetes workloads under declarative rollback**](/docs/continuous-delivery/deploy-srv-diff-platforms/kubernetes/cd-k8s-ref/kubernetes-rollback#configmap-and-secret-object-rollback), ensuring that updates to consumed configmaps or secrets trigger a redeployment even when the deployment spec itself hasn’t changed. Currently, this feature is behind the feature flag `CDS_MANIFEST_HASH_WITH_DECLARATIVE_ROLLBACK`. Contact [Harness Support](mailto:support@harness.io) to enable the feature. (**CDS-83583, ZD-73074,75453**)

- Harness now supports [**Project-Level Pipeline Execution Concurrency**](/docs/platform/pipelines/pipeline-settings/#project-level-pipeline-execution-concurrency), where users can split their account-wide concurrency into High-Priority and Low-Priority partitions—reserving slots for critical projects. Currently, this feature is behind the feature flag `PIPE_PROJECT_LEVEL_EXECUTION_CONCURRENCY`. Contact [Harness Support](mailto:support@harness.io) to enable the feature. (**PIPE-15840**)

Expand Down