Actions
Feature #2
open
RA
Feature #36: [TAK-240] K&Kホスティング連携モードを追加しEPAA単体利用と切り替えられるようにする
[TAK-274] CoreからK&Kサーバーを初期状態からセットアップできるようにする
Feature #2:
[TAK-274] CoreからK&Kサーバーを初期状態からセットアップできるようにする
Status:
New
Priority:
High
Assignee:
-
Start date:
09/30/2026
Due date:
% Done:
0%
Estimated time:
Description
Linear migration metadata¶
- Linear issue: TAK-274
- Linear URL: https://linear.app/takayuki-komoda/issue/TAK-274/coreからkandkサーバーを初期状態からセットアップできるようにする
- Linear status: Backlog
- Linear team: Takayuki Komoda
- Linear project: EPAA Core
- Linear assignee:
- Linear labels: Feature
- Linear created: 2026-09-26T00:06:03.721Z
- Linear updated: 2026-09-26T00:06:03.721Z
- Linear archived:
Original description¶
目的¶
K&Kサーバーの初期OS状態から、EPAA Coreを入口としてデモ/開発環境の基盤セットアップを実行できるようにする。現在のWindows PowerShell + SSHスクリプトで実証した構築処理を、Coreの正式な操作・実行経路へ移行する。
背景・現状¶
-
dev2.epaa.jp、stg2.epaa.jp、app2.epaa.jpを同一Ubuntuサーバー上に構築するbootstrapスクリプトを作成済み - Ubuntu最小構成からのゼロベース初回実行、および既存構築済み状態での再実行を確認済み
- ASP.NET Core Runtime 8.0、PostgreSQL、Nginx、Certbot、TLS、DBロール、配置ディレクトリ、systemd雛形をセットアップする
- アプリ配置、DB本体作成、初回SQL、seed、Coreアプリ起動はbootstrapの対象外
- SSH公開鍵登録後にパスワード認証を無効化し、鍵認証のみで接続できることを確認済み
実装内容¶
- CoreからK&Kサーバーの対象環境、ホスト名、SSH/K&K接続情報、TLS登録メール等を指定して初期セットアップを開始できる
- 初回実行時の公開鍵発行・登録、接続確認、sudo権限確認、失敗時の安全な停止を実装する
- Ubuntu初期状態から以下を冪等に構築する
- ASP.NET Core Runtime 8.0
- PostgreSQL
- Nginx/TLS/Certbot自動更新
-
/opt/epaa配下のアプリ・データ・環境設定領域 -
epaa_dev2、epaa_stg2、epaa_app2のDBロール - アプリ用systemd雛形(初期状態はenable/startしない)
- 初回セットアップ後にSSHパスワード認証を無効化し、登録済み公開鍵での再接続検証を行う
- 再実行時は既存証明書、DBロール、環境設定、秘密値を安全に扱い、意図しない上書きやパスワード変更をしない
- 実行結果、失敗理由、再実行可否をCoreの履歴・ログで確認できるようにする
- SSH秘密鍵、DBパスワード、K&K認証情報をCoreのログ、画面、設定レポートへ出力しない
Coreアプリ適用との境界¶
- bootstrap完了後に、Coreから生成アプリのリリースパッケージを配置できる
- DB本体作成、初回リリースSQL、migration、seed、systemd enable/start、ヘルスチェックは、Coreの正式なアプリ初期配置/リリース手順として別段階で実行する
- bootstrapだけではアプリAPIやブラウザ画面は起動しない
受入条件¶
- Ubuntu最小構成の新規サーバーへCoreから初回セットアップを実行できる
- 3ホストのDNS、TLS発行、HTTP→HTTPS、Nginx設定検証が成功する
- Runtime、PostgreSQL、3ロール、配置領域、systemd雛形が確認できる
- DB本体、アプリファイル、初回SQL、seedがbootstrapだけで作成されない
- 初回セットアップ後、パスワードSSHは拒否され、登録済み公開鍵だけで再接続できる
- 同じセットアップを再実行しても、既存の管理対象設定・証明書・ロールを壊さず成功する
- 途中失敗時に、SSH接続不能や半端なNginx/TLS設定を残さない
- Core画面で対象、進行状況、結果、失敗理由、再実行導線を確認できる
- 実機または再作成可能な検証環境で、ゼロベース初回実行と再実行の証跡を保存する
注意事項・未決定¶
- Coreが直接SSHするのか、K&Kのbootstrap APIを介するのかをTAK-251/TAK-252/TAK-255と整合させて設計する
- CoreプロセスへSSH秘密鍵を常時保持させず、短期資格情報・公開鍵登録・期限付き初期設定URL等の安全な方式を優先する
- 本番環境への適用、既存アプリ/DBの破壊的初期化、Basic認証は対象外
- OpenAI APIキーは通常のサーバーセットアップには不要。CoreのAI補助機能を使う場合だけ別管理する
RA Updated by Redmine Admin about 2 hours ago
- Parent task set to #36
Actions