From 806b1373c862a9c1cc7f939177c4647c36f6ac45 Mon Sep 17 00:00:00 2001 From: "takemi.ohama" Date: Tue, 15 Sep 2026 16:10:25 +0900 Subject: [PATCH] chore(release): v3.4.0 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01WWoEdi3vSQQnLLas1fVNLL --- CHANGELOG.md | 22 +++++++++++++++++++++- docs/developer/architecture.md | 2 +- lib/devbase/__init__.py | 2 +- lib/devbase/cli.py | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 751089e2..6d5395dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ ## [Unreleased] +## [3.4.0] - 2026-09-15 + +機密の保存先に OpenBao を選べるようになりました。起動中の dev コンテナの中からも `bao` で +自分の機密を読み書きでき、`devbase up` のサーバへの往復は認証 1 回 + 参照ごとに 1 回です。 + ### Added - **機密の保存先を差し替えられるようにしました(PLAN51 / #159, #166, #170)。** `secrets/backend.yml` で @@ -23,10 +28,24 @@ - `devbase env rekey` は `bootstrap.env.age` とキャッシュも再暗号化し、`devbase env doctor` は backend 設定・資格情報・権限・Git の除外設定を点検します - 詳細は `docs/user/env-backend.md` +- **base イメージに OpenBao の CLI `bao`(2.6.2)を入れ、起動中のコンテナから機密を読み書き + できるようにしました(PLAN54 / #169, #178)。** backend が `openbao` の端末では、`devbase up` / + `scale` が dev コンテナへ接続先 `BAO_ADDR` と `~/.vault-token`(`0600`)を渡します。コンテナに + 置くのは 1 時間で切れる token だけで、`secret_id` はホストから出ません + - `devbase env token [--print] [--context NAME]` を追加しました。token が切れたら、ホストの + プロジェクトのディレクトリで打つと起動中の dev コンテナの token を置き換えます + - `bao` は同じリリースの `checksums.txt` で検証して入れます。**利用には base イメージの + 作り直し(`devbase build`)が要ります** + - 詳細は `docs/user/env-backend.md` の「コンテナの中から `bao` を使う」 ### Changed - `devbase env encrypt` / `decrypt` は backend が `openbao` のとき止まります(age ストア専用) +- `devbase up` は機密の注入と存在判定で `SecretStore` を持ち回り、サーバ backend への往復を + 認証 1 回 + 参照ごとに 1 回に減らしました(従来は認証 4 回 + 取得 12〜14 回。PLAN55 / #168, #177)。 + ファイル backend の挙動は変わりません +- Remote-SSH 統合端末で表示するフラット URI の案内に、`DEVBASE_EDITOR_SSH_HOST=`(空)で + 恒久化する方法を添えました(#174) ## [3.3.0] - 2026-09-13 @@ -579,7 +598,8 @@ OSS 化に伴う初回リリース。devbase は本バージョンより `devbas ### Removed - 「公式レジストリ」固定の概念を廃止。各レジストリは対等な扱いとなる。 -[Unreleased]: https://github.com/devbasex/devbase/compare/v3.3.0...HEAD +[Unreleased]: https://github.com/devbasex/devbase/compare/v3.4.0...HEAD +[3.4.0]: https://github.com/devbasex/devbase/compare/v3.3.0...v3.4.0 [3.3.0]: https://github.com/devbasex/devbase/compare/v3.2.2...v3.3.0 [3.2.2]: https://github.com/devbasex/devbase/compare/v3.2.1...v3.2.2 [3.2.1]: https://github.com/devbasex/devbase/compare/v3.2.0...v3.2.1 diff --git a/docs/developer/architecture.md b/docs/developer/architecture.md index 30b75262..a11d6cad 100644 --- a/docs/developer/architecture.md +++ b/docs/developer/architecture.md @@ -1,6 +1,6 @@ # devbase アーキテクチャ概要 -devbase v3.3.0 のアーキテクチャ設計と内部構造について説明する。 +devbase v3.4.0 のアーキテクチャ設計と内部構造について説明する。 ## 全体構成 diff --git a/lib/devbase/__init__.py b/lib/devbase/__init__.py index 4c03bffd..e542684e 100644 --- a/lib/devbase/__init__.py +++ b/lib/devbase/__init__.py @@ -1,4 +1,4 @@ """devbase - Docker-based Development Environment Manager""" -__version__ = "3.3.0" +__version__ = "3.4.0" __author__ = "devbase team" diff --git a/lib/devbase/cli.py b/lib/devbase/cli.py index 44969b43..95223a90 100644 --- a/lib/devbase/cli.py +++ b/lib/devbase/cli.py @@ -14,7 +14,7 @@ try: from . import __version__ except ImportError: - __version__ = "3.3.0" + __version__ = "3.4.0" logger = get_logger("devbase.cli") diff --git a/pyproject.toml b/pyproject.toml index 7b41ca37..2845073b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "devbase" -version = "3.3.0" +version = "3.4.0" description = "Docker-based Development Environment Manager" requires-python = ">=3.10" dependencies = [ diff --git a/uv.lock b/uv.lock index 7f6e6beb..8e63b4c7 100644 --- a/uv.lock +++ b/uv.lock @@ -41,7 +41,7 @@ wheels = [ [[package]] name = "devbase" -version = "3.3.0" +version = "3.4.0" source = { virtual = "." } dependencies = [ { name = "boto3" },