Skip to content

Releases: hashicorp/hcp-terraform-operator

v2.7.0

24 Oct 16:16
e76626f
Compare
Choose a tag to compare

2.7.0 (October 24, 2024)

BREAKING CHANGES:

  • Workspace: The new field, spec.deletionPolicy, is set to retain by default, which changes the previous default controller behavior when resources are deleted. The previous behavior corresponded to the force deletion policy value. This change is considered safer in cases of accidental resource deletion, planned migration, or other scenarios involving the deletion of a custom resource. [GH-470]

NOTES:

  • The AgentPool CRD has been changed. Please follow the Helm chart instructions on how to upgrade it. [GH-494]
  • The Workspace CRD has been changed. Please follow the Helm chart instructions on how to upgrade it. [GH-470] [GH-478] [GH-481]

FEATURES:

  • Helm Chart: Add a new value called controllers.project.syncPeriod to set the CLI option --project-sync-period. [GH-479]
  • Helm Chart: Add a new value called controllers.module.syncPeriod to set the CLI option --module-sync-period. [GH-480]
  • Module: Add a new CLI option called --module-sync-period to set the time interval for re-queuing Module resources once they are successfully reconciled. [GH-480]
  • Project: Add a new CLI option called --project-sync-period to set the time interval for re-queuing Project resources once they are successfully reconciled. [GH-479]
  • Workspace: Add a new field, spec.deletionPolicy, that specifies the behavior of the custom resource and its associated workspace when the custom resource is deleted. [GH-470]
  • Workspace: Add the destroy deletion policy. The spec.allowDestroyPlan must be set to true for the controller to execute a destroy run. [GH-489]

ENHANCEMENTS:

  • Helm Chart: Add the ability to configure the creation of the RBAC role and role binding. [GH-491]
  • AgentPool: Update agent token reconciliation logic to reduce the number of API calls. [GH-487]
  • AgentPool: Add the ability to configure labels and annotations for agent deployments. [GH-494]
  • Module: Update reconciliation logic to proceed to the next step immediately after the configuration version is uploaded successfully and reduce delays in output fetching. [GH-482]
  • Workspace: Update Notifications reconciliation logic to reduce the number of API calls. [GH-477]
  • Workspace: Update SSH key reconciliation logic to reduce the number of API calls. [GH-478]
  • Workspace: Update the default project ID reconciliation logic to avoid making an API call each time a workspace object is updated. [GH-481]

DEPENDENCIES:

  • Bump k8s.io/api from 0.29.4 to 0.30.3. [GH-452] [GH-466]
  • Bump k8s.io/apimachinery from 0.29.4 to 0.30.3. [GH-452] [GH-456]
  • Bump k8s.io/client-go from 0.29.4 to 0.30.3. [GH-452] [GH-466]
  • Bump sigs.k8s.io/controller-runtime from 0.17.3 to 0.18.4. [GH-452]

Community Contributors 🙌

v2.6.1

07 Aug 07:15
a2a4665
Compare
Choose a tag to compare

2.6.1 (August 07, 2024)

BUG FIXES:

  • Workspace: Fix an issue where the controller fails to update CR Status when CR gets modified during the reconciliation. [GH-457]
  • Workspace: Fix an issue where, in some circumstances, the controller cannot properly handle the deletion event. [GH-460]

ENHANCEMENTS:

  • Helm Chart: Add the ability to configure the Deployment priority class. [GH-451]

Community Contributors 🙌

v2.6.0

30 Jul 17:27
7e2d85b
Compare
Choose a tag to compare

2.6.0 (July 30, 2024)

NOTES:

  • The AgentPool CRD has been changed. Please follow the Helm chart instructions on how to upgrade it. [GH-441]

BUG FIXES:

  • Project: Fix an issue where calls to paginated API endpoints were only fetching the first page of results. [GH-426]
  • AgentPool: Fix an issue where calls to paginated API endpoints were only fetching the first page of results. [GH-426]
  • Workspace: Fix an issue where calls to paginated API endpoints were only fetching the first page of results. [GH-426]

