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]
- @vadim-kubasov made their contribution in hashicorp#451
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 thecooldown.scaleUpSeconds
andcooldown.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]
- @frgray made their contribution in hashicorp#431
- @jtdoepke made their contribution in hashicorp#426
- @omelnyk1 for sharing his Helm expertise and valuable feedback 🚀
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 calledcontrollers.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]
- @vadim-kubasov made their contribution in hashicorp#432
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 resourcemetadata.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. TheModuleName
label has been removed." [GH-423]Workspace
: Fix an issue where the controller cannot create ConfigMap and Secret for outputs when a Workspace custom resourcemetadata.name
is longer than 63 characters. This issue occurs because the controller uses the custom resource name as the value for theworkspaceName
label in ConfigMap and Secret. TheworkspaceName
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]
- @jtdoepke made their contribution in hashicorp#423
- @nabadger for constantly providing us with a valuable feedback 🚀
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 calledcontrollers.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]
BUG FIXES:
Workspace
: Fix an issue when the boolean attributeallowDestroyPlan
, with a default value oftrue
, is set tofalse
but unexpectedly gets mutated back totrue
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 attributeimagePullSecrets
to enable pulling the Operator images from private repositories. [GH-326]Module
: The output will be synchronized when the run status is eitherapplied
orplanned_and_finished
, whereas previously it was onlyapplied
. [GH-351]Workspace
: Add the ability to configure automatic speculative plan on pull requests when using Version Control via a new optional fieldspec.versionControl.speculativePlans
. Default totrue
. [GH-342]Workspace
: The output will be synchronized when the run status is eitherapplied
orplanned_and_finished
, whereas previously it was onlyapplied
. [GH-345]Workspace
: The output will be synchronized faster and require fewer API calls. [GH-345]Workspace
: Thestatus
now includes the current configuration version instatus.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]
- @bFekete made their contribution in hashicorp#326
FEATURES:
Project
: add a new controllerProject
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]
ENHANCEMENT:
Workspace
: Add the ability to configure the project for the workspace via a new fieldspec.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]
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 configurekube-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
: MaketargetWorkspaces
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 aterminationGracePeriod
of 15 minutes. [GH-290]
DOCS:
- Update FAQ. [GH-271]
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.27.7. [GH-264] [GH-292] - Bump
kube-rbac-proxy
image from0.14.2
to0.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]
- @kieranbrown made their contribution in hashicorp#259
- @KamalAman for constantly providing us with a valuable feedback 🚀
BUG FIXES:
AgentPool
: fix an issue whenplan_queued
andapply_queued
statuses do not trigger agent scaling. [GH-215]Helm Chart
: fix an issue with the Deployment template in the Helm chart wherename
in pathspec.template.spec.containers[0]
was duplicated. [GH-216]Workspace
: fix an issue when the Operator panics whenspec.executionMode
is configured asagent
butspec.agentPool
is not set which is mandatory in this case. [GH-242]Workspace
: fix an issue when a new Workspace is successfully created, but itsstatus.WorkspaceID
status fails to update with a new Workspace ID due to an error during subsequent reconciliation. Consequently, the Workspace controller continuously encounters failures while attempting to reconcile the newly created Workspace. [GH-234]
ENHANCEMENT:
Operator
: Add the ability to skip TLS certificate validation for communication between the Operator and the TFC/E endpoint. A new environment variableTFC_TLS_SKIP_VERIFY
should be set totrue
to skip the validation. Default:false
. [GH-222]Helm Chart
: Add a new parameteroperator.skipTLSVerify
to configure the ability to skip TLS certificate validation for communication between the Operator and the TFC/E endpoint. Default:false
. [GH-222]Workspace
: Addspec.Tags
validation to align with the TFC requirement. [GH-234]
DEPENDENCIES:
- Bump
github.com/hashicorp/go-tfe
from 1.29.0 to 1.32.1. [GH-218] [GH-247] - Bump
github.com/hashicorp/go-slug
from 0.11.1 to 0.12.1. [GH-219] [GH-247] - Bump
github.com/onsi/gomega
from 1.27.8 to 1.27.10. [GH-247] - Bump
go.uber.org/zap
from 1.24.0 to 1.25.0. [GH-247] - Bump
k8s.io/api
from 0.27.3 to 0.27.5. [GH-247] [GH-252] - Bump
k8s.io/apimachinery
from 0.27.3 to 0.27.5. [GH-247] [GH-252] - Bump
k8s.io/client-go
from 0.27.3 to 0.27.5. [GH-247] [GH-252] - Bump
sigs.k8s.io/controller-runtime
from 0.15.0 to 0.15.1. [GH-247] - Bump
kube-rbac-proxy
image from0.13.1
to0.14.2
. [GH-251] - Bump
github.com/onsi/ginkgo/v2
from 2.11.0 to 2.12.0. [GH-254]
NOTES:
Helm Chart
: the Helm chart version is synced to the Terraform Cloud Operator version. [GH-204]
BUG FIXES:
Operator
: fix an issue when the operator couldn't be run on theamd64
platform. [GH-203]
ENHANCEMENT:
Helm Chart
:operator.image.tag
defaults to.Chart.AppVersion
. [GH-204]Workspace
: add event filtering to reduce the number of unnecessary reconciliations. [GH-194]AgentPool
: addautoscaling
field to allow configuration of a basic autoscaler for agent deployments based on pending runs. [GH-198]Workspace
: add Terraform version utilized in the Workspace to the status:status.TerraformVersion
. [GH-206]
DOCS:
- Update FAQ. [GH-206]
DEPENDENCIES:
- Bump
k8s.io/api
from 0.27.2 to 0.27.3. [GH-195] - Bump
k8s.io/apimachinery
from 0.27.2 to 0.27.3. [GH-195] - Bump
k8s.io/client-go
from 0.27.2 to 0.27.3. [GH-195] - Bump
github.com/onsi/ginkgo/v2
from 2.9.5 to 2.11.0. [GH-197] - Bump
github.com/onsi/gomega
from 1.27.7 to 1.27.8. [GH-197] - Bump
github.com/hashicorp/go-tfe
from 1.23.0 to 1.29.0. [GH-205]
NOTES:
Operator
: the Operator no longer includes the global option--config
. [GH-185]Helm Chart
: the Helm chart no longer includes the ConfigMapmanager-config
as it has been removed. [GH-185]Helm Chart
: the Helm chart now allows configuration of custom CA bundles [GH-173]
ENHANCEMENT:
Module
: the Run now adopts the apply method of the Workspace in which it is executed. If the apply method is set to 'manual', the Run will remain on hold until it receives manual approval or rejection for the application or cancellation of the Run. [GH-170]Module
: add a new fieldspec.name
that allows modifying the name of the module that is generated by the Operator. Default:this
. [GH-172]Workspace
: mark fields.status.ObservedGeneration
,.status.UpdateAt
, and.status.runStatus.configurationVersion
as optional. [GH-186]Workspace
: add an extra validation during the reconciliation to exit if the object contains thev1
finalizerfinalizer.workspace.app.terraform.io
. [GH-186]
DEPENDENCIES:
- Bump
github.com/go-logr/zapr
from 1.2.3 to 1.2.4. [GH-185] - Bump
github.com/onsi/ginkgo/v2
from 2.9.4 to 2.9.5. [GH-185] - Bump
github.com/onsi/gomega
from 1.27.6 to 1.27.7. [GH-185] - Bump
k8s.io/api
from 0.26.3 to 0.27.2. [GH-185] - Bump
k8s.io/apimachinery
from 0.26.3 to 0.27.2. [GH-185] - Bump
k8s.io/client-go
from 0.26.3 to 0.27.2. [GH-185] - Bump
sigs.k8s.io/controller-runtime
from 0.14.6 to 0.15.0. [GH-185]
BUG FIXES:
DEPENDENCIES:
- Bump sigs.k8s.io/controller-runtime from 0.14.5 to 0.14.6 [GH-132]
ENHANCEMENT:
AgentPool
: add custom resourcespec
validation. [GH-79]AgentPool
: addagentDeployment
field to spec [GH-96]Module
: add custom resourcespec
validation. [GH-79]Workspace
: add custom resourcespec
validation. [GH-79]Workspace
: addnotifications
field to spec [GH-107]Workspace
: addrunTasks
field to spec [GH-89]
BUG FIXES:
Module
: fix an issue when custom resource fails if it refers to Workspace by ID. [GH-77]
DEPENDENCIES:
- Bump
github.com/onsi/ginkgo/v2
from 2.7.0 to 2.8.0. [GH-73] - Bump
sigs.k8s.io/controller-runtime
to 0.14.3. [GH-78]
DOCS:
- Update controllers documentation. [GH-76] [GH-79]
- Update FAQ. [GH-76]
- Update API Reference. [GH-76] [GH-79]
- Add examples. [GH-76]
FEATURES:
Operator
: add support for Terraform Enterprise endpoints via Helm chart variableoperator.tfeAddress
.
BUG FIXES:
AgentPool
: fix an issue when manually created agent tokens are not removed from Agent Pool during the reconciliation.
DOCS:
- Update documentation.
- Add FAQ.
- Reorganize documentation structure.