apt-get install pip
sudo pip install --upgrade sops
gpg --batch --full-generate-key <<EOF
> %no-protection
> Key-Type: 1
> Key-Length: 4096
> Subkey-Type: 1
> Subkey-Length: 4096
> Expire-Date: 0
> Name-Email: [email protected]
> Name-Real: sops
> EOF
# Buat cek key yang udah dibuat
gpg --list-keys
gpg --list-secret-keys
export KEY_FP=<gpg-secret-key>
# Buat secret di kubernetesnya
gpg --export-secret-keys --armor "${KEY_FP}" | kubectl create secret generic --namespace flux-system --from-file=sops.asc=/dev/stdin sops-gpg

Ini pokoknya harus di repository directory flux-system

gpg --export --armor "${KEY_FP}" > clusters/kube-playground/flux-system/.sops.pub.asc

Ke root repo directory:

git add .
git commit -m "feat: add sops"

Buat tim member biar bisa nge encrypt juga, perlu import public key nya dlu:

gpg --import ./clusters/kube-playground/.sops.pub.asc

Ini buat default rule buat nge decrypt secret:

cat <<EOF > ./clusters/kube-playground/.sops.yaml
creation_rules:
  - path_regex: .*.yaml
    encrypted_regex: ^(data|stringData)$
    pgp: ${KEY_FP}
EOF