ENHANCEMENTS:

  • Helm Chart: Add the ability to configure the service account. [GH-431]
  • AgentPool: Add the ability to configure scale-up and scale-down autoscaling times separately via the cooldown.scaleUpSeconds and cooldown.scaleDownSeconds attributes, respectively. [GH-441]

DEPENDENCIES:

  • Bump github.com/hashicorp/go-slug from 0.15.0 to 0.15.2. [GH-435]
  • Bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.19.0. [GH-415]
  • Bump github.com/onsi/gomega from 1.31.1 to 1.33.1. [GH-415]

Community Contributors 🙌

v2.5.0

09 Jul 12:00
c0f6bf1
Compare
Choose a tag to compare

2.5.0 (July 09, 2024)

NOTES:

  • In upcoming releases, we shall proceed with renaming this project to HCP Terraform Operator for Kubernetes or simply HCP Terraform Operator. This measure is necessary in response to the recent announcement of The Infrastructure Cloud. The most noticeable change you can expect in version 2.6.0 is the renaming of this repository and related resources, such as the Helm chart and Docker Hub names. Please follow the changelogs for updates.

FEATURES:

  • Helm: Add a new value called controllers.agentPool.syncPeriod to set the CLI option --agent-pool-sync-period. [GH-421]
  • AgentPool: Add a new CLI option called --agent-pool-sync-period to set the time interval for re-queuing Agent Pool resources once they are successfully reconciled. [GH-421]

ENHANCEMENTS:

  • AgentPool: Update reconciliation logic to reduce the number of API calls. The controller now reconciles custom resources after the cooldown period if applicable; otherwise, the default timer is applied. [GH-420]
  • AgentPool: The agent auroscaling logic has been updated to decrease the frequency of API calls. The controller now utilizes the List Workspaces API call with filtering based on the current run status, thereby reducing the total number of API calls needed. [GH-419]
  • Helm Chart: Add the ability to configure the security context of the Deployment pod and containers. [GH-432]

Community Contributors 🙌

v2.4.1

07 Jun 10:13
680fd3c
Compare
Choose a tag to compare

2.4.1 (June 07, 2024)

NOTES:

  • In upcoming releases, we shall proceed with renaming this project to HCP Terraform Operator for Kubernetes or simply HCP Terraform Operator. This measure is necessary in response to the recent announcement of The Infrastructure Cloud. The most noticeable change you can expect in version 2.6.0 is the renaming of this repository and related resources, such as the Helm chart and Docker Hub names. Please follow the changelogs for updates.

BUG FIXES:

  • Module: Fix an issue where the controller cannot create ConfigMap and Secret for outputs when a Module custom resource metadata.name is longer than 63 characters. This issue occurs because the controller uses the custom resource name as the value for the ModuleName label in ConfigMap and Secret. The ModuleName label has been removed." [GH-423]
  • Workspace: Fix an issue where the controller cannot create ConfigMap and Secret for outputs when a Workspace custom resource metadata.name is longer than 63 characters. This issue occurs because the controller uses the custom resource name as the value for the workspaceName label in ConfigMap and Secret. The workspaceName label has been removed. [GH-423]

DEPENDENCIES:

  • Bump github.com/hashicorp/go-tfe from 1.49.0 to 1.55.0. [GH-422]
  • Bump kube-rbac-proxy from 0.17.0 to 0.18.0. [GH-424]

Community Contributors 🙌

  • @jtdoepke made their contribution in #423
  • @nabadger for constantly providing us with a valuable feedback 🚀

v2.4.0

07 May 12:52
b3cb317
Compare
Choose a tag to compare

2.4.0 (May 07, 2024)

NOTES:

  • The Workspace CRD has been changed. Please follow the Helm chart instructions on how to upgrade it. [GH-390]
  • In upcoming releases, we shall proceed with renaming this project to HCP Terraform Operator for Kubernetes or simply HCP Terraform Operator. This measure is necessary in response to the recent announcement of The Infrastructure Cloud. The most noticeable change you can expect in version 2.6.0 is the renaming of this repository and related resources, such as the Helm chart and Docker Hub names. Please follow the changelogs for updates. [GH-393]

