最近のHyperionあらためTriglav
「サーバ管理の仕組みを作り始めた話」というエントリで書いたツールの最近について。
名称変更
まず、名前がHyperionからTriglavに変わりました。既にHyperionという名前のgemがあったため。Triglavというのも、mizzyさん命名で、元ネタはアレです。
開発進捗
開発はぼちぼち進んでいて、とりあえず骨子の機能はひと通りできてきた感じ。あとは、ホストに最低限必要な情報を拡充したりなど、細かい追加をしようという段階。いまは主に、APIの実装をしているところ。とりあえず、ホスト情報などを引くところはできた。
たとえばcapistranoでのデプロイに使う場合、こんな感じで、APIからホスト情報をひっぱってこれる。
triglav_host = 'triglav.pb' api_token = 'P96i2OUWQv_HdyXcSKHcuw' role :app do open "http://#{triglav_host}/api/services/#{application}/roles/app/hosts?api_token=#{api_token}" do |f| json = f.read hosts = JSON.parse(json) hosts.map { |host| host['host']['name'] } end end
これだとちょっとダサいので、triglav-client
みたいなのを作って、こうしたいところ。
triglav_host = 'triglav.pb' api_token = 'P96i2OUWQv_HdyXcSKHcuw' client = Triglav::Client.new(host: triglav_host, token: api_token) role :app do client.hosts_for(service: application, role: 'app) end
開発体制
デザインが素のbootstrapでイケてないので、同僚のデザイナにお願いしていい感じのデザインにしてもらっている。また、実際にこのツールをよく使うことになるだろうインフラエンジニアたちへの説明や、Rails学習のために、mizzyさん主導でハンズオン形式の勉強会を行ったりしている。
まずは、仕様的に足りないところについてissueを出してもらったりして、学習が進めば、実装などもしてもらいたいというつもり。「インフラエンジニアもコード書けないと!」みたいなことがいわれている昨今ですが、このようなツールの機能追加などから始めてみるのもよいのではないでしょうか。