Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ClusterResources = []string{
"CertificateSigningRequests",
"ClusterRoleBindings",
"ClusterRoles",
"ComponentStatuses",
"Nodes",
"PersistentVolumes",
"PodSecurityPolicies",
"ServerVersion",
"StorageClasses",
"ThirdPartyResources",
}
ClusterResources is the list of API resources that are scoped to the entire cluster (ie. not to any particular namespace)
var NamespacedResources = []string{
"ConfigMaps",
"DaemonSets",
"Deployments",
"Endpoints",
"Events",
"HorizontalPodAutoscalers",
"Ingresses",
"Jobs",
"LimitRanges",
"PersistentVolumeClaims",
"PodDisruptionBudgets",
"PodLogs",
"PodPresets",
"PodTemplates",
"Pods",
"ReplicaSets",
"ReplicationControllers",
"ResourceQuotas",
"RoleBindings",
"Roles",
"Secrets",
"ServiceAccounts",
"Services",
"StatefulSets",
}
NamespacedResources is the list of API resources that are scoped to a kubernetes namespace.
Functions ¶
func LoadClient ¶
func LoadClient(cfg *Config) (kubernetes.Interface, error)
LoadClient creates a kube-clientset, using given sonobuoy configuration
Types ¶
type Config ¶
type Config struct { /////////////////////////////////////////////// // Meta-Data collection options /////////////////////////////////////////////// Description string `json:"Description" mapstructure:"Description"` UUID string `json:"UUID" mapstructure:"UUID"` Version string `json:"Version" mapstructure:"Version"` ResultsDir string `json:"ResultsDir" mapstructure:"ResultsDir"` Kubeconfig string `json:"Kubeconfig" mapstructure:"Kubeconfig"` /////////////////////////////////////////////// // Data collection options /////////////////////////////////////////////// Resources []string `json:"Resources" mapstructure:"Resources"` /////////////////////////////////////////////// // Filtering options /////////////////////////////////////////////// Filters FilterOptions `json:"Filters" mapstructure:"Filters"` /////////////////////////////////////////////// // plugin configurations settings /////////////////////////////////////////////// Aggregation plugin.AggregationConfig `json:"Server" mapstructure:"Server"` PluginSelections []plugin.Selection `json:"Plugins" mapstructure:"Plugins"` PluginSearchPath []string `json:"PluginSearchPath" mapstructure:"PluginSearchPath"` PluginNamespace string `json:"PluginNamespace" mapstructure:"PluginNamespace"` LoadedPlugins []plugin.Interface // this is assigned when plugins are loaded. }
Config is the input struct used to determine what data to collect.
func LoadConfig ¶
LoadConfig will load the current sonobuoy configuration using the filesystem and environment variables, and returns a config object
func NewWithDefaults ¶
func NewWithDefaults() *Config
NewWithDefaults returns a newly-constructed Config object with default values.
func (*Config) FilterResources ¶
FilterResources is a utility function used to parse Resources
type FilterOptions ¶
type FilterOptions struct { Namespaces string `json:"Namespaces"` LabelSelector string `json:"LabelSelector"` }
FilterOptions allow operators to select sets to include in a report