プロジェクト

全般

プロフィール

バグ #754

未完了

【開発計画】インフラヘルパー Phase 1 - BusyBox互換性対応

Redmine Admin さんが5日前に追加. 5日前に更新.

ステータス:
解決
優先度:
急いで
担当者:
-
開始日:
2025-06-26
期日:
進捗率:

0%

予定工数:

説明

🎯 Phase 1: BusyBox互換性対応(緊急)

概要

VPSステータス機能で使用しているuptime -pコマンドがBusyBox環境で非対応のため、互換性のあるコマンドに置き換える。

対応期限

2025年7月5日(1週間以内)

実装タスク

1. uptime コマンドの代替実装

// 現在のコード(エラー)
const { stdout: uptime } = await execAsync("uptime -p");

// 修正案1: 基本uptimeを解析
const { stdout: uptimeRaw } = await execAsync("uptime");
const uptime = parseUptimeOutput(uptimeRaw);

// 修正案2: /proc/uptimeを直接読み取り
const { stdout: uptimeSeconds } = await execAsync("cat /proc/uptime | cut -d' ' -f1");
const uptime = formatUptime(Math.floor(parseFloat(uptimeSeconds)));

2. VPSステータス関数の改修

  • /api/v1/vps/statusエンドポイントの修正
  • エラーハンドリングの追加
  • BusyBox環境検出機能の実装

3. 互換性ヘルパー関数の作成

// utils/compatibility.js
function isB BusyBoxEnvironment() {
  // BusyBox環境の検出
}

function getSystemUptime() {
  // 環境に応じた適切なuptime取得
}

function parseMemoryInfo() {
  // メモリ情報の標準化
}

4. テスト項目

  • Alpine Linux(BusyBox)環境でのテスト
  • Ubuntu環境での動作確認
  • エラーケースのハンドリング確認
  • パフォーマンステスト

成果物

  • 修正されたserver.jsファイル
  • 新規作成: utils/compatibility.js
  • テスト結果レポート
  • 更新されたAPIドキュメント

他の形式にエクスポート: Atom PDF