セキュリティ上の懸念からsecretGenerator.commandsは廃止されました
これらの情報はもう使えません。
secretGenerator
は便利な機能だけど
環境変数で使う場合、相変わらず末尾の改行コードを意識しなくてはならなくて
k8sのsecretを知らない人がハマりやすい
今まではこんな感じに準備してた
$ echo -n "sensitive_text" > secret_file
末尾の改行コードがあってもなくても動かす
xargs echo -n
にpipeで繋ぐことによって末尾の改行コードがあってもなくても動く。
またkustomizeが実行するdefault commandは["sh", "-c"]
のため、
pipeの途中で失敗しても最終コマンドが成功すると、成功とみなされてしまうためpipefailを指定したbashで実行する。
kustomization.yaml
generatorOptions:
shell: ["bash","-o", "pipefail", "-c"]
secretGenerator:
- name: your-secret
type: Opaque
commands:
SECRET_TOKEN: "cat ./secret_file | xargs echo -n"