usacloud-update

module
v1.9.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2025 License: Apache-2.0

README

usacloud-update

Go

usacloud v0/v1.0/v1.1 混在スクリプトを v1.1 互換に自動変換 + サンドボックス実行

usacloud-update は、異なるバージョンの usacloud コマンドが混在した bash スクリプトを v1.1 で動作するように自動変換するツールです。さらに、Sakura Cloud サンドボックス環境での実際のテスト実行まで一貫してサポートします。

🎉 v2.0.0 安定版リリース - 本番環境での利用を推奨します。環境変数自動検出、100%テスト成功体制、包括的なサンドボックス機能を備えた企業利用対応版です。

🎉 v2.0.0 安定版主要機能(本番利用推奨)

サンドボックス実行

変換したコマンドを Sakura Cloud tk1v ゾーンで料金なしで実際にテスト実行します。

インタラクティブ TUI ✅安定版

直感的なターミナル UI でコマンドを選択・実行・結果確認します。

  • ?キー: ヘルプパネル表示/非表示切り替え ✅安定機能
  • スペースキー: コマンド選択/解除
  • エンターキー: 選択したコマンド実行
100%テスト成功保証 ✅安定版

行動駆動開発と全自動テストによる企業品質保証です。

  • 19パッケージ全テスト成功: 全モジュールの動作保証 ✅安定
  • BDD統合テスト: make bdd で動作仕様の自動検証
  • 56.1%テストカバレッジ: 5,175+行のテストコード
スマート設定管理 ✅安定版 (PBI-026完成)

環境変数を自動検出し、即座セットアップを実現する機能です。

  • 環境変数自動検出: usacloud-update config でSAKURACLOUD_ACCESS_TOKEN等を自動チェック ✅安定
  • 5分→30秒へ短縮: 初回設定時間の83%短縮を実現 ✅安定
  • 厳密検証モード: --strict-validation フラグによる高精度検証
柔軟な実行モード
  • インタラクティブモード:TUI でコマンド個別選択・実行
  • バッチモード:全コマンド自動実行
  • ドライランモード:実行せずに結果プレビュー

クイックスタート

基本的な変換
# パイプラインで使用
cat input.sh | usacloud-update > output.sh

# ファイル指定変換(従来方式)
usacloud-update --in script.sh --out updated_script.sh
サンドボックス実行
# 新しいサブコマンド形式(推奨)
usacloud-update sandbox script.sh
usacloud-update sandbox --dry-run script.sh
usacloud-update sandbox --batch script.sh
usacloud-update sandbox --interactive script.sh

# 従来のフラグ形式(後方互換性)
usacloud-update --sandbox --in script.sh
usacloud-update --sandbox --dry-run --in script.sh
usacloud-update --sandbox --batch --in script.sh
検証とツール管理
# スクリプト検証(新機能)
usacloud-update validate script.sh

# 設定管理(環境変数自動検出対応)
usacloud-update config

# 厳密検証モード(新機能)
usacloud-update --strict-validation script.sh

# バージョン確認
usacloud-update version
ヘルプとドキュメント
# ヘルプの表示(3つの方法)
usacloud-update -h
usacloud-update --help
usacloud-update help    # サブコマンド形式

# バージョン情報の表示
usacloud-update --version
usacloud-update -v

インストール

ユーザー向けインストール
# リポジトリをクローン
git clone https://github.com/armaniacs/usacloud-update.git
cd usacloud-update

# ビルド
make build

# 動作確認
./bin/usacloud-update --version
OS別詳細ビルドガイド

プラットフォーム固有のビルド環境セットアップ、トラブルシューティング、最適化については以下をご覧ください:

開発者向けセットアップ
# 開発環境セットアップ
git clone https://github.com/armaniacs/usacloud-update.git
cd usacloud-update

# 依存関係インストール
go mod tidy

# 開発ツール実行
make build          # ビルド
make test           # テスト実行
make bdd            # BDDテスト
make vet            # 静的解析
make fmt            # コード整形

# ドキュメント確認
open ref/detailed-implementation-reference.md

設定

サンドボックス機能には Sakura Cloud の API 認証情報が必要です。

推奨: 設定ファイル方式(環境変数自動検出対応 ✨新機能)
# スマート設定:環境変数がある場合は自動検出・変換提案
usacloud-update config

# 初回実行時に対話的に設定ファイルを作成
usacloud-update --sandbox --in your-script.sh

# または手動で設定ファイルを作成
cp usacloud-update.conf.sample ~/.config/usacloud-update/usacloud-update.conf
# APIキーを編集
従来: 環境変数方式
export SAKURACLOUD_ACCESS_TOKEN="your-access-token"
export SAKURACLOUD_ACCESS_TOKEN_SECRET="your-access-token-secret"

# 注意:環境変数がある場合、usacloud-update config で設定ファイル移行を提案

主な変換ルール

  • 出力形式:CSV/TSV → JSON(--output-type=json
  • セレクタ廃止:--selector name=xxxxxx(引数化)
  • リソース名変更:iso-imagecdromstartup-scriptnote
  • 廃止コマンド:自動コメントアウト + 手動対応指示

品質保証

包括的テスト体制(完全安定化達成 ✨新機能)
  • 完全テスト成功(make test:17テストパッケージで100%成功・安定化完了
  • BDD テスト完全実装(make bdd:7つのプレースホルダ関数を完全実装
  • E2E統合テスト:ユーザーワークフロー・エラーシナリオの包括的検証
  • 多層テスト実装:E2E/統合/BDD/パフォーマンス/回帰テスト
  • エッジケーステスト:並行処理、エラー条件、境界値を網羅
  • ゴールデンファイルテスト:出力比較による動作保証
実装完了度
  • コア機能:Transform Engine(100%カバレッジ)、Validation System
  • CLI拡張:厳密検証モード(--strict-validation)、引数処理最適化
  • TUI システム:インタラクティブUI、ヘルプシステム(62.7%カバレッジ)
  • サンドボックス:安全な実行環境(78.5%カバレッジ)
  • 設定管理:環境変数自動検出・変換システム(100%カバレッジ)
  • テストインフラ:5,175+行の包括的テストコード(完全安定化)
開発者支援
  • 包括的ドキュメント:2,383+行の詳細実装・テストガイド
  • 完全なAPIリファレンス:全パッケージの使用方法とサンプル
  • 段階的学習パス:初心者から上級者まで対応

ドキュメント

ユーザー向けドキュメント
開発者向け包括的リファレンス
技術アーキテクチャ
開発プロセス

開発者貢献

貢献の始め方
  1. 理解:実装詳細ガイド で全体アーキテクチャを把握
  2. 実装:API リファレンス で拡張ポイントを確認
  3. テスト:テストフレームワークガイド でテスト戦略を学習
主な貢献分野
  • Transform Engine:新しい変換ルールの追加(100%カバレッジ達成済み)
  • Validation System:コマンド検証機能の拡張
  • TUI Enhancement:ユーザーインターフェース改善
  • Testing:テストカバレッジ向上(現在56.1% → 目標80%)
開発ロードマップ
  • v2.0(2025 Q3-Q4):安定化リリース、品質向上とバグ修正に専念
  • v2.1以降:新機能の開発を再開(詳細は TODO-target-2_0.md を参照)

ライセンス

MIT License - 詳細は LICENSE ファイルを参照してください。

Directories

Path Synopsis
cmd
usacloud-update command
internal
bdd
transform
Package transform provides integrated transformation engine for usacloud-update
Package transform provides integrated transformation engine for usacloud-update
tui
validation
Package validation provides command validation functionality for usacloud-update
Package validation provides command validation functionality for usacloud-update
tests
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL