Overview
This is a big release filled with new features, bug fixes, and UX improvements for all Sonobuoy users and plugin developers.
Major Changes
- By default,
sonobuoy run --wait
andsonobuoy delete --wait
will now output much more information. This was an experimental feature for a release and it was extremely useful. When waiting on a run, the user is effectively given timestamped changes tosonobuoy status
data so you can see when plugins are progressing. When runningsonobuoy delete --wait
, the JSON for the namespace is output as it changes. This makes it clear what is causing namespace deletion to be slow or hang. - Adds some basic plugin management capabilities. You can now try out
sonobuoy plugin install <file or URL>
and it will store the plugin in a central location so that when you runsonobuoy run -p myplugin
the plugin doesn't have to reside in the present working directory. Expect a blog post on this feature as it is a very new capability and we have some ideas how to make it better. - Sonobuoy now supports plugin results in go-json format
- This is the format from
go test --json
and enables us to support the upstream e2e-framework. To write a plugin that uses this format, simply change theresult-type
togo-json
.
- This is the format from
- Added a
securityContext
by default and set the user/group/fsGroup; this prevents certain security tools from blocking typical Sonobuoy runs. This is not supported on Windows nodes so a flag was added to turn off this functionality (--security-context-mode=none
) if desired. - Adds multiple new env vars to plugin environments when run including:
SONOBUOY=true
to indicate that it was launched by SonobuoySONOBUOY_CONFIG_DIR
to identify where configmaps will be mounted atSONOBUOY_RESULTS_DIR
to identify where the results should be saved
- By default, Sonobuoy will now gather logs for all pods in
kube-system
and will query all API resources it can, including CRDs (but not secrets!) - Add
--rerun-failed
flag tosonobuoy run
. This takes a filename as a parameter and will walk the given tarball for e2e results and adjust theE2E_FOCUS
accordingly to target just those failed tests. This is meant to be a replacement for the oldersonobuoy e2e
command.
Minor Changes
sonobuoy gen
will not support all the flags thatsonobuoy run
does including things like--wait
and--skip-preflight
in order to make it easier to change back and forth betweenrun
andgen
for testing- Fixed a bug where
--level
was not respected on the aggregator container and added more logging at the--level=trace
. - Documented underlying issues with supporting Kubernetes for Docker Desktop
- Removed managed field data from the data that Sonobuoy queries. This is usually not relevant for users and is verbose and confusing.
- Fixed a bug which caused podLogs to only be gathered for one pod (typically the Sonobuoy aggregator)
- Adds a useful dev feature: if SONOBUOY_DEV_REPO is set, it will use that repo for the default Sonobuoy image to facilitate faster iteration
- Fixed a bug where a plugin's name would cause an invalid configmap name to be generated. A few more restrictions and validation were added to make the naming limitation more clear.
- Fixed a bug where, when a plugin failed, the Sonobuoy aggregator status would report itself as failed regardless of other plugins. This was originally by design but as we have more fine-grained reporting abilities now, it is not necessary and is potentially confusing.
Changelog
08bb70f Bump version and docs for v0.54.0 release
b214bb7 Add go-json output support for results
0e55157 Combine gen and run flags
623d739 Add tracing throughout code and ensure level is passed to server
57b5ecc Add known issue related to docker desktop
af87543 Add flag/config setting for security context
b633b4f Export and tweak some of the manual results methods/values
0ffc70b Add more auto env vars to plugins
df0e77d Default our experimental features to true
b51156c Increase default query data
2adb0a5 Removed managed fields from query output
b84102e Improve various logging points on aggregator
7d59d80 Adds easy way for devs to swap their own registry
fe560d0 Do not use deprecated SelfLink
ca27736 Add default security context to aggregator
0f94168 Added validation to gen [plugin] for plugin name
6df070d Adjust the logic for processing plugin results for aggregator status
57feff6 Update contributors on site
90abde6 Fix feature gate name
a189f91 Replace master with main
26b589b Show/maintain fewer versions of docs
dc458b5 Tweaks logging and how pluginList uses cache
f1060a2 Use experimental features in test
34a3fc3 Absorb e2e functionality into rerun-failed flag
baffa30 Add vulnerability scanning to CI
63394b6 Fix readme for github
d3bca9e Fix docs links for 1388 issue