Goss – A serverspec-like tool written in go


The tool is intended to be a simple take on server validation. The idea is to be able to quickly define a system manifest and validate a system against it.

Differences from serverspec:

  • 10-30x faster depending on test suite (tests are run in parallel), near-instantaneous results, see benchmarks link above.
  • Can derive server state and generate a manifest from a running server
  • goss is meant to be simple, albeit less flexible
  • Uses JSON instead of DSL, but generates JSON for you
  • Manifests are static - no variables, conditionals, etc. If you need this, you should dynamically generate the JSON manifest.
  • Being in Go, it’s a self contained binary, no need for ruby
  • Supports a much smaller set of OSes/test types
  • The tool tries to be UNIXY, for more complicated workflows, the tool can be chained with other commands, ex:
    curl http://url/to/static/or/dynamic/goss.json | goss validate

Note: This is my first go program, wanted to learn the language. Any feedback on code and/or tool would be greatly appreciated.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.