DiskpipeSTORAGE / OPERATIONS

Optional build-attestation signing key

Deployed in AWS account 968134102381, region us-east-1, on 2026-09-13:

The signer policy is attached only to the dedicated GitHub OIDC role. Its trust policy accepts the exact repo:robjcaskey/zcutils:ref:refs/heads/main subject; it is separate from the EC2 runner controller.

This isolated Terraform module defines one asymmetric AWS KMS SIGN_VERIFY key whose signing authority is exactly Rob J. Caskey, its stable alias alias/zcutils-build-attestation-signing-authority-Rob-J-Caskey, and the standard SSM String /zcutils/build-attestation/signing-authority/Rob-J-Caskey/kms-key-arn whose value is only the key ARN. KMS performs signatures internally: this module does not create, export, or escrow private key material.

The module also creates an IAM signer policy restricted to ssm:GetParameter on that exact reference and kms:DescribeKey, kms:GetPublicKey, kms:Sign, and kms:Verify on that exact key. The verify grant supports cosign verification when the independently trusted identity is an awskms:// URI. Attach the The policy is attached only to the dedicated github_signer_role_arn. The signer_policy_json output supports independent policy review.

Do not apply the module merely to test it. prevent_destroy protects both the key and reference. A KMS key managed by the organization incurs a recurring monthly charge plus signing requests; standard SSM parameters have no additional storage charge at standard throughput. Review current AWS pricing before changing this deployment.

Review a plan without saving it to the repository:

terraform init
terraform plan -var aws_account_id=968134102381

After an approved deployment and role attachment, the build wrapper resolves the key ARN without printing it:

scripts/zc-image-attest.py generate --skip-build \
  --variant nonfips --image localhost/zcblock-csi:attested \
  --aws-profile slopmud-cicd --kms-key-parameter
Built from Markdown with Rust. No client-side dependencies.