OpenBao シークレットストレージ
Semaphore UI は、シークレットのストレージとして OpenBao をサポートしています。
OpenBao は HashiCorp Vault のオープンソースフォークであり、API 互換性があるため、このストレージは HashiCorp Vault ストレージとまったく同じように動作します。
次のオプションを指定できます。
- サーバー URL — OpenBao サーバーのアドレス。
- マウント — KV v2 シークレットエンジンのマウントパス (デフォルトは
secret)。 - 名前空間 — OpenBao の名前空間 (v2.3 以降)。省略可能。
- トークン — 認証トークン。トークンは次の方法で指定できます:
- データベースに保存する。
- 環境変数で指定する。
- ファイルで指定する。
警告
トークンをファイルから取得する場合、そのファイルは Semaphore が使用するシークレットディレクトリの内部に配置する必要があります。このディレクトリは
dirs.secretsまたは環境変数SEMAPHORE_SECRETS_PATHで設定します。従来のトップレベルのsecrets_pathオプションも、古い設定との互換性のために引き続き使用できます。いずれも設定されていない場合、デフォルトは/tmp/semaphoreです。優先順位の詳細については、シークレットディレクトリを参照してください。
このストレージは読み取り専用モードで動作させることができます。
使い方
- プロジェクトでキーストア → ストレージを開き、新しい OpenBao ストレージを作成します (URL、マウントパス、トークン)。
- キーストアでキーを作成または編集する際に、ストレージの種類として OpenBao ストレージを選択します。
- 認証情報を保存する OpenBao 内のシークレットパスを指定します。
シークレットの同期
OpenBao に保存されたシークレットは、他の外部ストレージと同様に、キーストアに自動的にインポートして同期を維持できます。リモートストレージからのシークレットの同期を参照してください。
変数グループ
OpenBao は変数グループのストレージとしても使用できます。変数グループを編集する際に、ストレージの種類として OpenBao ストレージを選択し、シークレットを保存するフォルダーのパスを指定します。