News for hackers. Stuff that matters.

aelsabbahy

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.

I 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

I've also posted a tutorial video for the tool here: https://youtu.be/in1ItGKDr98
Re:Reddit is down on Thursday August 11, 2016 @07:24PM (#12272426)
"We had a slight issue with a routine software upgrade" - love the wording on that. Sounds like something I would tell my boss after accidentally taking prod down.
Makes sense, any examples of good/simple sites that come to mind?
Does it though? I feel I usually prefer to go to a github page of a project and will only resort to their website if the documentation only lives there. Maybe I'm in the minority :(
So right now I have a simple 302 redirect from a domain I own. I guess my question is more about the benefits of having a "site with more detailed information" vs readme + docs in markdown format in the repo itself?

Ask HN: What are the benefits of having a project webpage vs. GitHub README?

Aside from Google Analytics are there any other benefits to having a project webpage for an open source project?Are there any guides or statistics on the impact of having a webpage vs just a github repo?I'm artistically challenged, so I prefer to just have a README.md, but wondering if I'm missing out by not doing so? I'm currently at ~450 stars with just readme and an asciicast gif:...

( Read More... | 7 comments | 3 points | on HN )
I've also posted a tutorial video for the tool here: https://youtu.be/in1ItGKDr98
Re:Ask HN: Write tests for your infrastructure automation on Friday April 22, 2016 @11:59PM (#11554100)
I like to think to myself "If I had to verify this server manually what would I check?" and write automated tests for those. Usually, it's a few high level/important checks for critical services, ports, packages, and users. For configuration files I check for one setting and if it's there assume the rest are correct. Ultimately, it's mostly going by gut and balancing level of effort in maintaining a test vs increased level of confidence in the deployment from having said test.

Some tools out there:

* https://github.com/aelsabbahy/goss - YAML, simple, self-contained binary, extremely fast.

* https://github.com/indusbox/goss-ansible - Ansible module for goss, never used this, but you might find it useful

* http://serverspec.org/ - Ruby, most popular infra testing tool

* https://github.com/chef/inspec - Ruby, looks like an improved serverspec, almost same syntax, made by the chef guys

* https://github.com/philpep/testinfra - Python, don't know much about it, but mentioning it since Ansible is Python.

Spend a little bit of time experimenting with all of them, see which one you like.

Full disclosure: I'm the author of goss.

Re:Show HN: Goss – A serverspec-like tool written in go on Thursday October 22, 2015 @10:41AM (#10432497)
This blog post explains the difference between goss and serverspec better than I did:

http://www.unixdaemon.net/tools/testing-with-goss.html

Re:Show HN: Goss – A serverspec-like tool written in go on Wednesday October 21, 2015 @11:37AM (#10426153)
The concept of resource/system_resource was borrowed from projects like puppet, chef. ansible, specinfra, etc.

There's probably an opportunity to make this more generic by adding setter methods to the system_resources and extracting them out to their own repo. At that point it can be a shared library leveraged by goss and CM tools.. similar to how specinfra is used by serverspec and itamae.

Re:Show HN: Goss – A serverspec-like tool written in go on Wednesday October 21, 2015 @08:05AM (#10424869)
This is my first go program, wanted to learn the language. Any feedback on code and/or tool would be greatly appreciated.

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)

* 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

* 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

For more complicated workflows, the tool can be chained with other commands, ex:

curl http://url/to/static/or/dynamic/goss.json | goss validate