feat: distribute Hero SSH identity - #65
Merged
Merged
Conversation
Contributor
OpenTofu TestOpenTofu test passed. View run output |
Contributor
OpenTofu PlanOpenTofu plan passed. View run outputOpenTofu will perform the following actions:
[REDACTED: potentially sensitive plan output]
[REDACTED: potentially sensitive plan output]
+ created_at = (known after apply)
+ id = (known after apply)
+ key_id = (known after apply)
+ plaintext_value = (sensitive value)
+ remote_updated_at = (known after apply)
+ repository = "hero-host-config"
+ repository_id = (known after apply)
[REDACTED: potentially sensitive plan output]
+ updated_at = (known after apply)
}
[REDACTED: potentially sensitive plan output]
[REDACTED: potentially sensitive plan output]
+ created_at = (known after apply)
+ id = (known after apply)
+ key_id = (known after apply)
+ plaintext_value = (sensitive value)
+ remote_updated_at = (known after apply)
+ repository = "hero-host-config"
+ repository_id = (known after apply)
[REDACTED: potentially sensitive plan output]
+ updated_at = (known after apply)
}
Plan: 2 to add, 0 to change, 0 to destroy.
OpenTofu will perform the following actions:
[REDACTED: potentially sensitive plan output]
[REDACTED: potentially sensitive plan output]
+ created_at = (known after apply)
+ id = (known after apply)
+ key_id = (known after apply)
+ plaintext_value = (sensitive value)
+ remote_updated_at = (known after apply)
+ repository = "hero-host-config"
+ repository_id = (known after apply)
[REDACTED: potentially sensitive plan output]
+ updated_at = (known after apply)
}
[REDACTED: potentially sensitive plan output]
[REDACTED: potentially sensitive plan output]
+ created_at = (known after apply)
+ id = (known after apply)
+ key_id = (known after apply)
+ plaintext_value = (sensitive value)
+ remote_updated_at = (known after apply)
+ repository = "hero-host-config"
+ repository_id = (known after apply)
[REDACTED: potentially sensitive plan output]
+ updated_at = (known after apply)
}
Plan: 2 to add, 0 to change, 0 to destroy. |
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
Distribute the existing owner-designated encrypted SSH identity from
tfroot-githubtohero-host-configunder the two exact secret names consumed by its manual check-only workflow:HERO_HOST_CONFIG_SSH_PRIVATE_KEYHERO_HOST_CONFIG_SSH_KNOWN_HOSTSThe source fields and existing
tfroot-libvirtrecipients are unchanged. No SOPS ciphertext is read, changed, or decrypted.Fixes #
None.
Type of change
Validation
opentofu / testandopentofu / plan.Impact and rollout
Producer:
tfroot-githubis the canonical owner of the encrypted-source reference and GitHub Actions secret distribution.Consumer: after PR merge and the separate environment-gated
mainapply,hero-host-configwill receive the two named secrets for its existing manual WARP/Ansible check-only workflow. Its existingtfroot-libvirtrecipients remain unchanged.Unchanged: no SOPS ciphertext, secret value, Cloudflare policy, WARP enrollment, repository workflow, public-key authorization, Hero host configuration, Node Exporter, firewall, GitOps desired state, or workflow dispatch is included.
Delivery stages: authored and submitted; PR validation is pending. Merge and the main apply are separate explicit confirmation gates. Hero public-key authorization and check-workflow dispatch remain separate operations after a successful apply.
Known follow-up: stale PR #62, superseded by merged WARP PRs #63 and #64, remains open and should be closed through a separately authorized cleanup action; it is not part of this change.
Rollback: close or revert this PR before apply. After apply, remove the two mappings through a reviewed PR and environment-gated apply; rotate the SSH identity separately if revocation is required.
Safety and secrets
AI-assisted change: an OpenCode agent added only non-secret mappings after the owner confirmed the existing
tfroot-libvirtSSH identity is the intended Hero identity.