v1alpha1

package
v0.0.0-...-dd01f2f Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the dhcp v1alpha1 API group +kubebuilder:object:generate=true +groupName=addons.managed.openshift.io

Common structs objects

Index

Constants

View Source
const (
	DefaultAddonInstanceName                  = "addon-instance"
	DefaultAddonInstanceHeartbeatUpdatePeriod = 10 * time.Second
)
View Source
const (
	// Addon operator is ready
	AddonOperatorReasonReady = "AddonOperatorReady"

	// Addon operator has paused reconciliation
	AddonOperatorReasonPaused = "AddonOperatorPaused"

	// Addon operator has resumed reconciliation
	AddonOperatorReasonUnpaused = "AddonOperatorUnpaused"
)

AddonOperator condition reasons

View Source
const (
	// Available condition indicates that the AddonOperator alive and well.
	AddonOperatorAvailable = "Available"

	// Paused condition indicates that the AddonOperator is paused entirely.
	AddonOperatorPaused = "Paused"
)
View Source
const (
	DeleteAnnotationFlag  = "addons.managed.openshift.io/delete"
	DeleteTimeoutDuration = "addons.managed.openshift.io/deletetimeout"
)

Annotation keys for delete signal from OCM.

View Source
const (
	// Addon as fully reconciled
	AddonReasonFullyReconciled = "FullyReconciled"

	// Addon is terminating
	AddonReasonTerminating = "Terminating"

	// Addon has a configurtion error
	AddonReasonConfigError = "ConfigurationError"

	// Addon has paused reconciliation
	AddonReasonPaused = "AddonPaused"

	// Addon has an unready Catalog source
	AddonReasonUnreadyCatalogSource = "UnreadyCatalogSource"

	// Addon has an unready additional Catalog source
	AddonReasonUnreadyAdditionalCatalogSource = "UnreadyAdditionalCatalogSource"

	// Addon has unready namespaces
	AddonReasonUnreadyNamespaces = "UnreadyNamespaces"

	// Addon has unready metrics federation
	AddonReasonUnreadyMonitoringFederation = "UnreadyMonitoringFederation"

	// Addon has unready monitoring stack
	AddonReasonUnreadyMonitoringStack = "UnreadyMonitoringStack"

	// Addon has unready ClusterPackageTemplate
	AddonReasonUnreadyClusterPackageTemplate = "UnreadyClusterPackageTemplate"

	// Addon has unready CSV
	AddonReasonUnreadyCSV = "UnreadyCSV"

	// CSV for the addon is missing
	AddonReasonMissingCSV = "MissingCSV"

	// Addon cannot find a referenced secret to propagate
	AddonReasonMissingSecretForPropagation = "MissingSecretForPropagation"

	// Addon upgrade has started.
	AddonReasonUpgradeStarted = "AddonUpgradeStarted"

	// Addon upgrade has succeeded.
	AddonReasonUpgradeSucceeded = "AddonUpgradeSucceeded"

	// Addon has successfully been uninstalled.
	AddonReasonInstalled = "AddonInstalled"

	// Addon has successfully been uninstalled.
	AddonReasonNotInstalled = "AddonNotInstalled"

	// Addon is ready to be deleted.
	AddonReasonReadyToBeDeleted = "AddonReadyToBeDeleted"

	// Addon is not yet ready to deleted.
	AddonReasonNotReadyToBeDeleted = "AddonNotReadyToBeDeleted"

	// Addon has timed out waiting for acknowledgement from the underlying addon.
	AddonReasonDeletionTimedOut = "AddonReasonDeletionTimedOut"

	// Addon instance is not yet installed.
	AddonReasonInstanceNotInstalled = "AddonInstanceNotInstalled"

	// Addon instance has been successfully installed.
	AddonReasonInstanceInstalled = "AddonInstanceInstalled"

	// Addon's Install Plan is pending due to some condition such as a manual approval.
	AddonReasonInstallPlanPending = "AddonInstallPlanPending"
)
View Source
const (
	// Available condition indicates that all resources for the Addon are reconciled and healthy
	Available = "Available"

	// Paused condition indicates that the reconciliation of resources for the Addon(s) has paused
	Paused = "Paused"

	// UpgradeStarted condition indicates that the addon upgrade has started.
	UpgradeStarted = "UpgradeStarted"

	// UpgradeSucceeded condition indicates that the addon upgrade has succeeded.
	UpgradeSucceeded = "UpgradeSucceeded"

	// Installed condition indicates that the addon has been installed successfully
	// and was available atleast once.
	Installed = "Installed"

	// ReadyToBeDeleted condition indicates whether the addon is ready to be deleted or not.
	ReadyToBeDeleted = "ReadyToBeDeleted"

	// DeleteTimeout condition indicates whether an addon has timed out waiting for an delete acknowledgement
	// from underlying addon.
	DeleteTimeout = "DeleteTimeout"
)
View Source
const (
	DefaultAddonOperatorName = "addon-operator"
)

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder runtime.SchemeBuilder

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

