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
- Variables
- type AddOnStatusCondition
- type AdditionalCatalogSource
- type Addon
- func (in *Addon) DeepCopy() *Addon
- func (in *Addon) DeepCopyInto(out *Addon)
- func (in *Addon) DeepCopyObject() runtime.Object
- func (a *Addon) GetInstallOLMCommon() (AddonInstallOLMCommon, error)
- func (a *Addon) IsAvailable() bool
- func (a *Addon) SetUpgradePolicyStatus(val AddonUpgradePolicyValue)
- func (a *Addon) UpgradeCompleteForCurrentVersion() bool
- type AddonInstallOLMAllNamespaces
- type AddonInstallOLMCommon
- type AddonInstallOLMOwnNamespace
- type AddonInstallSpec
- type AddonInstallType
- type AddonInstance
- type AddonInstanceCondition
- type AddonInstanceHealthyReason
- type AddonInstanceInstalledReason
- type AddonInstanceList
- type AddonInstanceReadyToBeDeleted
- type AddonInstanceSpec
- type AddonInstanceStatus
- type AddonList
- type AddonNamespace
- type AddonOperator
- type AddonOperatorFeatureToggles
- type AddonOperatorList
- type AddonOperatorOCM
- type AddonOperatorSpec
- type AddonOperatorStatus
- type AddonPackageOperator
- type AddonPhase
- type AddonSecretPropagation
- type AddonSecretPropagationReference
- type AddonSpec
- type AddonStatus
- type AddonUpgradePolicy
- type AddonUpgradePolicyStatus
- type AddonUpgradePolicyValue
- type ClusterSecretReference
- type EnvObject
- type MonitoringFederationSpec
- type MonitoringSpec
- type MonitoringStackSpec
- type OCMAddOnStatus
- type OCMAddOnStatusHash
- type RHOBSRemoteWriteConfigSpec
- type SubscriptionConfig
Constants ¶
const ( DefaultAddonInstanceName = "addon-instance" DefaultAddonInstanceHeartbeatUpdatePeriod = 10 * time.Second )
const ( // Addon operator is ready AddonOperatorReasonReady = "AddonOperatorReady" // Addon operator has paused reconciliation AddonOperatorReasonPaused = "AddonOperatorPaused" // Addon operator has resumed reconciliation AddonOperatorReasonUnpaused = "AddonOperatorUnpaused" )
AddonOperator condition reasons
const ( // Available condition indicates that the AddonOperator alive and well. AddonOperatorAvailable = "Available" // Paused condition indicates that the AddonOperator is paused entirely. AddonOperatorPaused = "Paused" )
const ( DeleteAnnotationFlag = "addons.managed.openshift.io/delete" DeleteTimeoutDuration = "addons.managed.openshift.io/deletetimeout" )
Annotation keys for delete signal from OCM.
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" )
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" )
const (
DefaultAddonOperatorName = "addon-operator"
)
Variables ¶
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 ¶
func (in *AddOnStatusCondition) DeepCopy() *AddOnStatusCondition
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 ¶
func (in *AdditionalCatalogSource) DeepCopy() *AdditionalCatalogSource
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addon.
func (*Addon) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Addon) DeepCopyObject ¶
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 (*Addon) SetUpgradePolicyStatus ¶
func (a *Addon) SetUpgradePolicyStatus(val AddonUpgradePolicyValue)
func (*Addon) UpgradeCompleteForCurrentVersion ¶
type AddonInstallOLMAllNamespaces ¶
type AddonInstallOLMAllNamespaces struct {
AddonInstallOLMCommon `json:",inline"`
}
AllNamespaces specific Addon installation parameters.
func (*AddonInstallOLMAllNamespaces) DeepCopy ¶
func (in *AddonInstallOLMAllNamespaces) DeepCopy() *AddonInstallOLMAllNamespaces
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonInstallOLMAllNamespaces.
func (*AddonInstallOLMAllNamespaces) DeepCopyInto ¶
func (in *AddonInstallOLMAllNamespaces) DeepCopyInto(out *AddonInstallOLMAllNamespaces)
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 ¶
func (in *AddonInstallOLMCommon) DeepCopy() *AddonInstallOLMCommon
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 ¶
func (in *AddonInstallOLMOwnNamespace) DeepCopy() *AddonInstallOLMOwnNamespace
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonInstallOLMOwnNamespace.
func (*AddonInstallOLMOwnNamespace) DeepCopyInto ¶
func (in *AddonInstallOLMOwnNamespace) DeepCopyInto(out *AddonInstallOLMOwnNamespace)
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 ¶
func (r AddonInstanceHealthyReason) String() 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 ¶
func (r AddonInstanceInstalledReason) String() 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 ¶
func (r AddonInstanceReadyToBeDeleted) String() 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonList.
func (*AddonList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonList) DeepCopyObject ¶
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 ¶
func (in *AddonOperatorFeatureToggles) DeepCopy() *AddonOperatorFeatureToggles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonOperatorFeatureToggles.
func (*AddonOperatorFeatureToggles) DeepCopyInto ¶
func (in *AddonOperatorFeatureToggles) DeepCopyInto(out *AddonOperatorFeatureToggles)
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 ¶
func (in *AddonPackageOperator) DeepCopy() *AddonPackageOperator
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 ¶
func (in *AddonSecretPropagation) DeepCopy() *AddonSecretPropagation
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 ¶
func (in *AddonSecretPropagationReference) DeepCopy() *AddonSecretPropagationReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonSecretPropagationReference.
func (*AddonSecretPropagationReference) DeepCopyInto ¶
func (in *AddonSecretPropagationReference) DeepCopyInto(out *AddonSecretPropagationReference)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonSpec.
func (*AddonSpec) DeepCopyInto ¶
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 ¶
func (in *AddonUpgradePolicyStatus) DeepCopy() *AddonUpgradePolicyStatus
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 ¶
func (in *ClusterSecretReference) DeepCopy() *ClusterSecretReference
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvObject.
func (*EnvObject) DeepCopyInto ¶
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 ¶
func (in *MonitoringFederationSpec) DeepCopy() *MonitoringFederationSpec
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 ¶
func (in *RHOBSRemoteWriteConfigSpec) DeepCopy() *RHOBSRemoteWriteConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RHOBSRemoteWriteConfigSpec.
func (*RHOBSRemoteWriteConfigSpec) DeepCopyInto ¶
func (in *RHOBSRemoteWriteConfigSpec) DeepCopyInto(out *RHOBSRemoteWriteConfigSpec)
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.