Component library
The component provides a component library to make creating Operator Lifecycle Manager (OLM) resources easier. This page documents the provided library functions.
OperatorGroup
This function provides a wrapper to create operatorgroups.operators.coreos.com
resources.
The result of this function can be used in the same way as resources created by kube.libjsonnet
.
name
-
The name of the resource. Used as
.metadata.name
.
validateInstance
This function takes an instance name and validates it against the supported instance names. Optionally the instance name is also validated against the instances which are present in the cluster catalog.
If the validation is successful, the function returns the instance name unmodified. Otherwise it throws an error during catalog compilation.
instance
-
The instance name to validate.
checkTargets
-
Whether to validate the instance against configured component instances.
checkSource
-
An arbitrary string included in the error output when checking against configured component instances. This is included in the error in the following sentence
"Unknown instance '<instance>' for <checkSource>"
.
managedSubscription
This function creates a subscriptions.operators.coreos.com
resource in a namespace managed by this component.
The result of this function can be used in the same way as resources created by kube.libjsonnet
.
By default, if facts.distribution
is set to openshift4
, the component sets the nodeAffinity to infra nodes, this can be overwritten.
See Official Documentation
instance
-
Name of the component instance in which to create the subscription
name
-
Name of the operator to install. Used as
.metadata.name
and.spec.name
of the resultingSubscription
object. channel
-
The channel for the subscription.
source
-
The source (
CatalogSource
) for the operator. Defaults toparameters.<instance>.defaultSource
. This argument can be omitted. sourceNamespace
-
The namespace holding the
CatalogSource
. Defaults toparameters.<instance>.defaultSourceNamespace
. This argument can be omitted. installPlanApproval
-
How to manage subscription updates. Valid options are
Automatic
andManual
. Defaults toparameters.<instance>.defaultInstallPlanApproval
. This argument can be omitted.
Arguments source
, sourceNamespace
and installPlanApproval
are optional and default to component instance parameters defaultSource
, defaultSourceNamespace
and defaultInstallPlanApproval
.
namespacedSubscription
This function creates a subscriptions.operators.coreos.com
resource in an arbitrary namespace.
When using this function, the caller is responsible to ensure that an OperatorGroup
resource exists in the target namespace.
The result of this function can be used in the same way as resources created by kube.libjsonnet
.
By default the components sets the nodeAffinity to infra nodes, this can be overwritten. See Official Documentation
instance
-
Name of the component instance in which to create the subscription
name
-
Name of the operator to install. Used as
.metadata.name
and.spec.name
of the resultingSubscription
object. channel
-
The channel for the subscription.
source
-
The source (
CatalogSource
) for the operator. Defaults toparameters.<instance>.defaultSource
. This argument can be omitted. sourceNamespace
-
The namespace holding the
CatalogSource
. Defaults toparameters.<instance>.defaultSourceNamespace
. This argument can be omitted. installPlanApproval
-
How to manage subscription updates. Valid options are
Automatic
andManual
. Defaults toparameters.<instance>.defaultInstallPlanApproval
. This argument can be omitted.
Arguments source
, sourceNamespace
and installPlanApproval
are optional and default to component instance parameters defaultSource
, defaultSourceNamespace
and defaultInstallPlanApproval
.