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.