BUG FIXES:

  • Workspace: Fix an issue when the controller panics while accessing the default Project. [GH-394]

FEATURES:

  • Workspace: Add a new CLI option called --workspace-sync-period to set the time interval for re-queuing Workspace resources once they are successfully reconciled. [GH-391]
  • Helm: Add a new value called controllers.workspace.syncPeriod to set the CLI option --workspace-sync-period. [GH-391]

ENHANCEMENTS:

  • Workspace: Update variables reconciliation logic to reduce the number of API calls. [GH-390]

DEPENDENCIES:

  • Bump github.com/hashicorp/go-tfe from 1.47.1 to 1.49.0. [GH-378]
  • Bump kube-rbac-proxy from 0.16.0 to 0.17.0. [GH-392]
  • Bump k8s.io/api from 0.29.2 to 0.29.4. [GH-399]
  • Bump k8s.io/apimachinery from 0.29.2 to 0.29.4. [GH-399]
  • Bump k8s.io/client-go from 0.29.2 to 0.29.4. [GH-399]
  • Bump sigs.k8s.io/controller-runtime from 0.17.2 to 0.17.3. [GH-399]

v2.3.0

18 Mar 16:11
6acc28e
Compare
Choose a tag to compare

2.3.0 (March 18, 2024)

BUG FIXES:

  • Workspace: Fix an issue when the boolean attribute allowDestroyPlan, with a default value of true, is set to false but unexpectedly gets mutated back to true during creation. [GH-337]

FEATURES:

  • Workspace: Add annotations support to trigger a new run. New annotations: workspace.app.terraform.io/run-new, workspace.app.terraform.io/run-type, workspace.app.terraform.io/run-terraform-version. [GH-364]

NOTES:

  • The Workspace CRD has been changed. Please follow the Helm chart instructions on how to upgrade it. [GH-342] [GH-364]

ENHANCEMENTS:

  • Helm Chart: Add a new attribute imagePullSecrets to enable pulling the Operator images from private repositories. [GH-326]
  • Module: The output will be synchronized when the run status is either applied or planned_and_finished, whereas previously it was only applied. [GH-351]
  • Workspace: Add the ability to configure automatic speculative plan on pull requests when using Version Control via a new optional field spec.versionControl.speculativePlans. Default to true. [GH-342]
  • Workspace: The output will be synchronized when the run status is either applied or planned_and_finished, whereas previously it was only applied. [GH-345]
  • Workspace: The output will be synchronized faster and require fewer API calls. [GH-345]
  • Workspace: The status now includes the current configuration version in status.run.configurationVersion. [GH-353]
  • Workspace: The controller will reconcile the workspace more frequently during incomplete runs to synchronize outputs faster. [GH-353]
  • Operator: Add a new option --version to print out the version of the operator. [GH-365]

DEPENDENCIES:

  • Bump kube-rbac-proxy image from 0.15.0 to 0.16.0. [GH-335]
  • Bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.16.0. [GH-328] [GH-363]
  • Bump github.com/onsi/gomega from 1.29.0 to 1.31.1. [GH-328] [GH-329]
  • Bump github.com/hashicorp/go-tfe from 1.41.0 to 1.47.1. [GH-332] [GH-354] [GH-366]
  • Bump github.com/hashicorp/go-slug from 0.13.3 to 0.14.0. [GH-332] [GH-354]
  • Bump sigs.k8s.io/controller-runtime from 0.15.3 to 0.17.2. [GH-340] [GH-358]
  • Bump k8s.io/api from 0.27.8 to 0.29.1. [GH-340] [GH-356]
  • Bump k8s.io/apimachinery from 0.27.8 to 0.29.2. [GH-340] [GH-356]
  • Bump k8s.io/client-go from 0.27.8 to 0.29.2. [GH-340] [GH-356]
  • Bump go.uber.org/zap from 1.26.0 to 1.27.0. [GH-355]
  • Bump google.golang.org/protobuf from 1.31.0 to 1.33.0. [GH-367]

