Kotlinベースの Terraform ラッパー。Bitwarden Secret Manager 統合により、シークレットを安全に管理します。
- Terraform操作を簡素化
- Bitwarden Secret Managerとの統合によるシークレット管理
- CLI と Web API の2つのインターフェース
- モジュラーアーキテクチャによる保守性の高い設計
curl -fsSL https://raw.githubusercontent.com/kigawa-net/kinfra/main/install.sh | bash
特定のバージョンをインストール:
curl -fsSL https://raw.githubusercontent.com/kigawa-net/kinfra/main/install.sh | bash -s v0.0.1
- 実行可能ファイル:
~/.local/bin/kinfra
- アプリケーション:
~/.local/kinfra/kinfra.jar
~/.local/bin
がPATHに含まれていない場合、以下をシェル設定ファイル(~/.bashrc
または ~/.zshrc
)に追加してください:
export PATH="${HOME}/.local/bin:${PATH}"
設定後、シェルを再読み込み:
source ~/.bashrc # または source ~/.zshrc
# ヘルプを表示
kinfra --help
# Terraform初期化
kinfra init
# プラン実行
kinfra plan
# 適用
kinfra apply
# デプロイ(init + plan + apply)
kinfra deploy
# リソース削除
kinfra destroy
# Webサーバー起動
./gradlew :app-web:run
# または Shadow JAR から起動
java -jar app-web/build/libs/kinfra-web-*.jar
APIエンドポイント:
GET /
- APIステータスGET /health
- ヘルスチェックPOST /terraform/init
- Terraform初期化POST /terraform/plan
- Terraform実行計画POST /terraform/apply
- リソース作成POST /terraform/destroy
- リソース削除
BWS_ACCESS_TOKEN
- Bitwarden Secret ManagerアクセストークンBW_PROJECT
- BitwardenプロジェクトIDKINFRA_LOG_DIR
- ログディレクトリパス(デフォルト: "logs")KINFRA_LOG_LEVEL
- ログレベル: DEBUG、INFO、WARN、ERROR(デフォルト: INFO)
- JDK 21
- Gradle 8.10.2
- Kotlin 2.2.0
# プロジェクトのビルド
./gradlew build
# テスト実行
./gradlew test
# CLIアプリケーション実行
./gradlew :app-cli:run --args="<command>"
# Shadow JAR作成
./gradlew :app-cli:shadowJar
プロジェクトはマルチモジュール構成:
- model - ドメインモデルとインターフェース
- action - ビジネスロジックインターフェース
- infrastructure - 実装層
- app-cli - CLIアプリケーション
- app-web - Webアプリケーション
詳細は CLAUDE.md を参照してください。
MIT License