ClusterServiceVersion is a Custom Resource of type ClusterServiceVersionSpec
.
ClusterServiceVersion is a Custom Resource of type ClusterServiceVersionSpec
.
object
metadata
spec
Property | Type | Description |
---|---|---|
|
|
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
ClusterServiceVersionSpec declarations tell OLM how to install an operator that can manage apps for a given version. |
|
|
ClusterServiceVersionStatus represents information about the status of a CSV. Status may trail the actual state of a system. |
ClusterServiceVersionSpec declarations tell OLM how to install an operator that can manage apps for a given version.
object
displayName
install
Property | Type | Description |
---|---|---|
|
|
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. |
|
|
APIServiceDefinitions declares all of the extension apis managed or required by an operator being ran by ClusterServiceVersion. |
|
|
Cleanup specifies the cleanup behaviour when the CSV gets deleted |
|
|
CustomResourceDefinitions declares all of the CRDs managed or required by an operator being ran by ClusterServiceVersion. If the CRD is present in the Owned list, it is implicitly required. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NamedInstallStrategy represents the block of an ClusterServiceVersion resource where the install strategy is specified. |
|
|
InstallModes specify supported installation types |
|
|
InstallMode associates an InstallModeType with a flag representing if the CSV supports it |
|
|
|
|
|
Map of string keys and values that can be used to organize and categorize (scope and select) objects. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GroupVersionKind unambiguously identifies a kind. It doesn’t anonymously include GroupVersion to avoid automatic coersion. It doesn’t use a GroupVersion to avoid custom marshalling |
|
|
|
|
|
List any related images, or other container images that your Operator might require to perform their functions. This list should also include operand images as well. All image references should be specified by digest (SHA) and not by tag. This field is only used during catalog creation and plays no part in cluster runtime. |
|
|
|
|
|
The name of a CSV this one replaces. Should match the |
|
|
Label selector for related resources. |
|
|
The name(s) of one or more CSV(s) that should be skipped in the upgrade graph. Should match the |
|
|
OperatorVersion is a wrapper around semver.Version which supports correct marshaling to YAML and JSON. |
|
|
|
|
|
WebhookDescription provides details to OLM about required webhooks |
APIServiceDefinitions declares all of the extension apis managed or required by an operator being ran by ClusterServiceVersion.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
APIServiceDescription provides details to OLM about apis provided via aggregation |
|
|
|
|
|
APIServiceDescription provides details to OLM about apis provided via aggregation |
APIServiceDescription provides details to OLM about apis provided via aggregation
object
group
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource |
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
|
|
|
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
APIServiceDescription provides details to OLM about apis provided via aggregation
object
group
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource |
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
|
|
|
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
Cleanup specifies the cleanup behaviour when the CSV gets deleted
object
enabled
Property | Type | Description |
---|---|---|
|
|
CustomResourceDefinitions declares all of the CRDs managed or required by an operator being ran by ClusterServiceVersion. If the CRD is present in the Owned list, it is implicitly required.
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
CRDDescription provides details to OLM about the CRDs |
|
|
|
|
|
CRDDescription provides details to OLM about the CRDs |
CRDDescription provides details to OLM about the CRDs
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource |
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
|
|
|
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
CRDDescription provides details to OLM about the CRDs
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource |
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it |
|
|
|
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it |
|
|
ActionDescriptor describes a declarative action that can be performed on a custom resource instance
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
APIResourceReference is a Kubernetes resource type used by a custom resource
object
kind
name
version
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it
object
path
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. |
|
|
object
base64data
mediatype
Property | Type | Description |
---|---|---|
|
|
|
|
|
NamedInstallStrategy represents the block of an ClusterServiceVersion resource where the install strategy is specified.
object
strategy
Property | Type | Description |
---|---|---|
|
|
StrategyDetailsDeployment represents the parsed details of a Deployment InstallStrategy. |
|
|
StrategyDetailsDeployment represents the parsed details of a Deployment InstallStrategy.
object
deployments
Property | Type | Description |
---|---|---|
|
|
|
|
|
StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy |
|
|
|
|
|
StrategyDeploymentSpec contains the name, spec and labels for the deployment ALM should create |
|
|
|
|
|
StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy |
StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy
object
rules
serviceAccountName
Property | Type | Description |
---|---|---|
|
|
|
|
|
PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to. |
|
|
PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.
object
verbs
Property | Type | Description |
---|---|---|
|
|
APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of the enumerated resources in any API group will be allowed. |
|
|
NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), but not both. |
|
|
ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. |
|
|
Resources is a list of resources this rule applies to. '*' represents all resources. |
|
|
Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. '*' represents all verbs. |
StrategyDeploymentSpec contains the name, spec and labels for the deployment ALM should create
object
name
spec
Property | Type | Description |
---|---|---|
|
|
Set is a map of label:value. It implements Labels. |
|
|
|
|
|
DeploymentSpec is the specification of the desired behavior of the Deployment. |
DeploymentSpec is the specification of the desired behavior of the Deployment.
object
selector
template
Property | Type | Description |
---|---|---|
|
|
Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) |
|
|
Indicates that the deployment is paused. |
|
|
The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s. |
|
|
Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1. |
|
|
The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10. |
|
|
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template’s labels. |
|
|
The deployment strategy to use to replace existing pods with new ones. |
|
|
Template describes the pods that will be created. |
Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template’s labels.
object
Property | Type | Description |
---|---|---|
|
|
matchExpressions is a list of label selector requirements. The requirements are ANDed. |
|
|
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. |
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. |
matchExpressions is a list of label selector requirements. The requirements are ANDed.
array
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
object
key
operator
Property | Type | Description |
---|---|---|
|
|
key is the label key that the selector applies to. |
|
|
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. |
|
|
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. |
The deployment strategy to use to replace existing pods with new ones.
object
Property | Type | Description |
---|---|---|
|
|
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. |
|
|
Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. |
Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate. --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be.
object
Property | Type | Description |
---|---|---|
|
|
The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods. |
|
|
The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods. |
Template describes the pods that will be created.
object
Property | Type | Description |
---|---|---|
|
`` |
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
object
containers
Property | Type | Description |
---|---|---|
|
|
Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. |
|
|
If specified, the pod’s scheduling constraints |
|
|
AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. |
|
|
List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. |
|
|
A single application container that you want to run within a pod. |
|
|
Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. |
|
|
Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. |
|
|
EnableServiceLinks indicates whether information about services should be injected into pod’s environment variables, matching the syntax of Docker links. Optional: Defaults to true. |
|
|
List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod’s ephemeralcontainers subresource. This field is alpha-level and is only honored by servers that enable the EphemeralContainers feature. |
|
|
An EphemeralContainer is a container that may be added temporarily to an existing pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a pod is removed or restarted. If an ephemeral container causes a pod to exceed its resource allocation, the pod may be evicted. Ephemeral containers may not be added by directly updating the pod spec. They must be added via the pod’s ephemeralcontainers subresource, and they will appear in the pod spec once added. This is an alpha feature enabled by the EphemeralContainers feature flag. |
|
|
HostAliases is an optional list of hosts and IPs that will be injected into the pod’s hosts file if specified. This is only valid for non-hostNetwork pods. |
|
|
HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod’s hosts file. |
|
|
Use the host’s ipc namespace. Optional: Default to false. |
|
|
Host networking requested for this pod. Use the host’s network namespace. If this option is set, the ports that will be used must be specified. Default to false. |
|
|
Use the hostR |