Community Contributors 🙌

v2.2.0

16 Jan 15:21
25c42d8
Compare
Choose a tag to compare

2.2.0 (January 16, 2024)

FEATURES:

  • Project: add a new controller Project that allows managing Terraform Cloud Projects. [GH-309].

DEPENDENCIES:

  • Bump k8s.io/api from 0.27.7 to 0.27.8. [GH-306]
  • Bump k8s.io/apimachinery from 0.27.7 to 0.27.8. [GH-306]
  • Bump k8s.io/client-go from 0.27.7 to 0.27.8. [GH-306]
  • Bump github.com/go-logr/zapr from 1.2.4 to 1.3.0. [GH-305]
  • Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.2. [GH-307]
  • Bump github.com/hashicorp/go-tfe from 1.37.0 to 1.41.0. [GH-316]
  • Bump github.com/hashicorp/go-slug from 0.12.2 to 0.13.3. [GH-316]
  • Bump github.com/go-logr/logr from 1.3.0 to 1.4.1. [GH-317]
  • Bump kube-rbac-proxy image from 0.14.4 to 0.15.0. [GH-320]

v2.1.0

27 Nov 10:50
8d510ee
Compare
Choose a tag to compare

2.1.0 (November 27, 2023)

ENHANCEMENT:

  • Workspace: Add the ability to configure the project for the workspace via a new field spec.project.[id | name]. [GH-300]

BUG FIXES:

  • Module: fix an issue when initiating foreground cascading deletion results in two destroy runs being triggered, and even after both runs are successfully executed, a module object persists in Kubernetes. [GH-301]

v2.0.0

06 Nov 09:53
887b316
Compare
Choose a tag to compare

2.0.0 (November 06, 2023)

BUG FIXES:

  • Workspace: fix an issue of properly handling special characters when generating string output. [GH-289]
  • Module: fix an issue of properly handling special characters when generating string output. [GH-289]

ENHANCEMENT:

  • Helm Chart: Add the ability to configure kube-rbac-proxy image and resources. [GH-259] [GH-271]
  • AgentPool: Add the ability to use wildcard-name searches to target workspaces for autoscaling. [GH-274]
  • AgentPool: Make targetWorkspaces field optional and default to targeting all workspaces linked to an AgentPool. [GH-274]
  • AgentPool: Tweak autoscaling to take into account Planning and Applying states when computing the replica count for agents [GH-290]
  • AgentPool: Default agent pods to have a terminationGracePeriod of 15 minutes. [GH-290]

DOCS:

DEPENDENCIES:

  • Bump sigs.k8s.io/controller-runtime from 0.15.1 to 0.15.3. [GH-258] [GH-294]
  • Bump github.com/hashicorp/go-slug from 0.12.1 to 0.12.2. [GH-261]
  • Bump k8s.io/api from 0.27.5 to 0.27.7. [GH-264] [GH-292]
  • Bump k8s.io/apimachinery from 0.27.5 to 0.27.7. [GH-264] [GH-292]
  • Bump k8s.io/client-go from 0.27.5 to 0.2776. [GH-264] [GH-292]
  • Bump kube-rbac-proxy image from 0.14.2 to 0.14.4. [GH-271] [GH-281]
  • Bump golang.org/x/net from 0.14.0 to 0.17.0. [GH-272]
  • Bump golang.org/x/sys from 0.11.0 to 0.13.0. [GH-272]
  • Bump golang.org/x/term from 0.11.0 to 0.13.0. [GH-272]
  • Bump golang.org/x/text from 0.12.0 to 0.13.0. [GH-272]
  • Bump github.com/hashicorp/go-tfe from 1.32.1 to 1.35.0. [GH-273]
  • Bump github.com/onsi/gomega from 1.28.1 to 1.29.0. [GH-291]
  • Bump github.com/go-logr/logr from 1.2.4 to 1.3.0. [GH-293]

Community Contributors 🙌