diff --git a/.gpg/public_gpg_key.asc b/.gpg/public_gpg_key.asc index b1be94d..198c74f 100644 --- a/.gpg/public_gpg_key.asc +++ b/.gpg/public_gpg_key.asc @@ -1,64 +1,29 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -N941ZapemsmbJbrR5HdZtZo9iU3xNGeapEmMFQ== -=pDs7 +Y3NwcmluZy5jb20+iQJRBBMBCAA7FiEEUx7YZh4X6sRBJK5XvS3kyjz1uk0FAmrU +KBQCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQvS3kyjz1uk2VnBAA +sF+6xYZaF8GzmKS5+m84qtPOZ5+6tOyE/0l5ozYnkan645QxbV1PpHoz6BO47r7i +Bnmu4PxGdJDbjIe95De6bgeIFUb7C9ETM6+u8p3Er0icV17Ngs9i1sWitVTM2TD7 +ACyb/nJl2nnbsqxmw9BlW1Z0mk8UclpW6CCzSYow8GQVQUFt2ZIXbEJlZX+H6qk1 +dILJeAS04lNcpI5k0nzBAGYRdKxcXNYShjEcNtW7ra61g9TilbwEUFvSlVPWX3zw +qY0xCQ40be1ETR2bcX43lR5wcFkCpBbMwWlciM05YkEWIjrdTVqBhJevlST+vzsX +Y0pmcIVvKdDr8Iw9x+0gt4hycom41qCnsB8PALlD5AaLt8dBxLVuoKUZW+0ro7Vs +QTh9sWPkJTLS/DefqBv50Ha0t2ZcTMVB7r5aQO4opEjGR+qae83y6r8Z1RqCcFiW +WeKXe5QO4skpQyg4WnqoG/n9usNG8nS7KEuocf1ngnJ4Wxl8fOgXssFt0YkESa7f +fIEyuBzU9Zz5anbFnhk0HtMrRK9XeBSv+6oxuTNiDvB+1rHotBJpZHxonzhypqcv +dMghy2mKjnsZoedIX0mKxwmNQU8A0qZsODErs14drc9ovCkyXN4OFshI3NiA7O2i +gkTNLQ8i1m7nt0PU0iodVxBsJ3uZAi8wPRgU7k39FFk= +=vzsB -----END PGP PUBLIC KEY BLOCK----- diff --git a/README.md b/README.md index bae8b78..00c00d7 100644 --- a/README.md +++ b/README.md @@ -81,3 +81,20 @@ See more examples at https://logstruct.com/docs/terraform. ## Releasing Use GoReleaser to build and publish GitHub releases with platform-specific zips and checksums. Tags must be semantic versions prefixed with `v` (e.g. `v0.1.0`). + +The release workflow signs the checksums with the `GPG_PRIVATE_KEY` repository secret. Its public counterpart is +[`.gpg/public_gpg_key.asc`](.gpg/public_gpg_key.asc), with fingerprint +`531ED8661E17EAC44124AE57BD2DE4CA3CF5BA4D`. + +Register this public key in the Terraform Registry under **User Settings > Signing Keys**. When rotating the signing +key, update the repository's public key, the release secret and the Registry registration together. Keep earlier public +keys registered so users can verify older releases. + +After the GitHub release finishes, verify that the new version appears in the +[Terraform Registry](https://registry.terraform.io/providers/DocSpring/logstruct/latest). If it is missing, use +**Resync** in the provider's Registry settings. Resync also ensures the GitHub release webhook exists. Confirm the +version is listed by the [Registry API](https://registry.terraform.io/v1/providers/DocSpring/logstruct/versions), then run +`terraform init` in a configuration pinned to that version using the normal Registry installation path. + +See HashiCorp's [provider publishing guide](https://developer.hashicorp.com/terraform/registry/providers/publishing) +and [Registry FAQ](https://developer.hashicorp.com/terraform/registry/faq) for signing-key and webhook requirements.