Show HN: Goss 3.0: YAML, serverspec alternative now supports dynamic tests
github.comI posted goss to show HN a year ago, but a lot has changed since.
Changes since my initial post:
* Goss is now primarily YAML based (was JSON originally)
* Goss supports golang's text/template to allow tests to be dynamic https://github.com/aelsabbahy/goss/blob/master/docs/manual.m...
* Goss can expose test results as a /healthz endpoint
* Goss can sleep/retry until system is in a passing state, useful for docker waits, see: (https://medium.com/@aelsabbahy/docker-1-12-kubernetes-simpli...)
* Many enhancements and bug fixes
Some high level differences from serverspec/testinfra:
* Goss is self contained binary, no python/ruby needed
* Goss is YAML, not python/ruby DSL
* Goss can generate tests from system state using add/autoadd
* Goss can expose tests as a http health endpoint
* Goss can sleep/retry until a system is in a good state, this is useful in docker. See blog
* It runs extremely fast benchmark showing 1,000 tests running under 100ms
Some limitations:
* Goss has to run on the system locally, self-contained binary makes it simple to install.
* DSL will always have more flexibility in what you can do, but it's much simpler. So depends on what you're looking for.