--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.3 operatorframework.io/installed-alongside-8057064ebd85b550: opendatahub/opendatahub-operator.v3.4.0-ea.1 creationTimestamp: "2026-04-20T17:56:00Z" generation: 4 labels: olm.managed: "true" operators.coreos.com/opendatahub-operator.opendatahub: "" managedFields: - apiVersion: apiextensions.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:acceptedNames: f:kind: {} f:listKind: {} f:plural: {} f:shortNames: {} f:singular: {} f:conditions: k:{"type":"Established"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"NamesAccepted"}: .: {} f:lastTransitionTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} manager: kube-apiserver operation: Update subresource: status time: "2026-04-20T17:56:00Z" - apiVersion: apiextensions.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:controller-gen.kubebuilder.io/version: {} f:operatorframework.io/installed-alongside-8057064ebd85b550: {} f:labels: .: {} f:olm.managed: {} f:spec: f:conversion: .: {} f:strategy: {} f:webhook: .: {} f:clientConfig: .: {} f:service: .: {} f:path: {} f:port: {} f:conversionReviewVersions: {} f:group: {} f:names: f:kind: {} f:listKind: {} f:plural: {} f:shortNames: {} f:singular: {} f:scope: {} f:versions: {} manager: catalog operation: Update time: "2026-04-20T17:56:10Z" - apiVersion: apiextensions.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:operators.coreos.com/opendatahub-operator.opendatahub: {} f:spec: f:conversion: f:webhook: f:clientConfig: f:caBundle: {} f:service: f:name: {} f:namespace: {} manager: olm operation: Update time: "2026-04-20T17:56:11Z" name: dscinitializations.dscinitialization.opendatahub.io resourceVersion: "14201" uid: b7746525-6646-4709-b82c-a15673ec49ff spec: conversion: strategy: Webhook webhook: clientConfig: caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ2RENDQVdLZ0F3SUJBZ0lJTFNCa0FSQTgzdTh3Q2dZSUtvWkl6ajBFQXdJd1FqRVdNQlFHQTFVRUNoTU4KVW1Wa0lFaGhkQ3dnU1c1akxqRW9NQ1lHQTFVRUF4TWZiMnh0TFhObGJHWnphV2R1WldRdE1tUXlNRFkwTURFeApNRE5qWkdWbFpqQWVGdzB5TmpBME1qQXhOelUyTURGYUZ3MHlPREEwTVRreE56VTJNREZhTUVJeEZqQVVCZ05WCkJBb1REVkpsWkNCSVlYUXNJRWx1WXk0eEtEQW1CZ05WQkFNVEgyOXNiUzF6Wld4bWMybG5ibVZrTFRKa01qQTIKTkRBeE1UQXpZMlJsWldZd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRei93dWpyZGdjV24wYgoyeGd2R29YMmR6Uk5ZMFpPZU9mSVhOd0NHYVlTUk5PaGtmQmZkYzd6d2g3VFlMcFhxc2JNeTRYM3VqQVdJSVlFClhuN0h0c0ZTbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQWdRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlYKSFE0RUZnUVVLOWxHcVVXNG5BQlkvejY1TyttVG1MVG1JUkl3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnS2xuRwpVaWZKbGNGc3BtUWl5bk1GWm5CWE5YOU9wRndIU3d1N0RVMWd0bWdDSVFEdFcxT3FkdUt1cEVBSkNPamxRanFrCmk0aHZYMjB0RjRVWHVBRUw0T0ZvbVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== service: name: opendatahub-operator-controller-manager-service namespace: opendatahub path: /convert port: 443 conversionReviewVersions: - v1 - v2 group: dscinitialization.opendatahub.io names: kind: DSCInitialization listKind: DSCInitializationList plural: dscinitializations shortNames: - dsci singular: dscinitialization scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - description: Current Phase jsonPath: .status.phase name: Phase type: string - jsonPath: .metadata.creationTimestamp name: Created At type: string name: v1 schema: openAPIV3Schema: description: DSCInitialization is the Schema for the dscinitializations API. properties: apiVersion: 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 type: string kind: description: |- 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 type: string metadata: type: object spec: description: DSCInitializationSpec defines the desired state of DSCInitialization. properties: applicationsNamespace: default: opendatahub description: Namespace for applications to be installed, non-configurable, default to "opendatahub" maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string x-kubernetes-validations: - message: ApplicationsNamespace is immutable rule: self == oldSelf devFlags: description: |- Internal development useful field to test customizations. This is not recommended to be used in production environment. properties: logLevel: description: Override Zap log level. Can be "debug", "info", "error" or a number (more verbose). type: string logmode: default: production description: '## DEPRECATED ##: Ignored, use LogLevel instead' enum: - devel - development - prod - production - default type: string manifestsUri: description: |- ## DEPRECATED ## : ManifestsUri set on DSCI is not maintained. Custom manifests uri for odh-manifests type: string type: object monitoring: description: Enable monitoring on specified namespace properties: alerting: description: Alerting configuration for Prometheus type: object collectorReplicas: description: |- CollectorReplicas specifies the number of replicas in opentelemetry-collector. If not set, it defaults to 1 on single-node clusters and 2 on multi-node clusters. format: int32 type: integer managementState: description: |- Set to one of the following values: - "Managed" : the operator is actively managing the component and trying to keep it active. It will only upgrade the component if it is safe to do so - "Removed" : the operator is actively managing the component and will not install it, or if it is installed, the operator will try to remove it enum: - Managed - Removed pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string metrics: description: metrics collection properties: exporters: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true description: |- Exporters defines custom metrics exporters for sending metrics to external observability tools. Each key represents the exporter name, and the value contains the exporter configuration. The configuration follows the OpenTelemetry Collector exporter format. Reserved names 'prometheus' and 'otlp/tempo' cannot be used as they conflict with built-in exporters. Maximum 10 exporters allowed, each config must be less than 10KB (enforced at reconciliation time). type: object x-kubernetes-validations: - message: exporter name 'prometheus' is reserved and cannot be used rule: '!(''prometheus'' in self)' - message: exporter name 'otlp/tempo' is reserved and cannot be used rule: '!(''otlp/tempo'' in self)' - message: maximum 10 exporters allowed rule: size(self) <= 10 replicas: description: |- Replicas specifies the number of replicas in monitoringstack. If not set, it defaults to 1 on single-node clusters and 2 on multi-node clusters. format: int32 minimum: 0 type: integer storage: description: MetricsStorage defines the storage configuration for the monitoring service properties: retention: default: 90d description: Retention specifies how long metrics data should be retained (e.g., "1d", "2w") type: string size: anyOf: - type: integer - type: string default: 5Gi description: Size specifies the storage size for the MonitoringStack (e.g, "5Gi", "10Mi") pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object x-kubernetes-validations: - message: Non-zero replicas require metrics.storage to be configured rule: has(self.storage) || !has(self.replicas) || self.replicas == 0 namespace: default: opendatahub description: |- monitoring spec exposed to DSCI api Namespace for monitoring if it is enabled maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string x-kubernetes-validations: - message: MonitoringNamespace is immutable rule: self == oldSelf traces: description: Tracing configuration for OpenTelemetry instrumentation properties: exporters: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true description: |- Exporters defines custom trace exporters for sending traces to external observability tools. Each key represents the exporter name, and the value contains the exporter configuration. The configuration follows the OpenTelemetry Collector exporter format. type: object sampleRatio: default: "0.1" description: |- SampleRatio determines the sampling rate for traces Value should be between 0.0 (no sampling) and 1.0 (sample all traces) pattern: ^(0(\.[0-9]+)?|1(\.0+)?)$ type: string storage: description: TracesStorage defines the storage configuration for tracing properties: backend: default: pv description: |- Backend defines the storage backend type. Valid values are "pv", "s3", and "gcs". enum: - pv - s3 - gcs type: string retention: default: 2160h description: Retention specifies how long trace data should be retained globally (e.g., "60m", "10h") type: string secret: description: |- Secret specifies the secret name for storage credentials. This field is required when the backend is not "pv". type: string size: description: |- Size specifies the size of the storage. This field is optional. type: string required: - backend type: object x-kubernetes-validations: - message: When backend is s3 or gcs, the 'secret' field must be specified and non-empty rule: 'self.backend != ''pv'' ? (has(self.secret) && self.secret != "") : true' - message: Size is supported when backend is pv only rule: 'self.backend != ''pv'' ? !has(self.size) : true' tls: description: TLS configuration for Tempo gRPC connections properties: caConfigMap: description: |- CAConfigMap specifies the name of the ConfigMap containing the CA certificate Required for mutual TLS authentication type: string certificateSecret: description: |- CertificateSecret specifies the name of the secret containing TLS certificates If not specified, OpenShift service serving certificates will be used type: string enabled: description: |- Enabled enables TLS for Tempo OTLP ingestion (gRPC/HTTP) and query APIs (HTTP) TLS is disabled by default to maintain backward compatibility type: boolean type: object required: - storage type: object type: object x-kubernetes-validations: - message: Alerting configuration requires metrics.storage to be configured rule: 'has(self.alerting) ? has(self.metrics.storage) : true' - message: CollectorReplicas can only be set when metrics.storage or traces are configured, and must be > 0 rule: '!has(self.collectorReplicas) || (self.collectorReplicas > 0 && (self.metrics.storage != null || self.traces != null))' serviceMesh: description: |- Configures Service Mesh as networking layer for Data Science Clusters components. The Service Mesh is a mandatory prerequisite for single model serving (KServe) and you should review this configuration if you are planning to use KServe. For other components, it enhances user experience; e.g. it provides unified authentication giving a Single Sign On experience. properties: auth: description: |- Auth holds configuration of authentication and authorization services used by Service Mesh in Opendatahub. properties: audiences: default: - https://kubernetes.default.svc description: |- Audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver (kubernetes.default.svc). items: type: string type: array namespace: description: |- Namespace where it is deployed. If not provided, the default is to use '-auth-provider' suffix on the ApplicationsNamespace of the DSCI. maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string type: object controlPlane: description: ControlPlane holds configuration of Service Mesh used by Opendatahub. properties: metricsCollection: default: Istio description: |- MetricsCollection specifies if metrics from components on the Mesh namespace should be collected. Setting the value to "Istio" will collect metrics from the control plane and any proxies on the Mesh namespace (like gateway pods). Setting to "None" will disable metrics collection. enum: - Istio - None type: string name: default: data-science-smcp description: Name is a name Service Mesh Control Plane. Defaults to "data-science-smcp". type: string namespace: default: istio-system description: Namespace is a namespace where Service Mesh is deployed. Defaults to "istio-system". maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string type: object managementState: default: Removed enum: - Managed - Unmanaged - Removed pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string type: object trustedCABundle: description: |- When set to `Managed`, adds odh-trusted-ca-bundle Configmap to all namespaces that includes cluster-wide Trusted CA Bundle in .data["ca-bundle.crt"]. Additionally, this fields allows admins to add custom CA bundles to the configmap using the .CustomCABundle field. properties: customCABundle: default: "" description: |- A custom CA bundle that will be available for all components in the Data Science Cluster(DSC). This bundle will be stored in odh-trusted-ca-bundle ConfigMap .data.odh-ca-bundle.crt . type: string managementState: default: Removed description: managementState indicates whether and how the operator should manage customized CA bundle enum: - Managed - Removed - Unmanaged pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string required: - customCABundle - managementState type: object type: object status: description: DSCInitializationStatus defines the observed state of DSCInitialization. properties: conditions: description: Conditions describes the state of the DSCInitializationStatus resource items: properties: lastHeartbeatTime: description: |- The last time we got an update on a given condition, this should not be set and is present only for backward compatibility reasons format: date-time type: string lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: message is a human-readable message indicating details about the transition. type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. The value should be a CamelCase string. type: string severity: description: |- Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error. type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - status - type type: object type: array errorMessage: type: string phase: description: |- Phase describes the Phase of DSCInitializationStatus This is used by OLM UI to provide status information to the user type: string relatedObjects: description: |- RelatedObjects is a list of objects created and maintained by this operator. Object references will be added to this list after they have been created AND found in the cluster items: description: ObjectReference contains enough information to let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic type: array release: description: Version and release type properties: name: type: string version: type: string type: object type: object type: object served: true storage: false subresources: status: {} - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - description: Current Phase jsonPath: .status.phase name: Phase type: string - jsonPath: .metadata.creationTimestamp name: Created At type: string name: v2 schema: openAPIV3Schema: description: DSCInitialization is the Schema for the dscinitializations API. properties: apiVersion: 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 type: string kind: description: |- 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 type: string metadata: type: object spec: description: DSCInitializationSpec defines the desired state of DSCInitialization. properties: applicationsNamespace: default: opendatahub description: Namespace for applications to be installed, non-configurable, default to "opendatahub" maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string x-kubernetes-validations: - message: ApplicationsNamespace is immutable rule: self == oldSelf devFlags: description: |- Internal development useful field to test customizations. This is not recommended to be used in production environment. properties: logLevel: description: Override Zap log level. Can be "debug", "info", "error" or a number (more verbose). type: string type: object monitoring: description: Enable monitoring on specified namespace properties: alerting: description: Alerting configuration for Prometheus type: object collectorReplicas: description: |- CollectorReplicas specifies the number of replicas in opentelemetry-collector. If not set, it defaults to 1 on single-node clusters and 2 on multi-node clusters. format: int32 type: integer managementState: description: |- Set to one of the following values: - "Managed" : the operator is actively managing the component and trying to keep it active. It will only upgrade the component if it is safe to do so - "Removed" : the operator is actively managing the component and will not install it, or if it is installed, the operator will try to remove it enum: - Managed - Removed pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string metrics: description: metrics collection properties: exporters: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true description: |- Exporters defines custom metrics exporters for sending metrics to external observability tools. Each key represents the exporter name, and the value contains the exporter configuration. The configuration follows the OpenTelemetry Collector exporter format. Reserved names 'prometheus' and 'otlp/tempo' cannot be used as they conflict with built-in exporters. Maximum 10 exporters allowed, each config must be less than 10KB (enforced at reconciliation time). type: object x-kubernetes-validations: - message: exporter name 'prometheus' is reserved and cannot be used rule: '!(''prometheus'' in self)' - message: exporter name 'otlp/tempo' is reserved and cannot be used rule: '!(''otlp/tempo'' in self)' - message: maximum 10 exporters allowed rule: size(self) <= 10 replicas: description: |- Replicas specifies the number of replicas in monitoringstack. If not set, it defaults to 1 on single-node clusters and 2 on multi-node clusters. format: int32 minimum: 0 type: integer storage: description: MetricsStorage defines the storage configuration for the monitoring service properties: retention: default: 90d description: Retention specifies how long metrics data should be retained (e.g., "1d", "2w") type: string size: anyOf: - type: integer - type: string default: 5Gi description: Size specifies the storage size for the MonitoringStack (e.g, "5Gi", "10Mi") pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object type: object x-kubernetes-validations: - message: Non-zero replicas require metrics.storage to be configured rule: has(self.storage) || !has(self.replicas) || self.replicas == 0 namespace: default: opendatahub description: |- monitoring spec exposed to DSCI api Namespace for monitoring if it is enabled maxLength: 63 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?)?$ type: string x-kubernetes-validations: - message: MonitoringNamespace is immutable rule: self == oldSelf traces: description: Tracing configuration for OpenTelemetry instrumentation properties: exporters: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true description: |- Exporters defines custom trace exporters for sending traces to external observability tools. Each key represents the exporter name, and the value contains the exporter configuration. The configuration follows the OpenTelemetry Collector exporter format. type: object sampleRatio: default: "0.1" description: |- SampleRatio determines the sampling rate for traces Value should be between 0.0 (no sampling) and 1.0 (sample all traces) pattern: ^(0(\.[0-9]+)?|1(\.0+)?)$ type: string storage: description: TracesStorage defines the storage configuration for tracing properties: backend: default: pv description: |- Backend defines the storage backend type. Valid values are "pv", "s3", and "gcs". enum: - pv - s3 - gcs type: string retention: default: 2160h description: Retention specifies how long trace data should be retained globally (e.g., "60m", "10h") type: string secret: description: |- Secret specifies the secret name for storage credentials. This field is required when the backend is not "pv". type: string size: description: |- Size specifies the size of the storage. This field is optional. type: string required: - backend type: object x-kubernetes-validations: - message: When backend is s3 or gcs, the 'secret' field must be specified and non-empty rule: 'self.backend != ''pv'' ? (has(self.secret) && self.secret != "") : true' - message: Size is supported when backend is pv only rule: 'self.backend != ''pv'' ? !has(self.size) : true' tls: description: TLS configuration for Tempo gRPC connections properties: caConfigMap: description: |- CAConfigMap specifies the name of the ConfigMap containing the CA certificate Required for mutual TLS authentication type: string certificateSecret: description: |- CertificateSecret specifies the name of the secret containing TLS certificates If not specified, OpenShift service serving certificates will be used type: string enabled: description: |- Enabled enables TLS for Tempo OTLP ingestion (gRPC/HTTP) and query APIs (HTTP) TLS is disabled by default to maintain backward compatibility type: boolean type: object required: - storage type: object type: object x-kubernetes-validations: - message: Alerting configuration requires metrics.storage to be configured rule: 'has(self.alerting) ? has(self.metrics.storage) : true' - message: CollectorReplicas can only be set when metrics.storage or traces are configured, and must be > 0 rule: '!has(self.collectorReplicas) || (self.collectorReplicas > 0 && (self.metrics.storage != null || self.traces != null))' trustedCABundle: description: |- When set to `Managed`, adds odh-trusted-ca-bundle Configmap to all namespaces that includes cluster-wide Trusted CA Bundle in .data["ca-bundle.crt"]. Additionally, this fields allows admins to add custom CA bundles to the configmap using the .CustomCABundle field. properties: customCABundle: default: "" description: |- A custom CA bundle that will be available for all components in the Data Science Cluster(DSC). This bundle will be stored in odh-trusted-ca-bundle ConfigMap .data.odh-ca-bundle.crt . type: string managementState: default: Removed description: managementState indicates whether and how the operator should manage customized CA bundle enum: - Managed - Removed - Unmanaged pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string required: - customCABundle - managementState type: object type: object status: description: DSCInitializationStatus defines the observed state of DSCInitialization. properties: conditions: description: Conditions describes the state of the DSCInitializationStatus resource items: properties: lastHeartbeatTime: description: |- The last time we got an update on a given condition, this should not be set and is present only for backward compatibility reasons format: date-time type: string lastTransitionTime: description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: description: message is a human-readable message indicating details about the transition. type: string observedGeneration: description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. The value should be a CamelCase string. type: string severity: description: |- Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error. type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string required: - status - type type: object type: array errorMessage: type: string phase: description: |- Phase describes the Phase of DSCInitializationStatus This is used by OLM UI to provide status information to the user type: string relatedObjects: description: |- RelatedObjects is a list of objects created and maintained by this operator. Object references will be added to this list after they have been created AND found in the cluster items: description: ObjectReference contains enough information to let you inspect or modify the referred object. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic type: array release: description: Version and release type properties: name: type: string version: type: string type: object type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: DSCInitialization listKind: DSCInitializationList plural: dscinitializations shortNames: - dsci singular: dscinitialization conditions: - lastTransitionTime: "2026-04-20T17:56:00Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2026-04-20T17:56:00Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v2