IBM CloudStatic-verified

A Let's Encrypt Certificate in Secrets Manager That Renews Itself and Rotates Its Key

A publicly-trusted certificate issued into Secrets Manager, validated over DNS through Cloud Internet Services, with both configurations created here rather than left to a console. Staging issues a certificate no browser trusts while looking like success, so it is refused by name; auto-rotation and key rotation are on, because a ninety-day certificate nothing renews is a dated outage.

terraformAlt & Specialty Cloudsibmcloud

Compare Managed TLS Certificates across clouds →

ibm-public-certificatevizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-15 · how we verify

Use it from the registry

terraform · opentofu
module "public_certificate" {
  source  = "www.iac-bazaar.com/iac-bazaar/ibm-public-certificate/ibmcloud"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads static-verified because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: static-verified](https://www.iac-bazaar.com/api/artifacts/ibm-public-certificate/badge)](https://www.iac-bazaar.com/catalog/ibm-public-certificate?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, static-verified on IaC Bazaar: [A Let's Encrypt Certificate in Secrets Manager That Renews Itself and Rotates Its Key](https://www.iac-bazaar.com/catalog/ibm-public-certificate?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "public_certificate" {
  source  = "www.iac-bazaar.com/iac-bazaar/ibm-public-certificate/ibmcloud"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: static-verified

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

ibm-public-certificate

Managed TLS certificates on IBM Cloud Secrets Manager, issued by Let's Encrypt. Works with Terraform and OpenTofu (>= 1.6), ibm provider >= 1.60, < 3.0.

The staging environment issues certificates no browser trusts, and everything about the result looks like success. production here; staging has to be said by name.

Auto-rotation is the whole point and it is off by default. A ninety-day certificate that nothing renews is an outage with a date on it.

The private key is in the Terraform state. There is no way around it for this resource, so the state backend has to be remote, encrypted and access-controlled, and a plan file has to be treated as a secret. Here it is the Let's Encrypt account key, which is an input.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules

Static validatedLive test pending

ibm-private-ca

A root CA, an intermediate it signs and certificate templates in IBM Cloud Secrets Manager. IBM's examples let a template issue for any name; here templates name their domains, both CAs carry name constraints, and CRLs are built and published. Lifetimes are checked to nest, and the module says plainly that Terraform cannot revoke a CA.

View module
Static validatedLive test pending

ibm-key-protect-key

The rotation policy is a separate resource nobody creates, so a key made today encrypts everything for the life of the account; dual_auth_delete, the control that makes deletion a two-person act, is off by default; and force_delete would remove a key buckets still use. Rotation on at your interval, dual authorization on (off by name), force delete never, the instance created when none is given.

View module
Static validatedLive test pending

ibm-secrets-manager

A secret group and an arbitrary secret in an IBM Cloud Secrets Manager instance you already have, over the private endpoint. The instance is a paid resource created once per account and is an input, so an apply never creates a second bill; the group is the unit IAM grants are made on; the value is a sensitive variable never output; an expiry is expected, none by name.

View module
Static validatedLive test pending

huawei-tls-certificate

A public TLS certificate bought through Huawei CCM, and its application. Applying is a purchase, so brand, type and validity have no defaults and every combination rule is checked at plan. It does not renew itself. The provider accepts Huawei's privacy terms on every application, so the module waits for a person to. Validation records appear one refresh after the first apply.

View module
Static validatedLive test pending

alicloud-ssl-certificate

A certificate uploaded into Certificate Management Service for SLB, ALB, CDN and API Gateway to reference. The private key is an argument, so it lands in the Terraform state and the README says so plainly. SM2 is a signing pair plus an encryption pair and the module refuses a half-filled set, which would upload something no client can handshake with.

View module
Static validatedLive test pending

azure-managed-certificate

A free App Service managed certificate for a custom subdomain, with its hostname binding, the SNI binding that puts it to use, and optionally the DNS records. Microsoft blocks issuance and renewal when the CNAME passes through anything before the app, so the module writes the direct record and refuses the wildcards, apex names and long hostnames the product does not support.

View module