v1alpha2

package
v0.0.0-...-f39afbd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the nodeobservability v1alpha2 API group +kubebuilder:object:generate=true +groupName=nodeobservability.olm.openshift.io

Copyright 2022.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	// DebugEnabled is the condition type used to inform state of enabling the
	// debugging configuration for the requested services
	// DebugEnabled has the following options:
	//   Status:
	//   - True
	//   - False
	//   Reason:
	//   - Enabled
	//   - Disabled
	DebugEnabled string = "DebugEnabled"

	// DebugReady is the condition type used to inform state of readiness of the
	// debugging configuration for the requested services
	//   Status:
	//   - True
	//   - False
	//   Reason:
	//   - Progressing
	//   - Failed
	//   - Ready: config successfully applied and ready
	DebugReady string = "Ready"

	// DebugFinished is the condition type used to inform state of running debug
	// operation
	//   Status:
	//   - True
	//   - False
	//   Reason:
	//   - Progressing
	//   - Failed
	//   - Finished
	DebugFinished string = "Finished"
)
View Source
const (
	ReasonEnabled string = "Enabled"

	ReasonDisabled string = "Disabled"

	ReasonReady string = "Ready"

	ReasonFinished string = "Finished"

	ReasonFailed string = "Failed"

	ReasonInProgress string = "Progressing"

	ReasonInvalid string = "Invalid"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "nodeobservability.olm.openshift.io", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AgentNode

type AgentNode struct {
	Name string `json:"name,omitempty"`
	IP   string `json:"ip,omitempty"`
	Port int32  `json:"port,omitempty"`
}

func (*AgentNode) DeepCopy

func (in *AgentNode) DeepCopy() *AgentNode

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentNode.

func (*AgentNode) DeepCopyInto

func (in *AgentNode) DeepCopyInto(out *AgentNode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionalStatus

type ConditionalStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*ConditionalStatus) DeepCopy

func (in *ConditionalStatus) DeepCopy() *ConditionalStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalStatus.

func (*ConditionalStatus) DeepCopyInto

func (in *ConditionalStatus) DeepCopyInto(out *ConditionalStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConditionalStatus) GetCondition

func (c *ConditionalStatus) GetCondition(t string) *metav1.Condition

func (*ConditionalStatus) SetCondition

func (c *ConditionalStatus) SetCondition(t string, cs metav1.ConditionStatus, reason, msg string) bool

type NodeObservability

type NodeObservability struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeObservabilitySpec   `json:"spec,omitempty"`
	Status NodeObservabilityStatus `json:"status,omitempty"`
}

NodeObservability prepares a subset of worker nodes (identified by a label) for running node observability queries, such as profiling

func (*NodeObservability) DeepCopy

func (in *NodeObservability) DeepCopy() *NodeObservability

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservability.

func (*NodeObservability) DeepCopyInto

func (in *NodeObservability) DeepCopyInto(out *NodeObservability)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservability) DeepCopyObject

func (in *NodeObservability) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeObservability) Hub

func (*NodeObservability) Hub()

Hub marks this type as a conversion hub.

func (*NodeObservability) SetupWebhookWithManager

func (r *NodeObservability) SetupWebhookWithManager(mgr ctrl.Manager) error

type NodeObservabilityDebug

type NodeObservabilityDebug struct {
	// EnableCrioProfiling is for enabling profiling of CRI-O service
	EnableCrioProfiling bool `json:"enableCrioProfiling,omitempty"`
}

NodeObservabilityDebug is for holding the configurations defined for enabling debugging of services

func (*NodeObservabilityDebug) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityDebug.

func (*NodeObservabilityDebug) DeepCopyInto

func (in *NodeObservabilityDebug) DeepCopyInto(out *NodeObservabilityDebug)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilityList

type NodeObservabilityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeObservability `json:"items"`
}

NodeObservabilityList contains a list of NodeObservability

