simonbaeumer / goss Goto Github PK
View Code? Open in Web Editor NEWQuick and Easy server testing/validation
License: Apache License 2.0
Quick and Easy server testing/validation
License: Apache License 2.0
With the latest packer (1.5.1), I started to get the following error with goss:
Failed to initialize build 'amazon-ebs': error initializing provisioner 'goss': Incompatible API version with plugin. Plugin version: 4, Ours: 5
Using goss 0.6.0
Removal of the system
package could be a good thing because it doesn't need to be abstracted behind an interface. It just gathers information about the system under test, which could be done by simple libraries/packages.
Feature request to create a brew formula for installing goss package on a Mac with:
brew install goss
It would be great if you could give the HTTPS request a client certificate.
Certificate format like:
-----BEGIN CERTIFICATE ----- ASDASDASDASDASDASDASD ASDASDASDASDASD .... -----END CERTIFICATE -----
I want to integrate some security checks.
For this purpose I would like to add https://github.com/securego/gosec
goss
inside a docker imagecp
and mount
strategyFollow golang best practices
I want to be able to scan for outdated go dependencies like greenkeeper for nodejs.
It would be super cool to add resource with plugins
For several processes on my RHEL 7.3 server, goss seems to misrecord the statuses of processes...
As a test, I pipe every process in ps into a goss add process command...
for p in $(ps -ef | grep -v '\[' | cut -b49- | cut -d" " -f1 | cut -d: -f1 | rev | cut -d/ -f1 | rev |sort -u); do ../goss a process ${p} done
Apart from the fluff (CMD from ps header, and ps, cut, rev, sort used in the command above), one would expect all these processes to be actual running processes. Yet, goss reports several of them as NOT running.
If I take just systemd processes as an example:
ps -ef | grep systemd root 1 0 0 May21 ? 00:00:51 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 898 1 0 May21 ? 00:01:01 /usr/lib/systemd/systemd-journald root 932 1 0 May21 ? 00:00:00 /usr/lib/systemd/systemd-udevd dbus 2353 1 0 May21 ? 00:00:23 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation root 2383 1 0 May21 ? 00:00:08 /usr/lib/systemd/systemd-logind
We see 4 processes all running since May 21. If we examine the goss.yaml file we see this:
grep -A1 systemd goss.yaml systemd: running: true systemd-journald: running: false systemd-logind: running: true systemd-udevd: running: true
3 of the 4 are listed as running, but even though systemd-journald is running, it is reported as false...
Whatever is happening is consistent, in the sense that validation will pass confirming "systemd-journald" is not running when goss re-executes.
There are a few other processes (excluding ps, cut, rev, sort from the command that fed goss) from a vendor product on my system that similarly report as running false when they are actually running...
Any idea what is happening to cause this strange behavior?
[This is using v0.3.7 AMD64]
Imported from goss-org/goss#451
Hi,
I've two ideas.
- I'd like to define multiple commands in goss.yml and I expect they are being run in the same order as they go in the file. But they do not run in the same order, sometimes they do. It looks like they run randomly.
Example of commands:
- mount a NFS share
- check permissions
- unmount the share.
It would be great if it possible to define either order of execution (maybe add an option "priority") or just follow the order the commands are defined in goss.yml.
- I feel a big inconvenience in running multiple commands using "command" test. It would be awesome to have a test called script where I can specify a code of a multiline script. This might look like this:
script: myscript: body: | #!/bin/bash, #!/usr/bin/env python, #!/usr/bin/awk, #!/usr/bin/sed, etc as many as need shell/python/awk/etc commands or other script language instructions on many lines exit-status: stdout: [] ... etc ...
I know I can put needed scripts on a target host/image and execute it using command but the powerfull side of Goss is a simplicity. I wouldn't like to split a simple configuration into multiple pieces.
Thanks,
Dmitrii
Imported from goss-org/goss#455
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.