Carpe Diem

備忘録

YAML

ConfigMapでYAMLファイルを管理する

概要 コンテナのポータビリティのため、設定値を環境変数で管理することは一般的ですが、 細かいパラメータを一括で管理したい 改行を含むが、base64エンコードせずそのままの方が視認性が高く運用しやすいデータがある PEM、PGPの公開鍵など といった際にYA…

GoでYAMLファイルを読み込んだ時にデフォルト値を設定したい

背景 christina04.hatenablog.com のように設定ファイルをYAMLで管理するパターンは良くありますが、設定項目が増えるほど運用つらくなるので、あまり弄らない項目に対してはデフォルトを用意し、値がなければそれを設定したいケースがあります。 イメージと…

yttでテンプレートの変数に外部ファイルから値を注入する

背景 前回はyttに基本的な使い方を説明しました。 christina04.hatenablog.com 今回は少し実践的に、変数を外部ファイルとして扱ってサービス毎だったりdev/prdといった環境毎にYAMLを生成できるようにします。 環境 ytt 0.44.3 イメージ図 前回はテンプレー…

yttでテンプレートからYAMLを生成【基本編】

背景 似たようなYAMLを毎回コピペするのは運用が辛い ConfigMapのYAMLをdev, stg, prdで出し分けたい CircleCIのpath filteringでparameterを自動的に増やしたい といったようなケースでは、似たようなYAMLをパラメータだけ変更して自動生成したくなります。…

YAMLのような設定ファイルで環境変数を扱う

背景 christina04.hatenablog.com ではconfig.yamlを読み込ませてサーバを起動するのですが、その中にSlackのAPIトークンを入れる箇所がありました。 config.yaml自体はConfigMapで渡しているのですが、中に記述されているAPIトークンは環境変数でSecretで管…