Bumped version for dev.
LEGO UPDATE:
lego has been updated to v4.21.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This update contains a fix for CVE-2024-45338. No other changes are being made. #462
This update contains a fix for CVE-2024-45337.
Note that this update is being made proactively and not in response to any known security issue.
No other changes are being made.
LEGO UPDATE:
lego has been updated to v4.20.4 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.20.2 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.19.2 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
SECURITY:
This update also contains a fix for CVE-2024-51744 (low severity). This affects indirect dependencies within lego itself, but has been rolled into this update ahead of a lego release to address security alerts. #446
LEGO UPDATE:
lego has been updated to v4.18.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
FEATURES:
resource/acme_certificate
: Updated thecertificate_p12
field to use modern encryption. Note that this means the field may no longer be readable by (much older) versions of OpenSSL or other encryption software and libraries. #427
BUG FIXES:
resource/acme_registration
: Fixed an issue where registrations were erroneously being re-created when being upgraded from 2.23.2 or earlier, due to a lack of state migration for the newaccount_key_algorithm
,account_key_ecdsa_curve
, andaccount_key_rsa_bits
settings. #425
This is a documentation-only fix for the acme_server_url
data source. No
other changes are being made.
FEATURES:
resource/acme_registration
:account_key_pem
no longer needs to be supplied externally. If not supplied, the key will be created within the resource itself according to the settings inaccount_key_algorithm
,account_key_ecdsa_curve
, andaccount_key_rsa_bits
. #423resource/acme_certificate
: Added thecertificate_serial
attribute to show the certificate serial number in state. #421
BUG FIXES:
resource/acme_certificate
: Fixed an issue where sequential DNS providers were not being executed sequentially. #420
This release covers 2.23.0 as well, which did not release due to build configuration issues. Refer to that version for specific release notes there.
LEGO UPDATE:
lego has been updated to v4.17.4 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
SECURITY UPDATES:
- The Azure Identity component of the Azure SDK (used by the
azuredns
DNS provider) has been updated to 1.6.0 in response to CVE-2024-35255. #416
FEATURES:
- The provider now supports PKCS8 private keys. #408
data/server_url
: New data source added to read the configured CA server URL. #413
BUG FIXES:
resource/acme_registration
: The resource now recognizes 401 as a registration being gone in addition to 403. #396
LEGO UPDATE:
lego has been updated to v4.17.3 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.16.1 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This is a re-release to address the expired Terraform registry key due with release issues with key ID 1D9DFB214E18E085. The new key ID is 974239543C576C78. No other changes are being made.
This is a release to address the expired Terraform registry key (key ID F282F2CFA56C3D69). The new key ID is 1D9DFB214E18E085. No other changes are being made.
LEGO UPDATE:
lego has been updated to v4.15.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BUG FIXES:
resource/acme_registration
: Fixed a situation where certain errors during creation of the resource may result in "inconsistent result after apply" in Terraform instead of the actual error. #375
FEATURES:
resource/acme_certificate
: Added the ability to specify a revocation reason. #364
FEATURES:
resource/acme_certificate
: Added thecert_timeout
option to control the timeout of HTTP requests used to obtain the certificate after challenges are complete. #349
LEGO UPDATE:
lego has been updated to v4.14.2 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
FEATURES:
resource/acme_certificate
:azuredns
DNS provider now has the same environment variable aliasing as the oldazure
provider. #342
LEGO UPDATE:
lego has been updated to v4.14.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
FEATURES:
resource/acme_certificate
: New HTTP challenge typehttp_s3_challenge
, which will allow publishing HTTP challenge records to an S3 bucket. #330
This change is being made to correct build issues. No other changes are being made.
LEGO UPDATE:
lego has been updated to v4.13.3 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.12.2 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This lego update contains a critical fix to the dnsmadeeasy
DNS provider,
ensuring that it does not delete all records in a zone during cleanup.
go-acme/lego#1939
This update is a full release of 2.15.0-beta1,
including the lego update and the bug fix for the recursive_nameservers
setting. See that release for more details.
LEGO UPDATE:
lego has been updated to v4.12.1 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BUG FIXES:
resource/acme_certificate
: DNS plugins should now respect the setting ofrecursive_nameservers
again. #316
LEGO UPDATE:
lego has been updated to v4.11.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This is a security fix to address CVE-2022-41723. No other changes have been made.
This update is a full release of 2.13.0-beta1 and 2.13.0-beta2, including the new DNS provider plugin system, and lego v4.10.0. See those releases for more details.
BUG FIXES:
resource/acme_certificate
: New DNS providers and documentation for v4.10.0 should now be properly generated.
LEGO UPDATE:
lego has been updated to v4.10.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BUG FIXES:
resource/acme_certificate
: The new DNS plugin system now implements challenge provider timeouts properly. #277
NEW DNS PLUGIN SYSTEM
This update moves DNS providers for the acme_certificate
resource into a
go-plugin backed sub-plugin built into
the provider. One provider is executed for each instance of a DNS provider
supplied in acme_certificate
, each with its own environment. This fixes a
long-running issue where the environment variables set in the config
parameter
of one provider in one resource would overwrite the settings of another resource
with different config settings for the same DNS provider. See
#235 and
#276 for more
details.
LEGO UPDATE:
lego has been updated to v4.9.1 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This update is a bugfix to correct the fact that the provider was not fully synced with the lego updates when 2.11.0 was released. No other changes were made.
LEGO UPDATE:
lego has been updated to v4.9.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
FEATURES:
resource/acme_certificate
: Added thecertificate_not_after
attribute to show the certificate expiry date in state. #264
LEGO UPDATE:
lego has been updated to v4.8.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.7.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
LEGO UPDATE:
lego has been updated to v4.6.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
This is a patch version bump to build with the latest version of Go to address CVE-2021-44716.
Note that this update is being made proactively and not in response to any known
security issue. The ACME provider would normally only use net/http
in HTTP
challenges.
No other changes are being made.
FEATURES:
resource/acme_certificate
: New flagrevoke_certificate_on_destroy
to control if certificates are revoked on destroy. Default istrue
, keeping with existing behaviour. #192
LEGO UPDATE:
lego has been updated to v4.5.3 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BUG FIXES:
resource/acme_certificate
: Corrected an issue wherepreferred_chain
was not working for certificates that used an external CSR. #199
This is another re-issue of v2.5.0 due to a goreleaser config issue. No other changes have been made.
This is a re-issue of 2.5.0 without freebsd/arm support, which has been suspended due to build issues for the time being. No other changes have been made.
LEGO UPDATE:
lego has been updated to v4.4.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
FEATURES:
resource/acme_certificate
: The resource now supports HTTP-01 and TLS-ALPN-01 challenges again. These are done through thehttp_challenge
,http_webroot_challenge
,http_memcached_challenge
, andtls_challenge
challenge types. It is still recommended that you use DNS challenges whenever possible. See the documentation for more details. #169
FEATURES:
resource/acme_certificate
: Added thepreferred_chain
option to allow for the selection of alternate certificate chains offered by the CA. #161
LEGO UPDATE:
lego has been updated to v4.3.1 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BUG FIXES:
resource/acme_certificate
: The resource no longer always expects two certificates (ie: a single intermediate certificate). All intermediate certificates are now concatenated inissuer_pem
. Thecertificate_p12
should contain all issuer certificates as well. #154
This is a simple version bump to fix documentation on the Terraform Registry. No changes are being made.
LEGO UPDATE:
lego has been updated to v4.2.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
BREAKING CHANGES:
resource/acme_certificate
: The resource ID is now a state-local UUID, not the same ascertificate_url
. This is to prevent drift issues during renewal. If you need the URL for the current version of the certificate, use thecertificate_url
field. #103
FEATURES:
resource/acme_certificate
: Added thepre_check_delay
option to allow for the insertion of delays in DNS challenges. This should help with DNS propagation issues with certain providers. #111resource/acme_certificate
: The domain defined in thecommon_name
field can now be specified insubject_alternative_names
. This is a strictly semantic change as the CN is already included in the SAN list of issued certificates. #90
This is (yet another) simple version bump to attempt to fix documentation on the Terraform Registry. No changes are being made.
This is (another) simple version bump to attempt to fix documentation on the Terraform Registry. No changes are being made.
This is a simple version bump to attempt to fix documentation on the Terraform Registry. No changes are being made.
LEGO UPDATE:
lego has been updated to v4.1.3 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library.
GENERAL NOTIFICATIONS:
- Testing of the provider has moved to use
pebble exclusively. Tests for some
features that are not explicitly supported by pebble or were otherwise tested
manually have been removed. See
907de66
for more details. - Support for Terraform 0.11 has been dropped. The provider is now only available on the Terraform registry.
FEATURES:
resource/acme_registration
: Added support for external account binding. This allows registrations to be linked to external accounts, commonly used by commercial CAs.resource/acme_certificate
: Added thedisable_complete_propagation
option, which allows one to disable the propagation pre-check before attempting to complete the DNS challenge. Enabling this is only recommended for testing.
LEGO UPDATE:
lego has been updated to v3.1.0 See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library. (#92)
LEGO UPDATE:
lego has been updated to v3.0.0 (from v2.5.0 in provider version 1.2.0). See the lego CHANGELOG.md for more details on additions and changes to DNS providers, and other minor changes to the library. (#82)
Starting with this release, all DNS providers and documentation for the DNS providers will be auto-generated, so the lego CHANGELOG will be the place to look for lego-specific changes in the future.
BUG FIXES:
resource/acme_certificate
: When renewing certificate, private keys and CSRs will now only be set if they are present in the state. This may correct some library-related issues during the renewal process. (#84)resource/acme_registration
: Unknown or deactivated registrations will now be removed from state on refresh. (#85)
BUG FIXES:
resource/acme_certificate
: Expired certificates flagged for renewal will now properly renew on the nextterraform apply
on Terraform 0.12.0 and higher. (#77)
BUG FIXES:
resource/acme_certificate
: All computed attributes associated with a certificate are now marked for re-generation when a certificate needs to be renewed. While this was previously happening in reality, this was not being reflected in the plan. (#64)
This update is a Terraform 0.12 support build for the changes from 1.3.2.
BUG FIXES:
resource/acme_certificate
: Corrected an issue wherecertificate_pem
would be deleted from state on certificate renew failure. (#60)resource/acme_certificate
: The resource will now attempt to recover thecertificate_pem
field from the CA if it is missing in state. (#59)
IMPROVEMENTS:
- The provider now will log lego's log messages when
TF_LOG=debug
or higher is set. (#53)
BUG FIXES:
resource/acme_certificate
: Corrected state migration issues that were causing the resource to not function at all in Terraform 0.12. (#57)resource/acme_certificate
: Corrected state migration issues that may have triggered an update of settings due to incorrect migration of therecursive_nameservers
attribute on Terraform 0.11. (#55)
BREAKING CHANGES:
resource/acme_certificate
: Therecursive_nameservers
option for checking propagation of DNS challenge records has been promoted to a top-level option and is no longer provided as part of an individualdns_challenge
block. (#49)
FEATURES:
resource/acme_certificate
: This resource now supports multiple DNS challenges for working with multiple primary DNS providers. (#49)
FEATURES:
- The plugin has been updated to support Terraform 0.12 and higher. Backwards compatibility has been maintained to Terraform 0.11.x and earlier versions that support plugin protocol version 4. (#45)
LEGO UPDATE AND NEW DNS PROVIDERS:
lego has been updated to v2.5.0. See the lego CHANGELOG.md for more details. (#47)
The update brings the following new DNS providers:
cloudns
dode
oraclecloud
IMPROVEMENTS:
resource/acme_certificate
: The defaultmin_days_remaining
is now set to 30 days, up from 7. (#48)
BUG FIXES:
resource/acme_certificate
: Revocation on destroy now skips expired certificates. (#42)
BUG FIXES:
resource/acme_certificate
: Added the optionalcertificate_p12_password
field, used when creating the PFX bundle found incertificate_p12
. (#35)resource/acme_certificate
:certificate_p12
base64 data is now padded and should be usable by Azure services that take PKCS12 data. (#34)
LEGO UPDATE AND NEW DNS PROVIDERS:
lego has been updated to v2.2.0.
As part of this update, a number of new DNS providers have been added for
acme_certificate
:
acmedns
alidns
conoha
designate
dreamhost
hostingde
httpreq
iij
inwx
linodev4
mydnsjp
netcup
nifcloud
sakuracloud
selectel
stackpath
transip
vegadns
vscale
zoneee
Thanks very much to @yamamoto-febc (#10) and @bzub (#17), (#18) for the help with documentation, code updates, and module migration work!
IMPROVEMENTS:
resource/acme_certificate
: Added therecursive_nameservers
attribute to thedns_challenge
block. This allows someone to specify a static resolver list for DNS propagation checks that will override the resolvers of the system running Terraform. This can be useful when dealing with split horizon DNS scenarios. (#25)resource/acme_certificate
: Added thecertificate_p12
output, which makes the certificate, intermediate CA, and private key available in a PFX PKCS12 archive. This can be useful when working with Microsoft products. (#26)
BUG FIXES:
resource/acme_certificate
: Modifications to thedns_challenge
configuration will now persist across no-op updates. Additionally, modification of these values will no longer force a new resource. (#28)
This is release bump for the sole purpose of releasing the provider upstream. As of this release, you will be able to fetch this project directly via Terraform!
BREAKING CHANGES:
- The provider has now been updated for ACME v2 and will no longer work for ACME v1. If you require v1, use version 0.6.0 of the provider.
- Existing states for
acme_registration
andacme_certificate
will be preserved on update and there should be no need to re-create either registrations or certificates, so long as the CA supports it. Let's Encrypt supports these updates. - Several fields have been removed and the resource relationships have changed. For full details, see the documentation.
server_url
is now a provider-level configuration value. The documentation has several full examples of this in action.resource/acme_certificate
: Thehttp_challenge_port
andtls_challenge_port
parameters have been removed. The resource now only supports DNS challenges, sodns_challenge
is now a required field. #40
IMPROVEMENTS:
resource/acme_certificate
: With the update to ACME v2, this resource now supports wildcard certificates.resource/acme_registration
: This resource will now completely remove a registration from the ACME server when the resource is destroyed. #39
BUG FIXES:
resource/acme_certificate
: The post-revocation OCSP validation has been completely removed. This should make destruction of the resource much more reliable. #41
NOTE: This is the last major release before 1.0.0, which will include support for ACME v2 and will more than likely break support for ACME v1. If you require ACME v1 after 1.0.0, use this version of the provider.
NEW DNS PROVIDERS:
The acme_certificate
resource has had a provider refresh, with the following
new providers added:
bluecat
cloudxns
duckdns
fastdns
gandiv5
glesys
lightsail
namedotcom
exec
These providers, and previous providers, have been synchronized with their state at lego version v0.5.0.
IMPROVEMENTS:
resource/acme_certificate
: This resource now supports supplying thedelete
resource timeout timeout, which controls the certificate revocation timeout (or more specifically, the OCSP wait timeout). (#32)resource/acme_certificate
: Added alias mappings for the Azure DNS provider's environment variables so that the same environment variables for the Terraform Azure Provider can be used with the ACME plugin. (#36)resource/acme_certificate
: Already revoked certificates are ignored by the destroy process, ensuring that they are destroyed without error in Terraform. (#33)resource/acme_certificate
: Theconfig
field ofdns_challenge
has now been marked as a sensitive field to prevent credentials from being leaked in output. (#31)
Most of the items in this release are the result of a refresh of lego, which brings the following new features, amongst others:
- DNSimple API now supports V2.
- You can now supply
AWS_HOSTED_ZONE_ID
to the route53 DNS challenge to directly specify the zone ID for the DNS challenge, instead of getting the provider to try and detect it. - New DNS challenge providers:
azure
,auroradns
,dnspod
,exoscale
,godaddy
,linode
,rackspace
,ns1
, andotc
.
- Releases are no longer signed. SHA256SUMS are still published, however, and signing may come back under a more general signing key. Keep this in mind if you need earlier releases as well.
- Built against Terraform v0.10.0-beta2 with the custom diff patch. Although the plugin API version has not yet changed, YMMV with using this on Terraform versions below v0.10.0-beta2. See below for details on why we are using the custom diff patch.
The correctness of the certificate renewal behaviour in this resource has been a
long-running problem, due to the fact that certificates were renewed during the
refresh cycle. This caused silent updates and empty diffs unless you had
resources in the same stack that depended on the certificates. In addition to
this, this has led to issues with implementing settings like
min_days_remaining
in a way that made its setting effective on the present run
without ForceNew
. These issues are articulated in #13 and #15.
As of this version, these issues are no longer a problem. Using the
aforementioned custom diff patch, the certificate's expiry is now checked during
the diff phase of a terraform plan
, articulated below:
The Terraform execution plan has been generated and is shown below.
Resources are shown in alphabetical order for quick scanning. Green resources
will be created (or destroyed and then created if an existing resource
exists), yellow resources are being changed in-place, and red resources
will be destroyed. Cyan entries are data sources to be read.
Note: You didn't specify an "-out" parameter to save this plan, so when
"apply" is called, Terraform can't guarantee this is what will execute.
~ acme_certificate.certificate
certificate_pem: "-----BEGIN CERTIFICATE-----
xxxxxxx
-----END CERTIFICATE-----
" => "<computed>"
If the certificate requires renewal, certificate_pem
is set to <computed>
and correctly renewed during the next terraform apply
run.
This also means that setting min_days_remaining
no longer forces a new
resource and also works immediately - if you adjust it, its settings will work
during your next plan.
Fully updated version, supporting v0.9.0. Make sure you use this version for the full v0.9.0 release, as v0.3.0-beta2 will not work (the plugin API version has been incremented again). People still on versions of TF before v0.9.0 should use a v0.2.x version.
This beta version tracks Terraform v0.9.0
, which as of this writing (Feb 28th,
2017) is currently in beta. All that has changed so far on this side is that we
need to rebuild as the plugin API has again changed.
This is a bugfix to correct #6 and ensure that TF will abort if a DNS challenge is improperly configured (example: missing credentials). Previous to this release if the DNS challenge could not be properly set up, the plugin would have proceeded with an HTTP or TLS challenge.
Note that this release is built for Terraform v0.8.0 and higher - using with v0.7.x and lower may not work. Use the v0.1.0 release instead.
- Added the
must_staple
option - this option adds the OCSP Stapling Required extension to created certificates, ensuring that a valid OCSP Staple must be included in the TLS handshake for the connection to proceed. This is disabled by default. This option has no effect when being used with external CSRs.
Initial release.