0.02
Repository is archived
No commit activity in last 3 years
No release in over 3 years
== DESCRIPTION: GOSS is a tool for validating a server's configuration. This kitchen plugin adds Goss support as a validation to test-kitchen. == FEATURES:
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0

Runtime

 Project Readme

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 git@github.com: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