Functions

This section is empty.

Types

type AddOnStatusCondition

type AddOnStatusCondition struct {
	StatusType  string                 `json:"status_type"`
	StatusValue metav1.ConditionStatus `json:"status_value"`
	Reason      string                 `json:"reason"`
	Message     string                 `json:"message"`
}

func (*AddOnStatusCondition) DeepCopy

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

func (*AddOnStatusCondition) DeepCopyInto

func (in *AddOnStatusCondition) DeepCopyInto(out *AddOnStatusCondition)

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

type AdditionalCatalogSource

type AdditionalCatalogSource struct {
	// Name of the additional catalog source
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Image url of the additional catalog source
	// +kubebuilder:validation:MinLength=1
	Image string `json:"image"`
}

func (*AdditionalCatalogSource) DeepCopy

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

func (*AdditionalCatalogSource) DeepCopyInto

func (in *AdditionalCatalogSource) DeepCopyInto(out *AdditionalCatalogSource)

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

type Addon

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

	Spec AddonSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status AddonStatus `json:"status,omitempty"`
}

Addon is the Schema for the Addons API

**Example** ```yaml apiVersion: addons.managed.openshift.io/v1alpha1 kind: Addon metadata:

name: reference-addon

spec:

displayName: An amazing example addon!
namespaces:
- name: reference-addon
install:
  type: OLMOwnNamespace
  olmOwnNamespace:
    namespace: reference-addon
    packageName: reference-addon
    channel: alpha
    catalogSourceImage: quay.io/osd-addons/reference-addon-index@sha256:58cb1c4478a150dc44e6c179d709726516d84db46e4e130a5227d8b76456b5bd

```

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Addon) DeepCopy

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto

func (in *Addon) DeepCopyInto(out *Addon)

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

func (*Addon) DeepCopyObject

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

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

func (*Addon) GetInstallOLMCommon

func (a *Addon) GetInstallOLMCommon() (AddonInstallOLMCommon, error)

Gets the AddonInstallOLMCommon by Install Type

func (*Addon) IsAvailable

func (a *Addon) IsAvailable() bool

func (*Addon) SetUpgradePolicyStatus

func (a *Addon) SetUpgradePolicyStatus(val AddonUpgradePolicyValue)

func (*Addon) UpgradeCompleteForCurrentVersion

func (a *Addon) UpgradeCompleteForCurrentVersion() bool

type AddonInstallOLMAllNamespaces

type AddonInstallOLMAllNamespaces struct {
	AddonInstallOLMCommon `json:",inline"`
}

AllNamespaces specific Addon installation parameters.

func (*AddonInstallOLMAllNamespaces) DeepCopy

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

func (*AddonInstallOLMAllNamespaces) DeepCopyInto

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

type AddonInstallOLMCommon

type AddonInstallOLMCommon struct {
	// Namespace to install the Addon into.
	// +kubebuilder:validation:MinLength=1
	Namespace string `json:"namespace"`

	// Defines the CatalogSource image.
	// +kubebuilder:validation:MinLength=1
	CatalogSourceImage string `json:"catalogSourceImage"`

	// Channel for the Subscription object.
	// +kubebuilder:validation:MinLength=1
	Channel string `json:"channel"`

	// Name of the package to install via OLM.
	// OLM will resove this package name to install the matching bundle.
	// +kubebuilder:validation:MinLength=1
	PackageName string `json:"packageName"`

	// Reference to a secret of type kubernetes.io/dockercfg or kubernetes.io/dockerconfigjson
	// in the addon operators installation namespace.
	// The secret referenced here, will be made available to the addon in the addon installation namespace,
	// as addon-pullsecret prior to installing the addon itself.
	PullSecretName string `json:"pullSecretName,omitempty"`

	// Configs to be passed to subscription OLM object
	// +optional
	Config *SubscriptionConfig `json:"config,omitempty"`

	// Additional catalog source objects to be created in the cluster
	// +optional
	AdditionalCatalogSources []AdditionalCatalogSource `json:"additionalCatalogSources,omitempty"`
}

