Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BugReportConfig ¶
type BugReportConfig struct { // ConfigFilePath is the path to the meshctl config file ConfigFilePath string `json:"meshctlConfigPath,omitempty"` // KubeConfigPath is the path to kube config file KubeConfigPath string `json:"kubeConfigPath,omitempty"` // Context is the cluster Context in the kube config Context string `json:"context,omitempty"` // IstioNamespace is the namespace where the istio control plane is installed. IstioNamespace string `json:"istioNamespace,omitempty"` // GlooMeshNamespace is the namespace where Gloo Mesh installed. GlooMeshNamespace string `json:"glooMeshNamespace,omitempty"` // DryRun controls whether logs are actually captured and saved. DryRun bool `json:"dryRun,omitempty"` // FullSecrets controls whether secret contents are included. FullSecrets bool `json:"fullSecrets,omitempty"` // CommandTimeout is the maximum amount of time running the command // before giving up, even if not all logs are captured. Upon timeout, // the command creates an archive with only the logs captured so far. CommandTimeout Duration `json:"commandTimeout,omitempty"` // Include is a list of SelectionSpec entries for resources to include. Include SelectionSpecs `json:"include,omitempty"` // Exclude is a list of SelectionSpec entries for resources t0 exclude. Exclude SelectionSpecs `json:"exclude,omitempty"` // StartTime is the start time the the log capture time range. // If set, Since must be unset. StartTime time.Time `json:"startTime,omitempty"` // EndTime is the end time the the log capture time range. // Default is now. EndTime time.Time `json:"endTime,omitempty"` // Since defines the start time the the log capture time range. // StartTime is set to EndTime - Since. // If set, StartTime must be unset. Since Duration `json:"since,omitempty"` // CriticalErrors is a list of glob pattern matches for errors that, // if found in a log, set the highest priority for the log to ensure // that it is Include in the capture archive. CriticalErrors []string `json:"criticalErrors,omitempty"` // IgnoredErrors are glob error patterns which are ignored when // calculating the error heuristic for a log. IgnoredErrors []string `json:"ignoredErrors,omitempty"` }
BugReportConfig controls what is captured and Include in the kube-capture tool archive.
func (*BugReportConfig) String ¶
func (b *BugReportConfig) String() string
type SelectionSpec ¶
type SelectionSpec struct { Namespaces []string `json:"namespaces,omitempty"` Deployments []string `json:"deployments,omitempty"` Pods []string `json:"pods,omitempty"` Containers []string `json:"containers,omitempty"` Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` }
SelectionSpec is a spec for pods that will be Include in the capture archive. The format is:
Namespace1,Namespace2../Deployments/Pods/Label1,Label2.../Annotation1,Annotation2.../ContainerName1,ContainerName2...
Namespace, pod and container names are pattern matching while labels and annotations may have pattern in the values with exact match for keys. All labels and annotations in the list must match. All fields are optional, if they are not specified, all values match. Pattern matching style is glob. Exclusions have a higher precedence than inclusions. Ordering defines pod priority for cases where the archive exceeds the maximum size and some logs must be dropped.
Examples:
- All pods in test-namespace with label "test=foo" but without label "private" (with any value): include: test-namespace/*/*/test=foo exclude: test-namespace/*/*/private
2. Pods in all namespaces except "kube-system" with annotation "revision" matching wildcard 1.6*:
exclude: kube-system/*/*/*/revision=1.6*
3. Pods with "prometheus" in the name, except those with the annotation "internal=true":
include: */*/*prometheus* exclude: */*/*prometheus*/*/internal=true
- Container logs for all containers called "istio-proxy": include: */*/*/*/*/istio-proxy
func (*SelectionSpec) MarshalJSON ¶
func (s *SelectionSpec) MarshalJSON() ([]byte, error)
func (*SelectionSpec) UnmarshalJSON ¶
func (s *SelectionSpec) UnmarshalJSON(b []byte) error
type SelectionSpecs ¶
type SelectionSpecs []*SelectionSpec
func (SelectionSpecs) String ¶
func (s SelectionSpecs) String() string