func (*NodeObservabilityList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityList.

func (*NodeObservabilityList) DeepCopyInto

func (in *NodeObservabilityList) DeepCopyInto(out *NodeObservabilityList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityList) DeepCopyObject

func (in *NodeObservabilityList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeObservabilityMachineConfig

type NodeObservabilityMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeObservabilityMachineConfigSpec   `json:"spec,omitempty"`
	Status NodeObservabilityMachineConfigStatus `json:"status,omitempty"`
}

NodeObservabilityMachineConfig is the Schema for the nodeobservabilitymachineconfigs API

func (*NodeObservabilityMachineConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityMachineConfig.

func (*NodeObservabilityMachineConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityMachineConfig) DeepCopyObject

func (in *NodeObservabilityMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeObservabilityMachineConfig) Hub

Hub marks this type as a conversion hub.

func (*NodeObservabilityMachineConfig) SetupWebhookWithManager

func (r *NodeObservabilityMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

type NodeObservabilityMachineConfigList

type NodeObservabilityMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeObservabilityMachineConfig `json:"items"`
}

NodeObservabilityMachineConfigList contains a list of NodeObservabilityMachineConfig

func (*NodeObservabilityMachineConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityMachineConfigList.

func (*NodeObservabilityMachineConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityMachineConfigList) DeepCopyObject

func (in *NodeObservabilityMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeObservabilityMachineConfigSpec

type NodeObservabilityMachineConfigSpec struct {
	Debug NodeObservabilityDebug `json:"debug,omitempty"`
	// +kubebuilder:validation:Required
	// NodeSelector is a map of key:value pair that are used to match against node labels to be configured
	NodeSelector map[string]string `json:"nodeSelector"`
}

NodeObservabilityMachineConfigSpec defines the desired state of NodeObservabilityMachineConfig

func (*NodeObservabilityMachineConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityMachineConfigSpec.

func (*NodeObservabilityMachineConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilityMachineConfigStatus

type NodeObservabilityMachineConfigStatus struct {
	// conditions represents the latest available observations of current operator state.
	// +optional
	ConditionalStatus `json:",inline,omitempty"`

	// lastReconcile is the time of last reconciliation
	// +nullable
	LastReconcile metav1.Time `json:"lastReconcile"`
}

NodeObservabilityMachineConfigStatus defines the observed state of NodeObservabilityMachineConfig

func (*NodeObservabilityMachineConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityMachineConfigStatus.

func (*NodeObservabilityMachineConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityMachineConfigStatus) IsDebuggingEnabled

func (s *NodeObservabilityMachineConfigStatus) IsDebuggingEnabled() bool

IsDebuggingEnabled returns true if Debugging is enabled

func (*NodeObservabilityMachineConfigStatus) IsDebuggingFailed

func (s *NodeObservabilityMachineConfigStatus) IsDebuggingFailed() bool

IsDebuggingFailed returns true if Debugging has failed

func (*NodeObservabilityMachineConfigStatus) IsMachineConfigInProgress

func (s *NodeObservabilityMachineConfigStatus) IsMachineConfigInProgress() bool

IsMachineConfigInProgress returns true if MachineConfig configuration is being applied

func (*NodeObservabilityMachineConfigStatus) IsReady

IsReady returns true if debugging configuration is successfully applied and ready

func (*NodeObservabilityMachineConfigStatus) UpdateLastReconcileTime

func (s *NodeObservabilityMachineConfigStatus) UpdateLastReconcileTime()

UpdateLastReconcileTime is for updating LastReconcile in NodeObservabilityMachineConfigStatus

type NodeObservabilityRef

type NodeObservabilityRef struct {
	// Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
	Name string `json:"name"`
	// Type , this is used to differentiate from the current crio-kubelet profiling and scripting execution
	Type NodeObservabilityType `json:"type"`
}

NodeObservabilityRef is the reference to the parent NodeObservability resource

func (*NodeObservabilityRef) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityRef.

func (*NodeObservabilityRef) DeepCopyInto

func (in *NodeObservabilityRef) DeepCopyInto(out *NodeObservabilityRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilityRun

type NodeObservabilityRun struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeObservabilityRunSpec   `json:"spec,omitempty"`
	Status NodeObservabilityRunStatus `json:"status,omitempty"`
}

NodeObservabilityRun is a request to run observability actions on the nodes previously selected in NodeObservability resource

func (*NodeObservabilityRun) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityRun.

func (*NodeObservabilityRun) DeepCopyInto

func (in *NodeObservabilityRun) DeepCopyInto(out *NodeObservabilityRun)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityRun) DeepCopyObject

func (in *NodeObservabilityRun) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeObservabilityRunList

type NodeObservabilityRunList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeObservabilityRun `json:"items"`
}

NodeObservabilityRunList contains a list of NodeObservabilityRun

func (*NodeObservabilityRunList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityRunList.

func (*NodeObservabilityRunList) DeepCopyInto

func (in *NodeObservabilityRunList) DeepCopyInto(out *NodeObservabilityRunList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityRunList) DeepCopyObject

func (in *NodeObservabilityRunList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeObservabilityRunSpec

type NodeObservabilityRunSpec struct {

	// NodeObservabilityRef is the reference to the parent NodeObservability resource
	NodeObservabilityRef *NodeObservabilityRef `json:"nodeObservabilityRef"`
}

NodeObservabilityRunSpec defines the desired state of NodeObservabilityRun

func (*NodeObservabilityRunSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityRunSpec.

func (*NodeObservabilityRunSpec) DeepCopyInto

func (in *NodeObservabilityRunSpec) DeepCopyInto(out *NodeObservabilityRunSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilityRunStatus

type NodeObservabilityRunStatus struct {
	// StartTimestamp represents the server time when the NodeObservabilityRun started.
	// When not set, the NodeObservabilityRun hasn't started.
	// It is represented in RFC3339 form and is in UTC.
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// FinishedTimestamp represents the server time when the NodeObservabilityRun finished.
	// When not set, the NodeObservabilityRun isn't known to have finished.
	// It is represented in RFC3339 form and is in UTC.
	FinishedTimestamp *metav1.Time `json:"finishedTimestamp,omitempty"`

	// Agents represents the list of Nodes that are included in this Run.
	// Agents are Pods, and as such, not all are always ready/available
	Agents []AgentNode `json:"agents,omitempty"`

	// FailedAgents represents the list of Nodes that could not be included in this Run
	// This could be due to Node/Pod/Network failure
	FailedAgents []AgentNode `json:"failedAgents,omitempty"`

	// Conditions contain details for aspects of the current state of this API Resource.
	ConditionalStatus `json:"conditions,omitempty"`

	// Output is the output location of this NodeObservabilityRun
	// When not set, no output location is known
	Output *string `json:"output,omitempty"`
}

NodeObservabilityRunStatus defines the observed state of NodeObservabilityRun

func (*NodeObservabilityRunStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityRunStatus.

func (*NodeObservabilityRunStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilitySpec

type NodeObservabilitySpec struct {
	// +kubebuilder:validation:Required
	// NodeSelector is map of key:value pairs that are used to match against node labels to be observed
	NodeSelector map[string]string `json:"nodeSelector"`
	// +kubebuilder:validation:Required
	// Type defines the type of profiling queries, which will be enabled
	// The following types are supported:
	//   * crio-kubelet - 30s of /pprof data, requesting this type might cause node restart
	//   * scripting - execute a bash script on the desired nodes
	Type NodeObservabilityType `json:"type"`
}

NodeObservabilitySpec defines the desired state of NodeObservability

func (*NodeObservabilitySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilitySpec.

func (*NodeObservabilitySpec) DeepCopyInto

func (in *NodeObservabilitySpec) DeepCopyInto(out *NodeObservabilitySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeObservabilityStatus

type NodeObservabilityStatus struct {
	// Count is the number of pods (one for each node) the daemon is deployed to
	Count      int32        `json:"count"`
	LastUpdate *metav1.Time `json:"lastUpdated,omitempty"`
	// Conditions contain details for aspects of the current state of this API Resource.
	ConditionalStatus `json:"conditions,omitempty"`
}

NodeObservabilityStatus defines the observed state of NodeObservability

func (*NodeObservabilityStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservabilityStatus.

func (*NodeObservabilityStatus) DeepCopyInto

func (in *NodeObservabilityStatus) DeepCopyInto(out *NodeObservabilityStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeObservabilityStatus) IsReady

func (s *NodeObservabilityStatus) IsReady() bool

IsDebuggingFailed returns true if Debugging has failed

type NodeObservabilityType

type NodeObservabilityType string

+kubebuilder:validation:Enum=crio-kubelet;scripting

const (
	CrioKubeletNodeObservabilityType NodeObservabilityType = "crio-kubelet"
	ScriptingNodeObservabilityType   NodeObservabilityType = "scripting"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL