Project

General

Profile

Actions

Feature #2

open
RA

Feature #36: [TAK-240] K&Kホスティング連携モードを追加しEPAA単体利用と切り替えられるようにする

[TAK-274] CoreからK&Kサーバーを初期状態からセットアップできるようにする

Feature #2: [TAK-274] CoreからK&Kサーバーを初期状態からセットアップできるようにする

Added by Redmine Admin about 3 hours ago. Updated about 3 hours ago.

Status:
New
Priority:
High
Assignee:
-
Start date:
09/30/2026
Due date:
% Done:

0%

Estimated time:

Description

Linear migration metadata


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 3 hours ago Actions #1

  • Parent task set to #36
Actions

Also available in: PDF Atom