The commands "run" and "gen" both accept a parameter for a Sonobuoy config file which allows you to customize multiple aspects of the run.
We've provided a command to generate the JSON file necessary so that it is easier to edit for your runs. Run the command:
sonobuoy gen config
and you will see the default configuration. Below is a description of each of the values.
Description: A string which provides consumers a way to add extra context to a configuration that may be in memory or saved to disk. Unused by Sonobuoy itself.
UUID: A unique identifier used to identify the run of this configuration. Used in a few places including the name of the results file.
Namespace: The namespace in which to run Sonobuoy.
WorkerImage: The image for the Sonobuoy worker container which runs as a sidecar along the plugins. Responsible for reporting results back to the Sonobuoy aggregator.
ImagePullPolicy: The image pull policy to set on the Sonobuoy worker sidecars as well as each of the plugins.
ResultsDir: The location on the Sonobuoy aggregator where the results are placed.
Version: The version of Sonobuoy which created the configuration file.
Plugins: An array of plugin selection objects of the plugins you want to run. When running custom plugins (or avoiding running a particular plugin) this value needs modified.
PluginSearchPath: The aggregator pod looks for plugin configurations in these locations. You shouldn't need to edit this unless you are doing development work on the aggregator itself.
Resources: A list of resources which Sonobuoy will query for in every namespace in which it runs queries. In the namespace in which Sonobuoy is running,
HorizontalPodAutoscalers are also added.
Filters: Options for filtering which resources queries should be run against.
Namespace: A regexp which specifies which namespaces to run queries against.
LabelSelector: A Kubernetes label selector which will be added to every query run.
Limits: Options for limiting the scope of response.
PodLogs: limits the scope when getting logs from pods. The supported parameters are:
Namespacesfield or on its own.
FieldSelectors = ["metadata.namespace=default","metadata.namespace=heptio-sonobuoy"]
FieldSelectors = ["metadata.namespace=default,metadata.name=pod1"]
SonobuoyNamespacefield or on its own.
LabelSelector = "app=nginx,layer in (frontend, backend)"
(Namespaces OR SonobuoyNamespace OR FieldSelectors) AND LabelSelector
For each candidate pod, the format and size of logs are defined by other fields. These will be passed onto Kubernetes PodLogOptions:
SinceTime: string. RFC3339 format.