feat: validate encrypted Twilio credentials - #3
Merged
Conversation
Contributor
OpenTofu TestOpenTofu test passed. View run output |
Contributor
OpenTofu PlanOpenTofu plan passed. View run outputNo changes. Your infrastructure matches the configuration.
OpenTofu has compared your real infrastructure against your configuration and |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the encrypted Twilio provider-credential delivery prerequisite without adding a Twilio provider block or any Twilio resource.
make planandmake applyverify that the one tracked SOPS document is encrypted, then expose its required variables only to a short-lived child process.Fixes # N/A — establishes the credential-delivery validation gate before later provider configuration, phone-number inventory, or inbound webhook work.
Type of change
Validation
opentofu / testandopentofu / planpassed. The credentialed plan initialized the remote backend, completed SOPS/KMS credential validation without printing values, and reportedNo changes.No local OpenTofu, Makefile, SOPS, state, import, plan, or apply operation was run.
Impact and rollout
Producer: the existing
tfroot-awsbackend role grants this exact repository SOPS KMS decrypt/describe access and scoped state-backend access. Consumer:tfroot-twilionow accepts onlysecrets/secrets.yaml, verifies it withsops filestatus, and loadsTWILIO_ACCOUNT_SID,TWILIO_API_KEY, andTWILIO_API_SECRETthroughsops exec-envfor an assertion-only child process. The runner already supplies SOPS and jq; noshared-workflowsor runner-image contract changes are needed.This PR deliberately retains no Twilio provider block and no Twilio resource, phone number, messaging webhook, bridge credential, mapping, allowlist, workload, Cloudflare route, or public endpoint. A confirmed merge would submit the environment-gated
mainapply, which would validate SOPS decryption but make no Twilio API call. Rollback is a reviewed revert; the encrypted ciphertext remains protected by the existing KMS recipient in Git history.Safety and secrets
sops filestatus.GitHub Advanced Security secret scanning is unavailable for this repository; the changed source and encrypted-file structure were manually reviewed. AI agent materially produced this change; reviewers should confirm the exact secret path, SOPS-only process injection, retained absence of a provider block/resources, and no bridge/runtime ownership crossover.