Common Addon installation parameters.

func (*AddonInstallOLMCommon) DeepCopy

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

func (*AddonInstallOLMCommon) DeepCopyInto

func (in *AddonInstallOLMCommon) DeepCopyInto(out *AddonInstallOLMCommon)

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

type AddonInstallOLMOwnNamespace

type AddonInstallOLMOwnNamespace struct {
	AddonInstallOLMCommon `json:",inline"`
}

OwnNamespace specific Addon installation parameters.

func (*AddonInstallOLMOwnNamespace) DeepCopy

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

func (*AddonInstallOLMOwnNamespace) DeepCopyInto

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

type AddonInstallSpec

type AddonInstallSpec struct {
	// Type of installation.
	// +kubebuilder:validation:Enum={"OLMOwnNamespace","OLMAllNamespaces"}
	Type AddonInstallType `json:"type"`
	// OLMAllNamespaces config parameters. Present only if Type = OLMAllNamespaces.
	OLMAllNamespaces *AddonInstallOLMAllNamespaces `json:"olmAllNamespaces,omitempty"`
	// OLMOwnNamespace config parameters. Present only if Type = OLMOwnNamespace.
	OLMOwnNamespace *AddonInstallOLMOwnNamespace `json:"olmOwnNamespace,omitempty"`
}

AddonInstallSpec defines the desired Addon installation type.

func (*AddonInstallSpec) DeepCopy

func (in *AddonInstallSpec) DeepCopy() *AddonInstallSpec

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

func (*AddonInstallSpec) DeepCopyInto

func (in *AddonInstallSpec) DeepCopyInto(out *AddonInstallSpec)

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

type AddonInstallType

type AddonInstallType string
const (
	// All namespaces on the cluster (default)
	// installs the Operator in the default openshift-operators namespace to
	// watch and be made available to all namespaces in the cluster.
	// Maps directly to the OLM default install mode "all namespaces".
	OLMAllNamespaces AddonInstallType = "OLMAllNamespaces"
	// Installs the operator into a specific namespace.
	// The Operator will only watch and be made available for use in this single namespace.
	// Maps directly to the OLM install mode "specific namespace"
	OLMOwnNamespace AddonInstallType = "OLMOwnNamespace"
)

type AddonInstance

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

	Spec   AddonInstanceSpec   `json:"spec,omitempty"`
	Status AddonInstanceStatus `json:"status,omitempty"`
}

AddonInstance is a managed service facing interface to get configuration and report status back.

**Example** ```yaml apiVersion: addons.managed.openshift.io/v1alpha1 kind: AddonInstance metadata:

name: addon-instance
namespace: my-addon-namespace

spec:

heartbeatUpdatePeriod: 30s

status:

lastHeartbeatTime: 2021-10-11T08:14:50Z
conditions:
- type: addons.managed.openshift.io/Healthy
  status: "True"

``` +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Last Heartbeat",type="date",JSONPath=".status.lastHeartbeatTime" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*AddonInstance) DeepCopy

func (in *AddonInstance) DeepCopy() *AddonInstance

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

func (*AddonInstance) DeepCopyInto

func (in *AddonInstance) DeepCopyInto(out *AddonInstance)

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

func (*AddonInstance) DeepCopyObject

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

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

type AddonInstanceCondition

type AddonInstanceCondition string

AddonInstanceCondition is a condition Type used by AddonInstance status conditions.

const (
	// AddonInstanceHealthy tracks the general health of an Addon.
	//
	// If false the service is degraded to a point that manual intervention is likely.
	// Higher level controllers are advised to stop actions that might further worsen the state of the service.
	// For example: delaying upgrades until the status is cleared.
	AddonInstanceConditionHealthy AddonInstanceCondition = "Healthy"
	// AddonInstanceDegraded reports partial lose of functionallity which otherwise
	// does not affect the availability of an addon.
	AddonInstanceConditionDegraded AddonInstanceCondition = "Degraded"
	// AddonInstanceConditionInstalled reports installation status as either
	// 'True' or 'False' with additional detail provided thorugh messages
	// while condition is still 'False'.
	AddonInstanceConditionInstalled AddonInstanceCondition = "Installed"

	// ReadyToBeDeleted condition indicates whether the addon is ready to be deleted or not.
	AddonInstanceConditionReadyToBeDeleted AddonInstanceCondition = "ReadyToBeDeleted"
)

