[Goss] テスト項目を作成する (autoaddコマンドの使い方)

Gossは構築したサーバーの構成や設定が正しいかを、すばやく簡単に確認できるツールです。

Goss – Quick and Easy server validation

https://github.com/aelsabbahy/goss
同様のツールにServerspecがありますが、GossはYAMLでテスト項目を設定します。
テスト項目を自動的に作成するのにgoss addコマンドとgoss autoaddコマンドがあります。今回はautoaddコマンドの基本的な使い方を紹介します。

1. 基本的な使い方

autoaddコマンドは、指定したリソースに対して存在するリソースタイプのテスト項目を自動的に追加します。

goss autoadd resource

自動的に追加できるリソースタイプは、以下の項目です。

リソースタイプ 説明
file ファイル、ディレクトリ、シンボリックリンクの状態を確認します。 *対象のリソースとして’/’が含まれている場合のみ。
group ユーザーグループの状態を確認します。
package パッケージの状態を確認します。
port ポートの状態を確認します。 *rootでgossコマンドを実行時に取得可能
process プロセスの状態を確認します。
service サービスの状態を確認します。
user ユーザーの状態を確認します。

2. 実行例

nginxリソースのテスト項目をautoaddコマンドで作成してみます。

$ sudo goss autoadd nginx
Adding Group to './goss.yaml':

nginx:
  exists: true
  gid: 117


Adding Package to './goss.yaml':

nginx:
  installed: true
  versions:
  - 1.13.9-1~artful


Adding Process to './goss.yaml':

nginx:
  running: true


Adding Port to './goss.yaml':

tcp:80:
  listening: true
  ip:
  - 0.0.0.0


Adding Service to './goss.yaml':

nginx:
  enabled: false
  running: true


Adding User to './goss.yaml':

nginx:
  exists: true
  uid: 113
  gid: 117
  groups:
  - nginx
  home: /nonexistent
  shell: /bin/false

 
以上、goss autoaddコマンドの使い方の紹介でした。