All Projects → ahelal → Kitchen Goss

ahelal / Kitchen Goss

Licence: mit
A test-kitchen verifier plugin for GOSS

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

kitchen-goss

Gem Version Gem Downloads

A test-kitchen verifier plugin for GOSS

Intro

GOSS is a tool for validating a server's configuration. This kitchen plugin adds Goss support as a validation to kitchen. Since GOSS is written in GO lang. This plugin use sftp to push tests to remote machines no ruby is needed to run verify.

How to install

Ruby gem

gem install kitchen-goss

To install from code or develop

git clone [email protected]:ahelal/kitchen-goss.git
cd kitchen-goss
gem build kitchen-goss.gemspec
gem install kitchen-goss-<version>.gem

kitchen.yml configuration

verifier                    :
  name                      : "goss"
  sleep                     : 0
  use_sudo                  : true
  goss_version              : "v0.3.6"
  goss_link                 : "https://github.com/aelsabbahy/goss/releases/download/$VERSION/goss-linux-${ARCH}"
  goss_var_path             : "common.yml"
  env_vars                  : {"test_uid": 123}

kitchen.yml options

Besides the normal config in kitchen.yml goss validation can accept the following options.

default_config :sleep, 0
default_config :use_sudo, false
default_config :env_vars, {}
default_config :goss_version, "v0.1.5"
default_config :validate_output, "documentation"
default_config :custom_install_command, nil
default_config :goss_link, "https://github.com/aelsabbahy/goss/releases/download/$VERSION/goss-${DISTRO}-${ARCH}"
default_config :goss_download_path, "/tmp/goss-${VERSION}-${DISTRO}-${ARCH}"
default_config :goss_var_path, nil

Test structure

Lets say you have a suite name simple all yaml files will be uses for testing.

.kitchen.yml
test/
  \_integration/
    \_simple/
      \_goss/
        \_test1.yml
        |_test2.yml
        |_common.yml  # --vars common.yml with .Vars render, not for goss test

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].