Wire 4 missing secrets through Salt GPG pillar pipeline #422
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform!422
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "wire-missing-secrets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
tofu planChanges
salt/pillar/secrets/platform.sls— add GPG-encrypted entries fortelegram_landscaping_chat_id,grafana_oidc_client_secret,admin_oidc_client_secret,admin_auth_secretMakefile— add all 4 toTF_SECRET_VARSallowlistTest Plan
make tofu-secretsrenders all 22 varstofu plansucceeds without missing variable errorsReview Checklist
Related Notes
telegram_landscaping_chat_idwithout pillar entrygrafana_oidc_client_secret,admin_oidc_client_secret,admin_auth_secretwithout pillar entriesPR #422 Review
DOMAIN REVIEW
Tech stack: Salt GPG pillar (YAML + GPG encryption), Makefile, Terraform/OpenTofu variable wiring.
Salt/GPG analysis:
telegram_landscaping_chat_id,grafana_oidc_client_secret,admin_oidc_client_secret,admin_auth_secret) use the correct Salt Master GPG key ID (4GgPRz4dNyQ/81A03D1CF874DC90), matching all existing entries inplatform.sls.|(literal block scalar) YAML syntax for multi-line PGP blocks.-----BEGIN PGP MESSAGE-----header in each block.secrets:>platform:mapping, maintaining correct YAML indentation (4 spaces for key, 6 spaces for PGP content).Terraform variable verification:
terraform/variables.tf(lines 176, 206, 212, 218) and their respective modulevariables.tffiles.terraform/main.tfmodule calls.Makefile analysis:
\) correctly added to theedge_ssh_public_keyline (previously the last entry, now continued).telegram_landscaping_chat_idgets its own continued line.grafana_oidc_client_secret admin_oidc_client_secret admin_auth_secretare on the final line (no trailing\), which is correct for the last entry.BLOCKERS
None.
NITS
secrets_registry.sls missing entries (non-blocking but important): The 4 new secrets do not have corresponding metadata entries in
salt/pillar/secrets_registry.sls. The registry tracks origin, description, rotation schedule, and backup locations for every secret. Existing secrets liketelegram_chat_id(line 129) andkeycloak_admin_password(line 92) have entries. The 4 new secrets should get registry entries as a follow-up to maintain audit trail parity. Suggested entries:telegram_landscaping_chat_id: originconfig, rotation 0, notes referencing PR #410grafana_oidc_client_secret: originexternal, providerKeycloak admin, rotation 0admin_oidc_client_secret: originexternal, providerKeycloak admin, rotation 0admin_auth_secret: origingenerated, rotation 90Makefile formatting (cosmetic): The last 3 secrets are packed onto a single line (
grafana_oidc_client_secret admin_oidc_client_secret admin_auth_secret), while the rest of the list uses 1-2 vars per line. Consider splitting for readability, e.g.:SOP COMPLIANCE
419-...expected, gotwire-missing-secrets)Closes #419/Fixes #419not present in PR body (uses "Fixes #419" in Related Notes narrative but not as a standalone keyword that Forgejo will auto-close)PROCESS OBSERVATIONS
secrets_registry.slsgap is a documentation debt item. Each time a secret is added toplatform.slswithout a registry entry, the audit trail degrades. A pre-merge check (or CI lint) that comparesplatform.slskeys againstsecrets_registry.slskeys would catch this automatically.VERDICT: APPROVED
The core changes are correct: GPG-encrypted entries use the right key, YAML structure is valid, Makefile allowlist additions are syntactically correct, and all 4 Terraform variables are already declared and referenced. The branch naming nit and missing registry entries are non-blocking -- the registry entries should be addressed in a follow-up.