minio/internal/kms
Andreas Auernhammer 8b660e18f2
kms: add support for MinKMS and remove some unused/broken code (#19368)
This commit adds support for MinKMS. Now, there are three KMS
implementations in `internal/kms`: Builtin, MinIO KES and MinIO KMS.

Adding another KMS integration required some cleanup. In particular:
 - Various KMS APIs that haven't been and are not used have been
   removed. A lot of the code was broken anyway.
 - Metrics are now monitored by the `kms.KMS` itself. For basic
   metrics this is simpler than collecting metrics for external
   servers. In particular, each KES server returns its own metrics
   and no cluster-level view.
 - The builtin KMS now uses the same en/decryption implemented by
   MinKMS and KES. It still supports decryption of the previous
   ciphertext format. It's backwards compatible.
 - Data encryption keys now include a master key version since MinKMS
   supports multiple versions (~4 billion in total and 10000 concurrent)
   per key name.

Signed-off-by: Andreas Auernhammer <github@aead.dev>
2024-05-07 16:55:37 -07:00
..
config.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
config_test.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
conn.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
context.go run gofumpt cleanup across code-base (#14015) 2022-01-02 09:15:06 -08:00
dek_test.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
errors.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
kes.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
kms.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
secret-key.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00
secret-key_test.go kms: add support for MinKMS and remove some unused/broken code (#19368) 2024-05-07 16:55:37 -07:00