The Juju team is happy to announce that the Juju Terraform provider v0.23.0-rc1 is released on 23 September 2025!
For specific dates for testing and release for the v0.23.0, please refer to the 0.23.0 Release Planning post.
This is a release candidate, it’s not yet pushed onto the HashiCorp repository, so testing with the release candidate requires you to pull it and change the TF plan to use the local provider.
$ git checkout tags/v0.23.0-rc1
$ make install
This will install the the provider in ~/.terraform.d/plugins/registry.terraform.io/juju/juju/0.22.0/linux_amd64
.
Update your configurations to use the local candidate:
terraform {
required_providers {
juju = {
source = "registry.terraform.io/juju/juju" # (uses local provider repository)
# source = "juju/juju" (uses the Hashicorp repository)
version = "0.22.0"
}
}
}
LINKS:
NOTES:
- This release requires Juju controller version 2.9.49 or higher Juju.
- If using JAAS, this release requires Juju controller version 3.6.5 or higher.
- This release uses Juju client api code from the Juju 3.6.4 release.
ENHANCEMENTS
- Added the
secret_uri
computed field to the secret resource by @alesstimec in #850 - Waiting for model resource to be deleted before returning by @SimoneDutto in #743
- Support
null
values in model config by @SimoneDutto in #851 - Support
null
values app config by @SimoneDutto in #864 - Added custom create timeout for the machine resource by @kian99 in #868
- Issue errors instead of warnings by default on failed resource deletion by @kian99 in #877 - See the new provider config
skip_failed_deletion
to revert to the previous behavior - more information is available in the provider documentation. - Allow changing charm channel and revision together by @luci1900 in #889
BUG FIXES
- Change for the
applications
field from list to set in thejuju_access_secret
resource by @alesstimec in #848 - Change for the
users
field from list to set in thejuju_access_model
resource by @alesstimec in #849 - Fix for #267 affecting the
ssh-key
resource by @SimoneDutto in #844 - Fix for #662 by @alesstimec in #831
- Clarification of the error when reading application offers by @claudiubelu in #872
- Fix for #881 by @SimoneDutto in #890
- Fix for the offer and integration resource logic by @kian99 in #893
- Fix for finding offers based on endpoints by @SimoneDutto in #906
- Fix for #473 and #235 by @kian99 in #898
DOCUMENTATION
- Add channel and revision example and clarification to the charms by @tmihoc in #892
- Add doc on managing model migrations by @kian99 in #895
CI AND MAINTENANCE
- Added wait-for and add unit tests in CI by @SimoneDutto in #852
- Remove microk8s setup for jaas test and refactor tests by @SimoneDutto in #861
- Re-enable the machine with placement test by @alesstimec in #840
- Added a script to generate env file from switched controller by @SimoneDutto in #879
- Use concurrency in workflows by @kian99 in #894
- Added the security scan workflow by @alesstimec in #902
- Added
SECURITY.md
by @alesstimec in #904 - Added tiobe scan workflow to point to the repo where we run it by @SimoneDutto in #907