sops
sops copied to clipboard
feat: Add support for kms key aliases
Hello Guys. I'm here to close issue #381
I already implemented core logic of alias to arn, and checked that it works well.
you can excute it by making bin file with go install
.
There's an exmaple of it.
hello.enc.json
{
"secret": "hello world"
}
$ sops --encrypt --kms=deployment-common hello.dec.json > hello.enc.json
and it comes like this.
hello.dec.json
{
"secret": "ENC[AES256_GCM,data:8b5cb4UE...I4Q==,type:str]",
"sops": {
"kms": [
{
"arn": "deployment-common",
"created_at": "2024-06-20T14:57:52Z",
"enc": "AQICAHj1y+..../BQxGpwwM4Zwg==",
"aws_profile": ""
}
],
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2024-06-20T14:57:52Z",
"mac": "ENC[AES256_GCM,data:GaLp+/g...=,tag:d1Xw6Xp8C/8TZsnPzjPsZA==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}
Now there is some tasks that should be resolved.
- [ ] add alias field (now it's sharing arn field)
- [ ] add regex of alias(maybe just a string. any idea will be welcomed) + region fetching at
createKMSConfig()
- [ ] clean up redundant logic and optimization
Since I'm not an expert of Go. Please come an contribute together.