AddonInstance Conditions

func (AddonInstanceCondition) String

func (c AddonInstanceCondition) String() string

type AddonInstanceHealthyReason

type AddonInstanceHealthyReason string

AddonInstanceHealthyReason is a condition reason used by AddonInstance status conditions when condition type is AddonInstanceConditionHealthy.

const (
	// AddonInstanceHealthyReasonReceivingHeartbeats is a status condition
	// reason used when heartbeats are received within the configured
	// threshold.
	AddonInstanceHealthyReasonReceivingHeartbeats AddonInstanceHealthyReason = "ReceivingHeartbeats"
	// AddonInstanceHealthyReasonPendingFirstHeartbeat is a status condition
	// reason used before the first heartbeat has been received from the addon.
	AddonInstanceHealthyReasonPendingFirstHeartbeat AddonInstanceHealthyReason = "PendingFirstHeartbeat"
	// AddonInstanceHealthyReasonHeatbeatTimeout is a status condition
	// reason when the last received timeout was not received before
	// the configured threshold.
	AddonInstanceHealthyReasonHeartbeatTimeout AddonInstanceHealthyReason = "HeartbeatTimeout"
)

func (AddonInstanceHealthyReason) String

type AddonInstanceInstalledReason

type AddonInstanceInstalledReason string

AddonInstanceInstalledReason is a condition reason used by AddonInstance status conditions when condition type is AddonInstanceConditionInstalled.

const (
	// AddonInstanceInstalledReasonSetupComplete is a status condition
	// reason used when addon installation setup work is complete.
	AddonInstanceInstalledReasonSetupComplete AddonInstanceInstalledReason = "SetupComplete"
	// AddonInstanceInstalledReasonTeardownComplete is a status condition
	// reason used when addon installation teardown work is complete.
	AddonInstanceInstalledReasonTeardownComplete AddonInstanceInstalledReason = "TeardownComplete"
	// AddonInstanceInstalledReasonBlocked is a status condition
	// reason used when addon installation is blocked.
	AddonInstanceInstalledReasonBlocked AddonInstanceInstalledReason = "Blocked"
)

func (AddonInstanceInstalledReason) String

type AddonInstanceList

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

AddonInstanceList contains a list of AddonInstances +kubebuilder:object:root=true

func (*AddonInstanceList) DeepCopy

func (in *AddonInstanceList) DeepCopy() *AddonInstanceList

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

func (*AddonInstanceList) DeepCopyInto

func (in *AddonInstanceList) DeepCopyInto(out *AddonInstanceList)

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

func (*AddonInstanceList) DeepCopyObject

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

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

type AddonInstanceReadyToBeDeleted

type AddonInstanceReadyToBeDeleted string
const (
	// Addon is ready to be deleted.
	AddonInstanceReasonReadyToBeDeleted AddonInstanceReadyToBeDeleted = "AddonReadyToBeDeleted"

	// Addon is not yet ready to deleted.
	AddonInstanceReasonNotReadyToBeDeleted AddonInstanceReadyToBeDeleted = "AddonNotReadyToBeDeleted"
)

func (AddonInstanceReadyToBeDeleted) String

type AddonInstanceSpec

type AddonInstanceSpec struct {
	// This field indicates whether the addon is marked for deletion.
	// +optional
	MarkedForDeletion bool `json:"markedForDeletion"`
	// The periodic rate at which heartbeats are expected to be received by the AddonInstance object
	// +kubebuilder:default="10s"
	HeartbeatUpdatePeriod metav1.Duration `json:"heartbeatUpdatePeriod,omitempty"`
}

AddonInstanceSpec defines the configuration to consider while taking AddonInstance-related decisions such as HeartbeatTimeouts

func (*AddonInstanceSpec) DeepCopy

func (in *AddonInstanceSpec) DeepCopy() *AddonInstanceSpec

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

func (*AddonInstanceSpec) DeepCopyInto

