先前提到 sops 與 KMS 結合,這邊來說明如何使用plugin來做到在kustomize 上用 SOPS 來加密我們的 secret
首先呢我們到base 目錄下,在kustomization.yaml加入以下
generators:
- generator.yaml
然後寫下
apiVersion: goabout.com/v1beta1
kind: SopsSecretGenerator
metadata:
annotations:
config.kubernetes.io/function: |
exec:
path: ./SopsSecretGenerator
name: redis-secret
envs:
- redis.env
然後我們撰寫 redis.env
REDIS_PWD=test123
接這下command
sops -i -e --gcp-kms $KMS_PATH redis.env
然後我們要下載plugin
VERSION=1.6.0 PLATFORM=mac ARCH=amd64
curl -Lo SopsSecretGenerator "https://github.com/goabout/kustomize-sopssecretgenerator/releases/download/v${VERSION}/SopsSecretGenerator_${VERSION}_${PLATFORM}_${ARCH}"
chmod +x SopsSecretGenerator
這邊可以依照不同的平台下載
源碼在github 大家也可以去看一下source code 如果不安心的話也可以自己依照readme build一個,或檢查一下source code
接下來下
kustomize build --enable-alpha-plugins --enable-exec .
就可以看到結果啦
apiVersion: v1
data:
REDIS_PWD: YWJjMTIz
kind: Secret
metadata:
labels:
app: bidagent
name: redis-secret-dmfhkcc568
當然這邊只是示範,密碼要取好一點 XD
今天的說明就到這邊啦