更新の履歴
tegata と、このリポジトリのプロバイダー(版は共通)の、目立った変更のすべてです。形は Keep a Changelog に、版は Semantic Versioning に従います。1.0 の前は、マイナーの版(0.2 → 0.3)で設定やプロバイダーとの約束が変わることがあり、そのときは移り方を書きます。
0.3.1 - 2026-10-19
Section titled “0.3.1 - 2026-10-19”applyが、同じ保存先を使うほかの設定や、同じ保存先のほかの環境が届けた GitHub の secrets を消さなくなりました(#24)。消すのは、その設定が書いているシークレットの届け先だけです。YAML からリソースを外したシークレットは、届けたままになります。リソースを外す前に、そのシークレットをdestinationsから外してapplyを流してください(やり方)。statusは、そういうシークレットがまだどこに届いているかを示します。- 両方が同じ保存先を使うとき、
applyが、ほかの環境の値をこの環境の届け先に届けなくなりました。そのシークレットを挙げてエラーで終わります(#24)。
0.3.0 - 2026-10-19
Section titled “0.3.0 - 2026-10-19”0.3.0 で、環境、認証情報の読み元、タイマー向けの render が加わりました。0.2 向けに書いた設定は、そのまま動きます。
加わったこと
Section titled “加わったこと”- 環境(#6):ステージング、本番などが 1 つの設定を共にし、違うのは、保存先、各アイデンティティのメンバー、プロバイダーの設定と認証情報、リソースの設定、届け先だけになります。各環境の上書きは、そのためのファイル(
environments: { production: envs/production.yaml })か、その場に書きます。-e <name>かTEGATA_ENVで選び、tegata env <name>でまとめた設定を出せます。 - 環境の
confirm: trueで、保存先を変えるコマンドが、そこで何をするかを伝え、環境の名前を求めるようになります。--yesで問いを飛ばせ、settle、prune、set、importも--yesを受け付けるようになりました。 - 環境のシークレットには
tegata-env=<name>のラベルが付き、tegata はほかの環境のシークレットに触りません。-eなしのtegata checkはすべての環境を確かめ、Google Cloud のプロジェクトや IAM のメンバーを共にする環境を挙げます。 - タイマー向けの
render(#8):中身の変わらないファイルは書き直しません。--on-change <command>は、どれかのファイルが変わったとき、書いたあとに 1 回動き、名前がTEGATA_CHANGEDに入ります。--exit-codeは、何か変わったら 3 で終わります。--fail-on-missingは、ない名前や読めない名前があれば何も書きません。ガイドのサーバーで動かすに、systemd のタイマーと、Secret Manager の読み出しの料金があります。 - 認証情報の読み元(#9):プロバイダーの管理の認証情報を、保存先とは別の
credential_sourcesから取れます。ほかのプロジェクトの Secret Manager(gcp)か、どんなコマンドでも(command。1Password、Vault、AWS Secrets Manager など)。認証情報はfromでそれを名指しします。envがあれば、そちらが優先されます。環境ごとに別の読み元を指せます。ガイドの管理の認証情報と CIに、どこに置くかと、長く使う鍵なしで CI で tegata を動かす方法があります。
0.2 から移る
Section titled “0.2 から移る”何もしなくてかまいません。プロバイダーとの約束は変わっていないので、0.2 で lock したプロバイダーはそのまま動きます。0.3 に上げるには、version: "^0.3" にして tegata init --upgrade を流します。
0.2.0 - 2026-10-19
Section titled “0.2.0 - 2026-10-19”0.2.0 で tegata.yaml の形が変わりました。0.1 向けに書いたファイルも警告つきで動き、tegata migrate で新しい形に出せます。
変わったこと
Section titled “変わったこと”- 設定に、保存先、アイデンティティ、各シークレットの読み手を書くようになりました(#13、#14)。
storeはstores(名前 → 保存先。今は 1 つ)に、rolesはidentities(名前 → IAM のメンバーの一覧)になり、各リソースはstores.<store>の下にシークレットを{ output, name, readers }で挙げます。各シークレットの読む権限は、そのreadersのメンバーとちょうど同じになり、雛形は権限を与えなくなりました。previousは{ name: ... }と書き、写すもとの値の読み手が読みます。outputの既定はvalueです。 tegata checkは、設定とプロバイダーを確かめます。tegata check <identity> <templates>は、アイデンティティが雛形の中のすべての名前を読めることも確かめ、読めるが雛形が使っていないシークレットを警告として挙げます。tegata import <templates> <dir>は、role の代わりに、ファイルを埋めたもとの雛形のディレクトリを受け取ります。- 文書を、ガイドとリファレンスに分けて並べ直し、コマンドのリファレンスを足しました(#10)。
加わったこと
Section titled “加わったこと”tegata migrateは、readersを雛形から取って、設定を新しい形で出します。そのあとのapplyは保存先を何も変えません。標準エラー出力に、古い role の雛形を比べるtegata checkのコマンドを挙げます。tegata --helpが文書を挙げ、各コマンドのヘルプが、コマンドのリファレンスのその節にリンクし、エラーのあとに助けになるページを示すsee:の行が出るようになりました(#11)。
0.1 から移る
Section titled “0.1 から移る”tegata migrate > tegata.new.yaml # also lists the tegata check commands for your templatesdiff tegata.yaml tegata.new.yaml # comments are not keptmv tegata.new.yaml tegata.yamltegata apply --dry-run # nothing to makeプロバイダーとの約束は変わっていないので、0.1 で lock したプロバイダーはそのまま動きます。0.2 に上げるには、version: "^0.2" にして tegata init --upgrade を流します。
0.1.1 - 2026-10-18
Section titled “0.1.1 - 2026-10-18”tegata initが、トークンなしのリクエストの GitHub の上限に収まるようになりました。GITHUB_TOKENがなければ、リリースのファイルを公開のダウンロードの URL から取り、API を使うのはリリースの一覧だけです。トークンがあれば、各リリースをファイルごとではなく 1 回だけ取ります。トークンなしで 403 や 429 になったときは、トークンの付け方を伝えます(#3)。
0.1.0 - 2026-10-18
Section titled “0.1.0 - 2026-10-18”最初のリリースです。
加わったこと
Section titled “加わったこと”- コマンドの
init、check、status、apply、rotate、settle、prune、set、import、render。 - 保存先:Google Cloud Secret Manager と、tegata を試すための手元のディレクトリ。
- 組み込みのプロバイダーの
random、manual、valueと、プロバイダーのcloudflare(api_token、tunnel_token)、tailscale(auth_key)、aws(ses_smtp_credentials)、gcp(sql_user)、terraform(outputs)。 - プロバイダーとの約束(版 1)と、Rust でプロバイダーを書くための
tegata-pluginのクレート。 tegata initが GitHub のリリースからプロバイダーを入れます。SHA256SUMSの minisign の署名を確かめ、すべてのプラットフォームのファイルの SHA-256 をtegata.lockに書きます。- 届け先:リポジトリか環境の GitHub Actions の secrets に、シークレットの写しを置きます。
- リリースは、GitHub のマシンで artifact attestations を付けてビルドし、
SHA256SUMSには保守する人が署名します。