Documentation ¶
Index ¶
- Constants
- Variables
- func AddAppLabels(requestInstance *ssp.SSP, name string, component AppComponent, ...) client.Object
- func AddConversionFunctions(s *runtime.Scheme) error
- func AppendDeepCopies[PT interface{ ... }, T any](destination []client.Object, objects []T) []client.Object
- func CheckOwnerAnnotation(obj client.Object, owner client.Object) bool
- func CipherIDs(names []string, logger *logr.Logger) (cipherSuites []uint16)
- func EnvOrDefault(envName string, defVal string) string
- func GetAppNameSelector(name string) (labels.Selector, error)
- func GetInfrastructureTopology(ctx context.Context, c client.Reader) (osconfv1.TopologyMode, error)
- func GetKnownCipherId(IANACipherName string) (uint16, bool)
- func GetOperatorNamespace(logger logr.Logger) (string, error)
- func GetOperatorVersion() string
- func GetTektonTasksDiskVirtImage() string
- func GetTektonTasksImage() string
- func GetVirtioImage() string
- func RunningOnOpenshift(ctx context.Context, cl client.Reader) (bool, error)
- func UpdateLabels(expected, found client.Object)
- type AppComponent
- type CleanupResult
- type OperationResult
- type ReconcileBuilder
- type ReconcileFunc
- type ReconcileOptions
- type ReconcileResult
- type Request
- type ResourceSpecGetter
- type ResourceStatus
- type ResourceStatusFunc
- type ResourceUpdateFunc
- type SSPTLSOptions
- type StatusMessage
- type VersionCache
Constants ¶
const ( OperatorVersionKey = "OPERATOR_VERSION" TemplateValidatorImageKey = "VALIDATOR_IMAGE" TektonTasksImageKey = "TEKTON_TASKS_IMAGE" TektonTasksDiskVirtImageKey = "TEKTON_TASKS_DISK_VIRT_IMAGE" VirtioImageKey = "VIRTIO_IMG" VmConsoleProxyImageKey = "VM_CONSOLE_PROXY_IMAGE" DefaultTektonTasksIMG = "quay.io/kubevirt/tekton-tasks:" + TektonTasksVersion DeafultTektonTasksDiskVirtIMG = "quay.io/kubevirt/tekton-tasks-disk-virt:" + TektonTasksVersion DefaultVirtioIMG = "quay.io/kubevirt/virtio-container-disk:v1.1.0" )
const ( AppKubernetesNameLabel = "app.kubernetes.io/name" AppKubernetesPartOfLabel = "app.kubernetes.io/part-of" AppKubernetesVersionLabel = "app.kubernetes.io/version" AppKubernetesManagedByLabel = "app.kubernetes.io/managed-by" AppKubernetesComponentLabel = "app.kubernetes.io/component" AppComponentTektonPipelines AppComponent = "tektonPipelines" AppComponentTektonTasks AppComponent = "tektonTasks" AppKubernetesManagedByValue string = "ssp-operator" TektonAppKubernetesManagedByValue string = "tekton-tasks-operator" )
const (
TektonTasksVersion = "v0.17.0"
)
Variables ¶
var (
SSPOperatorReconcileSucceeded = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "kubevirt_ssp_operator_reconcile_succeeded",
Help: "Set to 1 if the reconcile process of all operands completes with no errors, and to 0 otherwise",
})
)
var ( // Scheme used for the SSP operator. Scheme = runtime.NewScheme() )
Functions ¶
func AddAppLabels ¶ added in v0.2.0
func AddAppLabels(requestInstance *ssp.SSP, name string, component AppComponent, obj client.Object) client.Object
AddAppLabels to the provided obj Name will translate into the AppKubernetesNameLabel Component will translate into the AppKubernetesComponentLabel Instance wide labels will be taken from the request if available
func AddConversionFunctions ¶ added in v0.18.0
This function is useful in operand unit tests only
func AppendDeepCopies ¶ added in v0.19.0
func AppendDeepCopies[PT interface { *T client.Object }, T any](destination []client.Object, objects []T) []client.Object
AppendDeepCopies appends deep copies of objects from a source slice to a destination slice. This function is useful for creating a new slice containing deep copies of the provided objects.
The PT interface {*T ; client.Object } is a trick. It means that type PT satisfies an anonymous typeset defined directly in the function signature. This typeset interface { *T; client.Object } means that it is a pointer to T and implements interface client.Object.
Parameters:
- destination: The destination slice where the deep copies of objects will be appended.
- objects: A slice of objects (of type T) to be deep copied and appended to the destination slice.
Returns:
- The updated destination slice containing the appended deep copies of objects.
Type Parameters:
- PT: A type that is a pointer to the object type (should implement *T and client.Object interfaces).
- T: The actual object type.
func CheckOwnerAnnotation ¶ added in v0.13.0
func EnvOrDefault ¶
func GetAppNameSelector ¶ added in v0.17.0
func GetInfrastructureTopology ¶ added in v0.13.0
func GetKnownCipherId ¶ added in v0.16.2
func GetOperatorNamespace ¶ added in v0.16.1
func GetOperatorVersion ¶ added in v0.13.0
func GetOperatorVersion() string
func GetTektonTasksDiskVirtImage ¶ added in v0.18.0
func GetTektonTasksDiskVirtImage() string
GetDiskVirtSysprepImage returns disk-virt-sysprep task image url
func GetTektonTasksImage ¶ added in v0.18.0
func GetTektonTasksImage() string
GetSSHKeysStatusImage returns generate-ssh-keys task image url
func GetVirtioImage ¶ added in v0.18.0
func GetVirtioImage() string
GetVirtioImage returns virtio image url
func RunningOnOpenshift ¶ added in v0.16.2
func UpdateLabels ¶ added in v0.16.0
Types ¶
type AppComponent ¶ added in v0.2.0
type AppComponent string
const ( AppComponentMonitoring AppComponent = "monitoring" AppComponentSchedule AppComponent = "schedule" AppComponentTemplating AppComponent = "templating" )
func (AppComponent) String ¶ added in v0.2.0
func (a AppComponent) String() string
type CleanupResult ¶ added in v0.13.0
type OperationResult ¶ added in v0.13.0
type OperationResult string
const ( OperationResultNone OperationResult = "unchanged" OperationResultCreated OperationResult = "created" OperationResultUpdated OperationResult = "updated" OperationResultDeleted OperationResult = "deleted" )
type ReconcileBuilder ¶ added in v0.2.0
type ReconcileBuilder interface { NamespacedResource(client.Object) ReconcileBuilder ClusterResource(client.Object) ReconcileBuilder WithAppLabels(name string, component AppComponent) ReconcileBuilder UpdateFunc(ResourceUpdateFunc) ReconcileBuilder StatusFunc(ResourceStatusFunc) ReconcileBuilder ImmutableSpec(getter ResourceSpecGetter) ReconcileBuilder Options(options ReconcileOptions) ReconcileBuilder Reconcile() (ReconcileResult, error) }
func CreateOrUpdate ¶ added in v0.2.0
func CreateOrUpdate(request *Request) ReconcileBuilder
type ReconcileFunc ¶
type ReconcileFunc = func(*Request) (ReconcileResult, error)
type ReconcileOptions ¶ added in v0.13.2
type ReconcileOptions struct { // AlwaysCallUpdateFunc specifies if the UpdateFunc should be called // on changes that don't increase the .metadata.generation field. // For example, labels and annotations. AlwaysCallUpdateFunc bool }
type ReconcileResult ¶ added in v0.13.0
type ReconcileResult struct { Status ResourceStatus InitialResource client.Object Resource client.Object OperationResult OperationResult }
func CollectResourceStatus ¶
func CollectResourceStatus(request *Request, funcs ...ReconcileFunc) ([]ReconcileResult, error)
func ResourceDeletedResult ¶ added in v0.13.0
func ResourceDeletedResult(resource client.Object, res OperationResult) ReconcileResult
func (*ReconcileResult) IsSuccess ¶ added in v0.13.0
func (r *ReconcileResult) IsSuccess() bool
type Request ¶
type Request struct { reconcile.Request Client client.Client UncachedReader client.Reader Context context.Context Instance *ssp.SSP Logger logr.Logger VersionCache VersionCache TopologyMode osconfv1.TopologyMode CrdList crd_watch.CrdList }
func (*Request) IsSingleReplicaTopologyMode ¶ added in v0.13.0
type ResourceSpecGetter ¶ added in v0.13.0
type ResourceStatus ¶
type ResourceStatus struct { Progressing StatusMessage NotAvailable StatusMessage Degraded StatusMessage }
type ResourceStatusFunc ¶
type ResourceStatusFunc = func(resource client.Object) ResourceStatus
type ResourceUpdateFunc ¶
type SSPTLSOptions ¶ added in v0.16.1
func NewSSPTLSOptions ¶ added in v0.16.1
func NewSSPTLSOptions(tlsSecurityProfile *ocpv1.TLSSecurityProfile, logger *logr.Logger) (*SSPTLSOptions, error)
func (*SSPTLSOptions) IsEmpty ¶ added in v0.16.1
func (s *SSPTLSOptions) IsEmpty() bool
func (*SSPTLSOptions) MinTLSVersionId ¶ added in v0.16.1
func (s *SSPTLSOptions) MinTLSVersionId() (uint16, error)
type StatusMessage ¶
type StatusMessage = *string
type VersionCache ¶
type VersionCache map[cacheKey]cacheValue
func (VersionCache) Add ¶
func (v VersionCache) Add(obj client.Object)
func (VersionCache) RemoveObj ¶
func (v VersionCache) RemoveObj(obj client.Object)