func (in *AddonInstanceSpec) DeepCopyInto(out *AddonInstanceSpec)

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

type AddonInstanceStatus

type AddonInstanceStatus struct {
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// Timestamp of the last reported status check
	// +optional
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"`
}

AddonInstanceStatus defines the observed state of Addon

func (*AddonInstanceStatus) DeepCopy

func (in *AddonInstanceStatus) DeepCopy() *AddonInstanceStatus

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

func (*AddonInstanceStatus) DeepCopyInto

func (in *AddonInstanceStatus) DeepCopyInto(out *AddonInstanceStatus)

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

type AddonList

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

AddonList contains a list of Addon +kubebuilder:object:root=true

func (*AddonList) DeepCopy

func (in *AddonList) DeepCopy() *AddonList

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

func (*AddonList) DeepCopyInto

func (in *AddonList) DeepCopyInto(out *AddonList)

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

func (*AddonList) DeepCopyObject

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

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

type AddonNamespace

type AddonNamespace struct {
	// Name of the KubernetesNamespace.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Labels to be added to the namespace
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations to be added to the namespace
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*AddonNamespace) DeepCopy

func (in *AddonNamespace) DeepCopy() *AddonNamespace

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

func (*AddonNamespace) DeepCopyInto

func (in *AddonNamespace) DeepCopyInto(out *AddonNamespace)

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

type AddonOperator

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

	Spec AddonOperatorSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status AddonOperatorStatus `json:"status,omitempty"`
}

AddonOperator is the Schema for the AddonOperator API +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*AddonOperator) DeepCopy

func (in *AddonOperator) DeepCopy() *AddonOperator

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

func (*AddonOperator) DeepCopyInto

func (in *AddonOperator) DeepCopyInto(out *AddonOperator)

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

func (*AddonOperator) DeepCopyObject

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

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

type AddonOperatorFeatureToggles

type AddonOperatorFeatureToggles struct {
	// Feature toggle for enabling/disabling experimental features in the addon-operator
	// +optional
	ExperimentalFeatures bool `json:"experimentalFeatures"`
}

func (*AddonOperatorFeatureToggles) DeepCopy

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

func (*AddonOperatorFeatureToggles) DeepCopyInto

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

type AddonOperatorList

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

AddonOperatorList contains a list of AddonOperators +kubebuilder:object:root=true

func (*AddonOperatorList) DeepCopy

func (in *AddonOperatorList) DeepCopy() *AddonOperatorList

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

func (*AddonOperatorList) DeepCopyInto

func (in *AddonOperatorList) DeepCopyInto(out *AddonOperatorList)

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

func (*AddonOperatorList) DeepCopyObject

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

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

type AddonOperatorOCM

type AddonOperatorOCM struct {
	// Root of the OCM API Endpoint.
	Endpoint string `json:"endpoint"`

	// Secret to authenticate to the OCM API Endpoint.
	// Only supports secrets of type "kubernetes.io/dockerconfigjson"
	// https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
	Secret ClusterSecretReference `json:"secret"`
}

OCM specific configuration.

func (*AddonOperatorOCM) DeepCopy

func (in *AddonOperatorOCM) DeepCopy() *AddonOperatorOCM

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

func (*AddonOperatorOCM) DeepCopyInto

func (in *AddonOperatorOCM) DeepCopyInto(out *AddonOperatorOCM)

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

type AddonOperatorSpec

type AddonOperatorSpec struct {
	// Pause reconciliation on all Addons in the cluster
	// when set to True
	// +optional
	Paused bool `json:"pause"`
	// [DEPRECATED] Specification of the feature toggles supported by the addon-operator
	// +optional
	FeatureToggles AddonOperatorFeatureToggles `json:"featureToggles"`
	// Specification of the feature toggles supported by the addon-operator in the form of a comma-separated string
	// +optional
	FeatureFlags string `json:"featureFlags"`
	// OCM specific configuration.
	// Setting this subconfig will enable deeper OCM integration.
	// e.g. push status reporting, etc.
	// +optional
	OCM *AddonOperatorOCM `json:"ocm,omitempty"`
}

AddonOperatorSpec defines the desired state of Addon operator.

func (*AddonOperatorSpec) DeepCopy

func (in *AddonOperatorSpec) DeepCopy() *AddonOperatorSpec

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

func (*AddonOperatorSpec) DeepCopyInto

func (in *AddonOperatorSpec) DeepCopyInto(out *AddonOperatorSpec)

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

type AddonOperatorStatus

type AddonOperatorStatus struct {
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// Timestamp of the last reported status check
	// +optional
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase AddonPhase `json:"phase,omitempty"`
}

AddonOperatorStatus defines the observed state of Addon

func (*AddonOperatorStatus) DeepCopy

func (in *AddonOperatorStatus) DeepCopy() *AddonOperatorStatus

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

func (*AddonOperatorStatus) DeepCopyInto

func (in *AddonOperatorStatus) DeepCopyInto(out *AddonOperatorStatus)

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

type AddonPackageOperator

type AddonPackageOperator struct {
	Image string `json:"image"`
}

func (*AddonPackageOperator) DeepCopy

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

func (*AddonPackageOperator) DeepCopyInto

func (in *AddonPackageOperator) DeepCopyInto(out *AddonPackageOperator)

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

type AddonPhase

type AddonPhase string
const (
	PhasePending     AddonPhase = "Pending"
	PhaseReady       AddonPhase = "Ready"
	PhaseTerminating AddonPhase = "Terminating"
	PhaseError       AddonPhase = "Error"
)

Well-known Addon Phases for printing a Status in kubectl, see deprecation notice in AddonStatus for details.

type AddonSecretPropagation

type AddonSecretPropagation struct {
	Secrets []AddonSecretPropagationReference `json:"secrets"`
}

func (*AddonSecretPropagation) DeepCopy

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

func (*AddonSecretPropagation) DeepCopyInto

func (in *AddonSecretPropagation) DeepCopyInto(out *AddonSecretPropagation)

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

type AddonSecretPropagationReference

type AddonSecretPropagationReference struct {
	// Source secret name in the Addon Operator install namespace.
	SourceSecret corev1.LocalObjectReference `json:"sourceSecret"`
	// Destination secret name in every Addon namespace.
	DestinationSecret corev1.LocalObjectReference `json:"destinationSecret"`
}

func (*AddonSecretPropagationReference) DeepCopy

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

func (*AddonSecretPropagationReference) DeepCopyInto

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

type AddonSpec

type AddonSpec struct {
	// Human readable name for this addon.
	// +kubebuilder:validation:MinLength=1
	DisplayName string `json:"displayName"`

	// Version of the Addon to deploy.
	// Used for reporting via status and metrics.
	// +optional
	Version string `json:"version,omitempty"`

	// Pause reconciliation of Addon when set to True
	// +optional
	Paused bool `json:"pause"`

	// Defines a list of Kubernetes Namespaces that belong to this Addon.
	// Namespaces listed here will be created prior to installation of the Addon and
	// will be removed from the cluster when the Addon is deleted.
	// Collisions with existing Namespaces will result in the existing Namespaces
	// being adopted.
	Namespaces []AddonNamespace `json:"namespaces,omitempty"`

	// Labels to be applied to all resources.
	CommonLabels map[string]string `json:"commonLabels,omitempty"`

	// Annotations to be applied to all resources.
	CommonAnnotations map[string]string `json:"commonAnnotations,omitempty"`

	// Correlation ID for co-relating current AddonCR revision and reported status.
	// +optional
	CorrelationID string `json:"correlationID,omitempty"`

	// Defines how an Addon is installed.
	// This field is immutable.
	Install AddonInstallSpec `json:"install"`

	// Defines whether the addon needs acknowledgment from the underlying
	// addon's operator before deletion.
	// +optional
	DeleteAckRequired bool `json:"deleteAckRequired"`

	// Defines if the addon needs installation acknowledgment
	// from its corresponding addon instance.
	// +optional
	InstallAckRequired bool `json:"installAckRequired"`

	// UpgradePolicy enables status reporting via upgrade policies.
	UpgradePolicy *AddonUpgradePolicy `json:"upgradePolicy,omitempty"`

	// Defines how an addon is monitored.
	Monitoring *MonitoringSpec `json:"monitoring,omitempty"`

	// Settings for propagating secrets from the Addon Operator install namespace into Addon namespaces.
	SecretPropagation *AddonSecretPropagation `json:"secretPropagation,omitempty"`
	// defines the PackageOperator image as part of the addon Spec
	AddonPackageOperator *AddonPackageOperator `json:"packageOperator,omitempty"`
}

