2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gossAdvent Calendar 2019

Day 6

gossセットアップ

Last updated at Posted at 2019-12-05

本記事はgoss advent calender 2019参加記事です。

通常のセットアップは一行

curl -fsSL https://goss.rocks/install | sh

(https://github.com/aelsabbahy/goss)

またgoss開発元のシェルを使わずに手動インストールする場合は以下

curl -L https://github.com/aelsabbahy/goss/releases/download/_VERSION_/goss-linux-amd64 -o /usr/local/bin/goss
chmod +rx /usr/local/bin/goss

基本的にバイナリ一つで動く

インストールとして/usr/local/binに配置しようとしていますが、これも必須ではなく
ダウンロードしたバイナリに実行権限さえ付けて起動すればgossは実行可能です。

そのため、/tmpなどにテストシナリオのYAMLファイルと一緒に配置してテストを実行し
終わったら消すといった運用も可能です。

筆者は全て試しているわけではありませんが、主にRHEL系のOSでは何も依存ライブラリやパッケージ等を必要としないでgossは動いているのは確認しています。
(恐らくDebian、ubuntuでも同じです)

また設定ファイル等は持たず、DBとの連動もありません。非常にシンプルです。

なぜバイナリ一つで動くのか

ここからは幾分推測混じりです。

公式のSourceを見れば一目瞭然ですがgossはGoで書かれています。
(https://github.com/aelsabbahy/goss)

そのため必要な機能は全てバイナリにビルド済みの状態で提供されます。

この辺りは10数個ほどgemを使って動くRubyで書かれたserverspecと異なる点です。

またバイナリ一つの収めたのはgoss作者がシンプルさを追求してそのようにしたのではないか?と筆者は考えています。
別途configファイルを用意したり、他のソフトと連動させると便利にはなる反面セットアップが複雑化し、導入を断念されたりそれに関する問い合わせが増えるためです。

もちろん手厚くマニュアルを書く、というのも良いのですが、読まなくてもわかるというのはそういったベクトルと逆の方向の親切さだと思います。

gossを周りに勧める理由の一つでもあります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?