golang

conoha-cliをgoで作った

僕はよくconohaのvpsを利用しています
理由は

  • 安い(aws)とくらべて
  • かつ時間課金
  • 課金すればスペック上げられる

です。

節約のために使うときだけマシンをbootしてたりしてましたが
ログインするのめんどくさいし、結構管理画面が重い。

なのでターミナルから指定マシンをON / OFFできるCLIを作りました。

https://github.com/smith-30/conoha-cli

できること

boot(起動)

$ ./build/bin/conoha-cli boot
2017-12-09T16:17:11.468+0900    INFO    client/boot.go:40   StatusCode 202

halt(シャットダウン)

$ ./build/bin/conoha-cli halt
2017-12-09T16:21:23.050+0900    INFO    client/halt.go:41   StatusCode 202

使い方

  1. build
$ go get github.com/smith-30/conoha-cli
$ cd $GOPATH/src/github.com/smith-30/conoha-cli
$ dep ensure -v
$ make build-cli
  1. 設定ファイル編集
$ vi .env.example
TenantID=
SERVER_ID=
API_USER=
API_PASSWORD=

SERVER_ID

サーバーの詳細からUUIDを設定

TenantID& API_USER & API_PASSWORD

スクリーンショット 2017-12-09 19.57.45.png

設定ファイルをバイナリパスに移動

$ cp .env.example build/bin/.env

test

$ ./build/bin/conoha-cli boot

VPS側でやっといたほうがいいこと

ubuntuであれば
/etc/rc.local にスクリプトを書くことで
起動時にそのコマンドが実行されます

僕は、bootしたときにdockerを動かしたいので下記のようにしています

/etc/rc.local
# <your-project-root> にMakefileがある
cd <your-project-root> && make start-app

反省

人に使ってもらうなら設定ファイル形式でなくて
パラメータ渡して使えるようにしたほうが良かった。
次回から気をつける