AddonSpec defines the desired state of Addon.

func (*AddonSpec) DeepCopy

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto

func (in *AddonSpec) DeepCopyInto(out *AddonSpec)

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

type AddonStatus

type AddonStatus struct {
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase AddonPhase `json:"phase,omitempty"`
	// Tracks last reported upgrade policy status.
	// +optional
	UpgradePolicy *AddonUpgradePolicyStatus `json:"upgradePolicy,omitempty"`
	// Tracks the last addon status reported to OCM.
	// +optional
	OCMReportedStatusHash *OCMAddOnStatusHash `json:"ocmReportedStatusHash,omitempty"`
	// Observed version of the Addon on the cluster, only present when .spec.version is populated.
	// +optional
	ObservedVersion string `json:"observedVersion,omitempty"`
	// Namespaced name of the csv(available) that was last observed.
	// +optional
	LastObservedAvailableCSV string `json:"lastObservedAvailableCSV,omitempty"`
}

AddonStatus defines the observed state of Addon

func (*AddonStatus) DeepCopy

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

type AddonUpgradePolicy

type AddonUpgradePolicy struct {
	// Upgrade policy id.
	ID string `json:"id"`
}

func (*AddonUpgradePolicy) DeepCopy

func (in *AddonUpgradePolicy) DeepCopy() *AddonUpgradePolicy

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

func (*AddonUpgradePolicy) DeepCopyInto

func (in *AddonUpgradePolicy) DeepCopyInto(out *AddonUpgradePolicy)

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

type AddonUpgradePolicyStatus

type AddonUpgradePolicyStatus struct {
	// Upgrade policy id.
	ID string `json:"id"`
	// Upgrade policy value.
	Value AddonUpgradePolicyValue `json:"value"`
	// Upgrade Policy Version.
	// +optional
	Version string `json:"version,omitempty"`
	// The most recent generation a status update was based on.
	ObservedGeneration int64 `json:"observedGeneration"`
}

Tracks the last state last reported to the Upgrade Policy endpoint.

func (*AddonUpgradePolicyStatus) DeepCopy

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

func (*AddonUpgradePolicyStatus) DeepCopyInto

func (in *AddonUpgradePolicyStatus) DeepCopyInto(out *AddonUpgradePolicyStatus)

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

type AddonUpgradePolicyValue

type AddonUpgradePolicyValue string
const (
	AddonUpgradePolicyValueStarted   AddonUpgradePolicyValue = "started"
	AddonUpgradePolicyValueCompleted AddonUpgradePolicyValue = "completed"
)

type ClusterSecretReference

type ClusterSecretReference struct {
	// Name of the secret object.
	Name string `json:"name"`
	// Namespace of the secret object.
	Namespace string `json:"namespace"`
}

References a secret on the cluster.

func (*ClusterSecretReference) DeepCopy

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

func (*ClusterSecretReference) DeepCopyInto

func (in *ClusterSecretReference) DeepCopyInto(out *ClusterSecretReference)

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

type EnvObject

type EnvObject struct {
	// Name of the environment variable
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Value of the environment variable
	// +kubebuilder:validation:MinLength=1
	Value string `json:"value"`
}

func (*EnvObject) DeepCopy

func (in *EnvObject) DeepCopy() *EnvObject

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

func (*EnvObject) DeepCopyInto

func (in *EnvObject) DeepCopyInto(out *EnvObject)

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

type MonitoringFederationSpec

type MonitoringFederationSpec struct {
	// Namespace where the prometheus server is running.
	// +kubebuilder:validation:MinLength=1
	Namespace string `json:"namespace"`

	// The name of the service port fronting the prometheus server.
	// +kubebuilder:validation:MinLength=1
	PortName string `json:"portName"`

	// List of series names to federate from the prometheus server.
	// +listType:set
	MatchNames []string `json:"matchNames"`

	// List of labels used to discover the prometheus server(s) to be federated.
	// +kubebuilder:validation:MinProperties=1
	MatchLabels map[string]string `json:"matchLabels"`
}

func (*MonitoringFederationSpec) DeepCopy

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

func (*MonitoringFederationSpec) DeepCopyInto

func (in *MonitoringFederationSpec) DeepCopyInto(out *MonitoringFederationSpec)

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

type MonitoringSpec

