Documentation ¶
Index ¶
- Variables
- func AnalyzeSupportBundle(ctx context.Context, spec *troubleshootv1beta2.SupportBundleSpec, ...) ([]*analyzer.AnalyzeResult, error)
- func ConcatSpec(target *troubleshootv1beta2.SupportBundle, ...) *troubleshootv1beta2.SupportBundle
- func GetFilesContents(bundleArchive string, filenames []string) (map[string][]byte, error)
- func GetPodDetails(bundleArchive string, podNamespace string, podName string) (*types.PodDetails, error)
- func GetRedactorFromURI(redactorURI string) (*troubleshootv1beta2.Redactor, error)
- func GetRedactorsFromURIs(redactorURIs []string) ([]*troubleshootv1beta2.Redact, error)
- func GetSupportBundleFromURI(bundleURI string) (*troubleshootv1beta2.SupportBundle, error)
- func LoadRedactorSpec(arg string) ([]byte, error)
- func LoadSupportBundleSpec(arg string) ([]byte, error)
- func ParseRedactorsFromDocs(docs []string) ([]*troubleshootv1beta2.Redact, error)
- func ParseSupportBundle(doc []byte, followURI bool) (*troubleshootv1beta2.SupportBundle, error)
- func ParseSupportBundleFromDoc(doc []byte) (*troubleshootv1beta2.SupportBundle, error)
- func ProcessSupportBundleAfterCollection(spec *troubleshootv1beta2.SupportBundleSpec, archivePath string) (bool, error)
- type NodeList
- type RBACPermissionError
- type SupportBundleCreateOpts
- type SupportBundleResponse
Constants ¶
This section is empty.
Variables ¶
var (
SupportBundleNameRegex = regexp.MustCompile(`^\/?support-bundle-(\d{4})-(\d{2})-(\d{2})T(\d{2})_(\d{2})_(\d{2})\/?`)
)
Functions ¶
func AnalyzeSupportBundle ¶
func AnalyzeSupportBundle(ctx context.Context, spec *troubleshootv1beta2.SupportBundleSpec, tmpDir string) ([]*analyzer.AnalyzeResult, error)
AnalyzeSupportBundle performs analysis on a support bundle using the support bundle spec and an already unpacked support bundle on disk
func ConcatSpec ¶ added in v0.42.0
func ConcatSpec(target *troubleshootv1beta2.SupportBundle, source *troubleshootv1beta2.SupportBundle) *troubleshootv1beta2.SupportBundle
ConcatSpec the intention with these appends is to swap them out at a later date with more specific handlers for merging the spec fields
func GetFilesContents ¶ added in v0.19.0
GetFilesContents will return the file contents for filenames matching the filenames parameter.
func GetPodDetails ¶ added in v0.19.0
func GetRedactorFromURI ¶
func GetRedactorFromURI(redactorURI string) (*troubleshootv1beta2.Redactor, error)
GetRedactorFromURI parses a redactor from a URI into a Redactor object We will deprecate this in favour of use loader.LoadSpecs once the new API is stable
func GetRedactorsFromURIs ¶ added in v0.53.0
func GetRedactorsFromURIs(redactorURIs []string) ([]*troubleshootv1beta2.Redact, error)
GetRedactorsFromURIs parses redactors from a URIs Redactor objects We will deprecate this in favour of use loader.LoadSpecs once the new API is stable
func GetSupportBundleFromURI ¶
func GetSupportBundleFromURI(bundleURI string) (*troubleshootv1beta2.SupportBundle, error)
GetSupportBundleFromURI downloads and parses a support bundle from a URI and returns a SupportBundle object
func LoadRedactorSpec ¶
func LoadSupportBundleSpec ¶
func ParseRedactorsFromDocs ¶ added in v0.47.0
func ParseRedactorsFromDocs(docs []string) ([]*troubleshootv1beta2.Redact, error)
ParseRedactorsFromDocs parses a slice of YAML docs and returns a slice of Redactors We will deprecate this in favour of use loader.LoadSpecs once the new API is stable
func ParseSupportBundle ¶ added in v0.44.0
func ParseSupportBundle(doc []byte, followURI bool) (*troubleshootv1beta2.SupportBundle, error)
ParseSupportBundle parses a support bundle from a byte array into a SupportBundle object
func ParseSupportBundleFromDoc ¶
func ParseSupportBundleFromDoc(doc []byte) (*troubleshootv1beta2.SupportBundle, error)
ParseSupportBundle parses a support bundle from a byte array into a SupportBundle object We will deprecate this in favour of use loader.LoadSpecs once the new API is stable
func ProcessSupportBundleAfterCollection ¶
func ProcessSupportBundleAfterCollection(spec *troubleshootv1beta2.SupportBundleSpec, archivePath string) (bool, error)
ProcessSupportBundleAfterCollection performs the after collection actions, like Callbacks and sending the archive to a remote server.
Types ¶
type NodeList ¶ added in v0.105.2
type NodeList struct {
Nodes []string `json:"nodes"`
}
NodeList is a list of remote nodes to collect data from in a support bundle
type RBACPermissionError ¶ added in v0.106.0
type RBACPermissionError struct {
Forbidden []error
}
Custom error type for RBAC permission errors
func (*RBACPermissionError) Error ¶ added in v0.106.0
func (e *RBACPermissionError) Error() string
func (*RBACPermissionError) HasErrors ¶ added in v0.106.0
func (e *RBACPermissionError) HasErrors() bool
type SupportBundleCreateOpts ¶
type SupportBundleCreateOpts struct { CollectorProgressCallback func(chan interface{}, string) CollectWithoutPermissions bool HttpClient *http.Client KubernetesRestConfig *rest.Config Namespace string ProgressChan chan interface{} SinceTime *time.Time OutputPath string Redact bool FromCLI bool RunHostCollectorsInPod bool }
type SupportBundleResponse ¶
type SupportBundleResponse struct { AnalyzerResults []*analyzer.AnalyzeResult ArchivePath string FileUploaded bool }
func CollectSupportBundleFromSpec ¶
func CollectSupportBundleFromSpec( spec *troubleshootv1beta2.SupportBundleSpec, additionalRedactors *troubleshootv1beta2.Redactor, opts SupportBundleCreateOpts, ) (*SupportBundleResponse, error)
CollectSupportBundleFromSpec collects support bundle from start to finish, including running collectors, analyzers and after collection steps. Input arguments are specifications. if FromCLI option is set to true, the output is the name of the archive on disk in the cwd. if FromCLI option is set to false, the support bundle is archived in the OS temp folder (os.TempDir()).
func CollectSupportBundleFromURI ¶
func CollectSupportBundleFromURI(specURI string, redactorURIs []string, opts SupportBundleCreateOpts) (*SupportBundleResponse, error)
CollectSupportBundleFromURI collects support bundle from start to finish, including running collectors, analyzers and after collection steps. Input arguments are the URIs of the support bundle and redactor specs. The support bundle is archived in the OS temp folder (os.TempDir()).