Add logarchive gpg key + logging_logarchiver read access (#106)
ci/woodpecker/push/apply Pipeline was successful
ci/woodpecker/push/apply Pipeline was successful
## Why logarchiver encrypts archived logs to an OpenPGP key held in Vault's gpg engine so the private key never leaves Vault (retrieval delegates decryption to `gpg/decrypt/logarchive`, operator-only). This provisions the key and lets the service read only its public key. ## Changes - Create gpg key `logarchive` (rsa-4096, non-exportable) in the `gpg` mount. - Add k8s auth role `logging_logarchiver` bound to SA `logarchiver` in the `logging` namespace. - Add policy granting `read` on `gpg/keys/logarchive` to that role (public key only; no decrypt/export). Cross-repo: this must apply before the argocd-apps logarchiver Deployment (unkin/argocd-apps) can fetch the key. https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv --------- Co-authored-by: benvin <neotheo@gmail.com> Reviewed-on: #106 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #106.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
bound_service_account_names:
|
||||
- logarchiver
|
||||
bound_service_account_namespaces:
|
||||
- logging
|
||||
token_ttl: 600
|
||||
token_max_ttl: 600
|
||||
audience: vault
|
||||
@@ -0,0 +1,8 @@
|
||||
# config/gpg_key/gpg/logarchive.yaml
|
||||
# OpenPGP key in the gpg engine for the logarchiver service. The private key
|
||||
# stays in Vault; logarchiver reads only the exported public key
|
||||
# (gpg/keys/logarchive) to encrypt archived logs, and retrieval delegates
|
||||
# decryption back to gpg/decrypt/logarchive. Key name = "logarchive", backend = "gpg".
|
||||
algorithm: rsa-4096
|
||||
identity: "logarchive <logarchive@unkin.net>"
|
||||
exportable: false
|
||||
@@ -0,0 +1,12 @@
|
||||
# Allow the logarchiver service (logging namespace, SA logarchiver) to read the
|
||||
# logarchive public key. A plain read on gpg/keys/logarchive returns the armored
|
||||
# public_key; no decrypt/export capability is granted (decrypt stays operator-only).
|
||||
---
|
||||
rules:
|
||||
- path: "gpg/keys/logarchive"
|
||||
capabilities:
|
||||
- read
|
||||
|
||||
auth:
|
||||
k8s/au/syd1:
|
||||
- logging_logarchiver
|
||||
Reference in New Issue
Block a user