type MonitoringSpec struct {
	// Configuration parameters to be injected in the ServiceMonitor used for federation.
	// The target prometheus server found by matchLabels needs to serve service-ca signed TLS traffic
	// (https://docs.openshift.com/container-platform/4.6/security/certificate_types_descriptions/service-ca-certificates.html),
	// and it needs to be runing inside the namespace specified by `.monitoring.federation.namespace`
	// with the service name 'prometheus'.
	Federation *MonitoringFederationSpec `json:"federation,omitempty"`

	// Settings For Monitoring Stack
	// +optional
	MonitoringStack *MonitoringStackSpec `json:"monitoringStack,omitempty"`
}

func (*MonitoringSpec) DeepCopy

func (in *MonitoringSpec) DeepCopy() *MonitoringSpec

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

func (*MonitoringSpec) DeepCopyInto

func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)

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

type MonitoringStackSpec

type MonitoringStackSpec struct {
	// Settings for RHOBS Remote Write
	// +optional
	RHOBSRemoteWriteConfig *RHOBSRemoteWriteConfigSpec `json:"rhobsRemoteWriteConfig,omitempty"`
}

func (*MonitoringStackSpec) DeepCopy

func (in *MonitoringStackSpec) DeepCopy() *MonitoringStackSpec

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

func (*MonitoringStackSpec) DeepCopyInto

func (in *MonitoringStackSpec) DeepCopyInto(out *MonitoringStackSpec)

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

type OCMAddOnStatus

type OCMAddOnStatus struct {
	// ID of the addon.
	AddonID string `json:"addonID"`
	// Correlation ID for co-relating current AddonCR revision and reported status.
	CorrelationID string `json:"correlationID"`
	// Version of the addon
	AddonVersion string `json:"version"`
	// Reported addon status conditions
	StatusConditions []AddOnStatusCondition `json:"statusConditions"`
	// The most recent generation a status update was based on.
	ObservedGeneration int64 `json:"observedGeneration"`
}

Struct used to hash the reported addon status (along with correlationID).

func (*OCMAddOnStatus) DeepCopy

func (in *OCMAddOnStatus) DeepCopy() *OCMAddOnStatus

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

func (*OCMAddOnStatus) DeepCopyInto

func (in *OCMAddOnStatus) DeepCopyInto(out *OCMAddOnStatus)

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

type OCMAddOnStatusHash

type OCMAddOnStatusHash struct {
	// Hash of the last reported status.
	StatusHash string `json:"statusHash"`
	// The most recent generation a status update was based on.
	ObservedGeneration int64 `json:"observedGeneration"`
}

func (*OCMAddOnStatusHash) DeepCopy

func (in *OCMAddOnStatusHash) DeepCopy() *OCMAddOnStatusHash

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

func (*OCMAddOnStatusHash) DeepCopyInto

func (in *OCMAddOnStatusHash) DeepCopyInto(out *OCMAddOnStatusHash)

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

type RHOBSRemoteWriteConfigSpec

type RHOBSRemoteWriteConfigSpec struct {
	// RHOBS endpoints where your data is sent to
	// It varies by environment:
	// - Staging: https://observatorium-mst.stage.api.openshift.com/api/metrics/v1/<tenant id>/api/v1/receive
	// - Production: https://observatorium-mst.api.openshift.com/api/metrics/v1/<tenant id>/api/v1/receive
	URL string `json:"url"`

	// OAuth2 config for the remote write URL
	// +optional
	OAuth2 *monv1.OAuth2 `json:"oauth2,omitempty"`

	// List of metrics to push to RHOBS.
	// Any metric not listed here is dropped.
	Allowlist []string `json:"allowlist,omitempty"`
}

func (*RHOBSRemoteWriteConfigSpec) DeepCopy

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

func (*RHOBSRemoteWriteConfigSpec) DeepCopyInto

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

type SubscriptionConfig

type SubscriptionConfig struct {
	// Array of env variables to be passed to the subscription object.
	EnvironmentVariables []EnvObject `json:"env"`
}

func (*SubscriptionConfig) DeepCopy

func (in *SubscriptionConfig) DeepCopy() *SubscriptionConfig

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

func (*SubscriptionConfig) DeepCopyInto

func (in *SubscriptionConfig) DeepCopyInto(out *SubscriptionConfig)

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

Jump to

Keyboard shortcuts

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