OSv CLIにコマンドを追加しよう
OSv CLIの使い方 - かーねる・う゛いえむにっきで見たとおり、現状CLIのコマンドは非常に少なく、REST APIを直接呼び出して一部の操作を行わざるを得ない状態です。
そこで、コマンドを足してOSvへコントリビューションしてみるのは如何でしょうか。
例えば、dateコマンドは以下のような非常に簡単なluaスクリプトで出来ています:
local cmd = {} cmd.desc = [[print the system date and time]] cmd.help = [[Usage: date Print OSv reported date.]] cmd.main = function() local content, status = osv_request({"os", "date"}, "GET") osv_resp_assert(status, 200) io.write(content, '\n') end return cmd
osv_request()によってREST APIが呼び出され、結果がcontentに代入されてio.write()でコンソールに出力されています。
コマンドを定義するluaスクリプトはmodules/cli/commands/に コマンド名.lua という名前で配置することになっています。
まだまだapiコマンド以外からアクセス出来ないREST API上の機能がいくつもあるので、ぜひ新しいコマンドを作成してみて下さい。