Skip to content

hypsakata/mdx-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MDX Tools

MDXのVM操作を行うためのコマンドラインツールです。

セットアップ

前提条件

Important

あらかじめMDXの「問い合わせ」からプロジェクトのREST APIを有効化してもらう必要があります。

必要な環境変数

export MDX_PROJECT_ID="your-project-id-here"
export MDX_BASE_URL="https://oprpl.mdx.jp"  # オプション(デフォルト値あり)

依存関係

  • curl
  • jq
  • bash

インストール

git clone https://github.com/hypsakata/mdx-tools.git
cd mdx-tools
chmod +x mdx.sh mdx-refresh-token.sh

ファイル構成

  • mdx.sh - メインスクリプト
  • mdx-refresh-token.sh - トークン更新スクリプト
  • 以下はライブラリファイル
    • lib/helpers.sh - ヘルパー関数
    • lib/api_client.sh - API呼び出し関数
    • lib/vm_commands.sh - VM操作関数
    • lib/managed_list.sh - VMリスト管理関数

データディレクトリ

キャッシュファイルは以下に保存されます:

  • デフォルト: $HOME/.mdx/
  • XDG Base Directory対応: $XDG_DATA_HOME/mdx/

使用方法

初期設定

  1. アクセストークンの設定

    • アクセストークンを取得してデータディレクトリ内の access_token に保存
    • (デフォルトでは $HOME/.mdx/access_token に保存)
  2. 環境変数の設定

    export MDX_PROJECT_ID="your-project-id"
  3. VMリストの初期取得

    ./mdx.sh update-list

Note

update-list でVMリストを取得していない場合、VM操作ではVMの名前ではなくUUIDを使用する必要があります。

VMリスト操作

# VMリストの更新
./mdx.sh update-list

# VMリストの表示
./mdx.sh show-list

VM操作

# VMの起動
./mdx.sh up <vm-id-or-name>
./mdx.sh power_on <vm-id-or-name>

# VMの休止
./mdx.sh deallocate <vm-id-or-name>

# VM情報の表示
./mdx.sh show-vm <vm-id-or-name>

# VM実行ステータスの表示
./mdx.sh show-status <vm-id-or-name>

Warning

VMの停止は実行速度を考慮し、ステータスを確認せずに強制的に停止します。データ損失の可能性があるため、注意して使用してください。

直接API呼び出し

# GETリクエスト
./mdx.sh get "api/endpoint"

# POSTリクエスト
./mdx.sh post "api/endpoint" '{"key": "value"}'

# PUTリクエスト
./mdx.sh put "api/endpoint" '{"key": "value"}'

# DELETEリクエスト
./mdx.sh delete "api/endpoint"

トークンの更新

アクセストークンの有効期限は3時間です。定期的に cron などを用いてトークンを更新する必要があります。

./mdx-refresh-token.sh

トラブルシューティング

  1. 環境変数が設定されていない

    エラー: 環境変数 MDX_PROJECT_ID が設定されていません。
    

    export MDX_PROJECT_ID="your-project-id" を実行してください

  2. アクセストークンが見つからない

    エラー: アクセストークンファイルが見つかりません
    

    $HOME/.mdx/access_token にトークンを保存してください

  3. HTTPエラー

    HTTPエラー: 401
    

    → アクセストークンの有効期限が切れている可能性があります。改めてトークンを取得して、access_token ファイルを手動で書き換えてください。

ライセンス

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages