3 ms·
Show HN: Goss 3.0: YAML, serverspec alternative now supports dynamic tests
- aelsabbahy 10y agoI 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.md#templates 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-simplified-health-checks-and-container-ordering-with-goss-fa8debbe676c#.kkhsup5xd https://medium.com/@aelsabbahy/docker-1-12-kubernetes-simpli...) * Many enhancements and bug fixes
- aelsabbahy 10y agoSome 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.