Release 3.0.0 of components repository components/opentofu.
Changelog
[!tip]
Please review the changelog carefully to make use of the latest
and greatest features and to spot any deprecations or removals
that may cause a breaking change for your specific use case.
Migrations and Breaking changes
This is a major release and contains a few amount of breaking changes.
The breaking changes are mostly the items in the Removed
section below.
We also bumped the base debian images from version 12 to 13 which
may cause breaking changes in case you relied on certain packages
or package versions in debian 12. Please consult the debian
documentation for how to migrate those.
We also bumped the available OpenTofu versions to the latest available
ones and removed support for older versions.
Added (4 changes)
- Support using TF lock file as cache key by @MalteJoe (merge request)
- Support OpenTofu version 1.7.10, 1.8.11, 1.9.3, 1.10.5
- Support
auto_delete_state
tojob-templates
template by @raphael.mauro (merge request)
- Support
no_apply_plan
andno_destroy_plan
inputs injob-templates
template by @klanger95 (merge request)
Changed (1 change)
Fixes (2 changes)
- Add missing
cache_policy
input forfetch-mr-plan
template by @dennis.greiner (merge request)
- Avoid interactive mode in state refresh during drift detection by @dennis.greiner (merge request)
Removed (5 changes)
- Drop OpenTofu version support for 1.6.3, 1.7.7, 1.7.8, 1.8.8, 1.8.9, 1.9.0, 1.9.1, 1.10.1, 1.10.3, 1.10.4
- Remove support for upper-case auto-set
TF_VAR_
variables (merge request)
- Remove support for
TF_ROOT
variable in favor ofGITLAB_TOFU_ROOT_DIR
(merge request)
- Remove support for
TF_STATE_ADDRESS
variable in favor ofGITLAB_TOFU_STATE_ADDRESS
(merge request)
- Remove support for
TF_STATE_NAME
variable in favor ofGITLAB_TOFU_STATE_NAME
(merge request)
See the CHANGELOG.md file for the entire history.
Usage
You can use the OpenTofu CI/CD component from the CI/CD catalog using:
include:
- component: gitlab.com/components/opentofu/full-pipeline@3.0.0
inputs:
opentofu_version: 1.10.5
stages: [validate, test, build, deploy, cleanup]
See the README.md for more usage examples.
Available OpenTofu versions
This release is available with the following OpenTofu versions:
Available GitLab OpenTofu images
This release deployed the following gitlab-opentofu
images:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofulatest-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofulatest-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.9.3-debian
- (digest:
sha256:e1efbe95906de39b65892aa3c94cc9c39df5061ef8f9c0d7808421e97e565517
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.9.3-alpine
- (digest:
sha256:1a62de1de2218f0eeae6ddc9fa1eddbea9b5542e21041c6e59a38282700a42d8
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.8.11-debian
- (digest:
sha256:6b5faa10cb0cd154ace18bdc489854791abb03250d36ecf094af45ffef90013c
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.8.11-alpine
- (digest:
sha256:2385a8de11c01bbfbd76a8791bf8207171f85b8721f0eda7cbfaec345e0f4c31
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.7.10-debian
- (digest:
sha256:a72bef14b552445320043036a022c6f33793fb166c17a4c0a917f1a9b2a2dca8
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.7.10-alpine
- (digest:
sha256:3a8b416fdf62676050d7ee0e7760a0495974df9fc874b9d6a73706d8b2b8ffce
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.10.5-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.10.5-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.10.0-debian
- (digest:
sha256:73a65ab2a9c4a53552b3bb38901ec1d88c11585f78591c06e8887fb680db15d6
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-opentofu1.10.0-alpine
- (digest:
sha256:4b1e8944f6d9a24528400ae0df008be8bb6ef71cdf2a29c83fd9f1efe6607da0
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:latest-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofulatest-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofulatest-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.9.3-debian
- (digest:
sha256:e1efbe95906de39b65892aa3c94cc9c39df5061ef8f9c0d7808421e97e565517
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.9.3-alpine
- (digest:
sha256:1a62de1de2218f0eeae6ddc9fa1eddbea9b5542e21041c6e59a38282700a42d8
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.8.11-debian
- (digest:
sha256:6b5faa10cb0cd154ace18bdc489854791abb03250d36ecf094af45ffef90013c
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.8.11-alpine
- (digest:
sha256:2385a8de11c01bbfbd76a8791bf8207171f85b8721f0eda7cbfaec345e0f4c31
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.7.10-debian
- (digest:
sha256:a72bef14b552445320043036a022c6f33793fb166c17a4c0a917f1a9b2a2dca8
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.7.10-alpine
- (digest:
sha256:3a8b416fdf62676050d7ee0e7760a0495974df9fc874b9d6a73706d8b2b8ffce
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.10.5-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.10.5-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.10.0-debian
- (digest:
sha256:73a65ab2a9c4a53552b3bb38901ec1d88c11585f78591c06e8887fb680db15d6
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-opentofu1.10.0-alpine
- (digest:
sha256:4b1e8944f6d9a24528400ae0df008be8bb6ef71cdf2a29c83fd9f1efe6607da0
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-debian
- (digest:
sha256:f06b2949e11aaef7663818c704a333e8d5aa1a56d56dabd5d28e58230c3b5828
)
- (digest:
registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-alpine
- (digest:
sha256:0687f4f019f99d0fa4f9677de4588ba2f6443076b5df0a5f64dfd939e387f1a2
)
- (digest:
The images are available for the following platforms:
linux/amd64
linux/arm64
And with the follow base OS images:
alpine
, usebase_os: alpine
input to use it (default).
debian
, usebase_os: debian
input to use it.
The images have been signed with cosign
and can be verified with the following command:
cosign verify \
"registry.gitlab.com/components/opentofu/gitlab-opentofu:3.0.0-alpine" \
--certificate-identity "https://gitlab.com/components/opentofu//.gitlab-ci.yml@refs/tags/3.0.0" \
--certificate-oidc-issuer "https://gitlab.com"
The image_digest
input can be used to strictly pull by the image digest.
The image_digest
input value needs to have the format of @<type>:<hash>
where <type>:<hash>
is the digest
value from the images list above.
[!note]
When using the component with the inputsversion
andopentofu_version
,
then the image tag is constructed with the following pattern:<version>-opentofu<opentofu_version>
.Read more about versioning and releases here.