Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional Updates #4

Open
wants to merge 7 commits into
base: add_dscinit_controller
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
embed Dashboard CRDs in bundle
CRDs taken from https://github.com/red-hat-data-services/odh-deployer/tree/main/odh-dashboard/crds and integrated into bundle, enabling discoverability at the OpenShift dashboard for the installed operator
jharmison-redhat committed Jun 22, 2023

Verified

This commit was signed with the committer’s verified signature. The key has expired.
jharmison-redhat James Harmison
commit a508281ecc6b494b26c564093797a955bbaf267f
216 changes: 216 additions & 0 deletions bundle/manifests/console.openshift.io_odhquickstarts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
description: Extension for guiding user through various workflows in the Red Hat
OpenShift Data Science dashboard.
displayName: OdhQuickStart
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
creationTimestamp: null
labels:
opendatahub.io/dashboardcrd: "true"
name: odhquickstarts.console.openshift.io
spec:
group: console.openshift.io
names:
kind: OdhQuickStart
listKind: OdhQuickStartList
plural: odhquickstarts
singular: odhquickstart
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: OdhQuickStart is an extension for guiding user through various
workflows in the Red Hat OpenShift Data Science dashboard.
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: OdhQuickStartSpec is the desired quick start configuration.
properties:
accessReviewResources:
description: accessReviewResources contains a list of resources that
the user's access will be reviewed against in order for the user
to complete the Quick Start. The Quick Start will be hidden if any
of the access reviews fail.
items:
description: ResourceAttributes includes the authorization attributes
available for resource requests to the Authorizer interface
properties:
group:
description: Group is the API Group of the Resource. "*" means
all.
type: string
name:
description: Name is the name of the resource being requested
for a "get" or deleted for a "delete". "" (empty) means all.
type: string
namespace:
description: Namespace is the namespace of the action being
requested. Currently, there is no distinction between no
namespace and all namespaces "" (empty) is defaulted for LocalSubjectAccessReviews
"" (empty) is empty for cluster-scoped resources "" (empty)
means "all" for namespace scoped resources from a SubjectAccessReview
or SelfSubjectAccessReview
type: string
resource:
description: Resource is one of the existing resource types. "*"
means all.
type: string
subresource:
description: Subresource is one of the existing resource types. ""
means none.
type: string
verb:
description: 'Verb is a kubernetes resource API verb, like:
get, list, watch, create, update, delete, proxy. "*" means
all.'
type: string
version:
description: Version is the API Version of the Resource. "*"
means all.
type: string
type: object
type: array
appName:
description: the name/id of the odh application the quick start pertains
to
type: string
conclusion:
description: conclusion sums up the Quick Start and suggests the possible
next steps. (includes markdown)
type: string
description:
description: description is the description of the Quick Start. (includes
markdown)
maxLength: 256
minLength: 1
type: string
displayName:
description: displayName is the display name of the Quick Start.
minLength: 1
type: string
durationMinutes:
description: durationMinutes describes approximately how many minutes
it will take to complete the Quick Start.
minimum: 1
type: integer
icon:
description: icon is a base64 encoded image that will be displayed
beside the Quick Start display name. The icon should be an vector
image for easy scaling. The size of the icon should be 40x40.
type: string
introduction:
description: introduction describes the purpose of the Quick Start.
(includes markdown)
minLength: 1
type: string
nextQuickStart:
description: nextQuickStart is a list of the following Quick Starts,
suggested for the user to try.
items:
type: string
type: array
prerequisites:
description: prerequisites contains all prerequisites that need to
be met before taking a Quick Start. (includes markdown)
items:
type: string
type: array
tags:
description: tags is a list of strings that describe the Quick Start.
items:
type: string
type: array
tasks:
description: tasks is the list of steps the user has to perform to
complete the Quick Start.
items:
description: OdhQuickStartTask is a single step in a Quick Start.
properties:
description:
description: description describes the steps needed to complete
the task. (includes markdown)
minLength: 1
type: string
review:
description: review contains instructions to validate the task
is complete. The user will select 'Yes' or 'No'. using a radio
button, which indicates whether the step was completed successfully.
properties:
failedTaskHelp:
description: failedTaskHelp contains suggestions for a failed
task review and is shown at the end of task. (includes
markdown)
minLength: 1
type: string
instructions:
description: instructions contains steps that user needs
to take in order to validate his work after going through
a task. (includes markdown)
minLength: 1
type: string
required:
- failedTaskHelp
- instructions
type: object
summary:
description: summary contains information about the passed step.
properties:
failed:
description: failed briefly describes the unsuccessfully
passed task. (includes markdown)
maxLength: 128
minLength: 1
type: string
success:
description: success describes the succesfully passed task.
minLength: 1
type: string
required:
- failed
- success
type: object
title:
description: title describes the task and is displayed as a
step heading.
minLength: 1
type: string
required:
- description
- title
type: object
minItems: 1
type: array
required:
- description
- displayName
- durationMinutes
- introduction
- tasks
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
167 changes: 167 additions & 0 deletions bundle/manifests/dashboard.opendatahub.io_odhapplications.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
labels:
opendatahub.io/dashboardcrd: "true"
name: odhapplications.dashboard.opendatahub.io
spec:
group: dashboard.opendatahub.io
names:
kind: OdhApplication
listKind: OdhApplicationList
plural: odhapplications
singular: odhapplication
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: OdhApplication is the Schema for the odhapplications 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: OdhApplicationSpec defines the desired state of OdhApplication
properties:
beta:
type: boolean
betaText:
type: string
betaTitle:
type: string
category:
type: string
comingSoon:
type: boolean
consoleLink:
type: string
csvName:
type: string
description:
type: string
displayName:
type: string
docsLink:
type: string
enable:
properties:
actionLabel:
type: string
description:
type: string
link:
type: string
linkPreface:
type: string
title:
type: string
validationConfigMap:
type: string
validationJob:
type: string
validationSecret:
type: string
variableDisplayText:
additionalProperties:
type: string
type: object
variableHelpText:
additionalProperties:
type: string
type: object
variables:
additionalProperties:
type: string
type: object
type: object
enableCR:
properties:
field:
type: string
group:
type: string
name:
type: string
namespace:
type: string
plural:
type: string
value:
type: string
version:
type: string
type: object
endpoint:
type: string
featureFlag:
type: string
getStartedLink:
type: string
getStartedMarkDown:
type: string
img:
type: string
internalRoute:
type: string
isEnabled:
type: boolean
kfdefApplications:
items:
type: string
type: array
link:
type: string
provider:
type: string
quickStart:
type: string
route:
type: string
routeNamespace:
type: string
routeSuffix:
type: string
serviceName:
type: string
support:
type: string
required:
- description
- displayName
- docsLink
- getStartedLink
- getStartedMarkDown
- img
- provider
- support
type: object
status:
description: OdhApplicationStatus defines the observed state of OdhApplication
properties:
enabled:
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
82 changes: 82 additions & 0 deletions bundle/manifests/dashboard.opendatahub.io_odhdocuments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
labels:
opendatahub.io/dashboardcrd: "true"
name: odhdocuments.dashboard.opendatahub.io
spec:
group: dashboard.opendatahub.io
names:
kind: OdhDocument
listKind: OdhDocumentList
plural: odhdocuments
singular: odhdocument
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: OdhDocument is the Schema for the odhdocuments 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: OdhDocumentSpec defines the desired state of OdhDocument
properties:
appName:
type: string
description:
type: string
displayName:
type: string
durationMinutes:
type: integer
featureFlag:
type: string
icon:
type: string
img:
type: string
provider:
type: string
type:
type: string
url:
type: string
required:
- description
- displayName
- durationMinutes
- type
- url
type: object
status:
description: OdhDocumentStatus defines the observed state of OdhDocument
properties:
enabled:
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.2
creationTimestamp: null
name: datascienceclusters.datasciencecluster.opendatahub.io
spec:
group: datasciencecluster.opendatahub.io
names:
kind: DataScienceCluster
listKind: DataScienceClusterList
plural: datascienceclusters
singular: datasciencecluster
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: DataScienceCluster is the Schema for the datascienceclusters
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: DataScienceClusterSpec defines the desired state of DataScienceCluster
properties:
components:
description: Components are used to override and fine tune specific
component configurations.
properties:
dashboard:
description: Dashboard component configuration
properties:
enabled:
description: enables or disables the component. A disabled
component will not be installed.
type: boolean
type: object
serving:
description: Serving component configuration
properties:
enabled:
description: enables or disables the component. A disabled
component will not be installed.
type: boolean
testConfigMap:
description: ConfigMap holds configuration data for pods to
consume.
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
binaryData:
additionalProperties:
format: byte
type: string
description: BinaryData contains the binary data. Each
key must consist of alphanumeric characters, '-', '_'
or '.'. BinaryData can contain byte sequences that are
not in the UTF-8 range. The keys stored in BinaryData
must not overlap with the ones in the Data field, this
is enforced during validation process. Using this field
will require 1.10+ apiserver and kubelet.
type: object
data:
additionalProperties:
type: string
description: Data contains the configuration data. Each
key must consist of alphanumeric characters, '-', '_'
or '.'. Values with non-UTF-8 byte sequences must use
the BinaryData field. The keys stored in Data must not
overlap with the keys in the BinaryData field, this
is enforced during validation process.
type: object
immutable:
description: Immutable, if set to true, ensures that data
stored in the ConfigMap cannot be updated (only object
metadata can be modified). If not set to true, the field
can be modified at any time. Defaulted to nil.
type: boolean
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:
description: 'Standard object''s metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
type: object
type: object
type: object
training:
description: DataServicePipeline component configuration
properties:
enabled:
description: enables or disables the component. A disabled
component will not be installed.
type: boolean
type: object
workbenches:
description: Workbenches component configuration
properties:
enabled:
description: enables or disables the component. A disabled
component will not be installed.
type: boolean
managedImages:
description: List of configurable controllers/deployments
type: boolean
type: object
type: object
profile:
description: 'A profile sets the default components and configuration
to install for a given use case. The profile configuration can still
be overriden by the user on a per component basis. If not defined,
the ''full'' profile is used. Valid values are: - full: all components
are installed - serving: only serving components are installed -
training: only training components are installed - workbench: only
workbench components are installed'
type: string
type: object
status:
description: DataScienceClusterStatus defines the observed state of DataScienceCluster
properties:
conditions:
description: Conditions describes the state of the DataScienceCluster
resource.
items:
description: Condition represents the state of the operator's reconciliation
functionality.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
type: string
status:
type: string
type:
description: ConditionType is the state of the operator's reconciliation
functionality.
type: string
required:
- status
- type
type: object
type: array
errorMessage:
type: string
phase:
description: Phase describes the Phase of DataScienceCluster reconciliation
state 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. --- New uses of this
type are discouraged because of difficulty describing its usage
when embedded in APIs. 1. Ignored fields. It includes many fields
which are not generally honored. For instance, ResourceVersion
and FieldPath are both very rarely valid in actual usage. 2. Invalid
usage help. It is impossible to add specific help for individual
usage. In most embedded usages, there are particular restrictions
like, \"must refer only to types A and B\" or \"UID not honored\"
or \"name must be restricted\". Those cannot be well described
when embedded. 3. Inconsistent validation. Because the usages
are different, the validation rules are different by usage, which
makes it hard for users to predict what will happen. 4. The fields
are both imprecise and overly precise. Kind is not a precise
mapping to a URL. This can produce ambiguity during interpretation
and require a REST mapping. In most cases, the dependency is
on the group,resource tuple and the version of the actual struct
is irrelevant. 5. We cannot easily change it. Because this type
is embedded in many locations, updates to this type will affect
numerous schemas. Don't make new APIs embed an underspecified
API type they do not control. \n Instead of using this type, create
a locally provided and used type that is well-focused on your
reference. For example, ServiceReferences for admission registration:
https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
."
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. TODO: this design is not final and this field is
subject to change in the future.'
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
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
58 changes: 58 additions & 0 deletions bundle/manifests/opendatahub-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
@@ -4,6 +4,21 @@ metadata:
annotations:
alm-examples: |-
[
{
"apiVersion": "datasciencecluster.opendatahub.io/v1alpha1",
"kind": "DataScienceCluster",
"metadata": {
"labels": {
"app.kubernetes.io/created-by": "opendatahub-operator",
"app.kubernetes.io/instance": "datasciencecluster-sample",
"app.kubernetes.io/managed-by": "kustomize",
"app.kubernetes.io/name": "datasciencecluster",
"app.kubernetes.io/part-of": "opendatahub-operator"
},
"name": "datasciencecluster-sample"
},
"spec": null
},
{
"apiVersion": "dscinitialization.opendatahub.io/v1alpha1",
"kind": "DSCInitialization",
@@ -29,11 +44,28 @@ spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: DataScienceCluster is the Schema for the datascienceclusters API
displayName: Data Science Cluster
kind: DataScienceCluster
name: datascienceclusters.datasciencecluster.opendatahub.io
version: v1alpha1
- description: DSCInitialization is the Schema for the dscinitializations API
displayName: DSC Initialization
kind: DSCInitialization
name: dscinitializations.dscinitialization.opendatahub.io
version: v1alpha1
- kind: OdhApplication
name: odhapplications.dashboard.opendatahub.io
version: v1
- kind: OdhDashboardConfig
name: odhdashboardconfigs.opendatahub.io
version: v1alpha
- kind: OdhDocument
name: odhdocuments.dashboard.opendatahub.io
version: v1
- kind: OdhQuickStart
name: odhquickstarts.console.openshift.io
version: v1
description: Primary operator provided by ODH to enable Data Science components
displayName: Open Data Hub Operator
icon:
@@ -71,6 +103,32 @@ spec:
verbs:
- get
- list
- apiGroups:
- datasciencecluster.opendatahub.io
resources:
- datascienceclusters
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- datasciencecluster.opendatahub.io
resources:
- datascienceclusters/finalizers
verbs:
- update
- apiGroups:
- datasciencecluster.opendatahub.io
resources:
- datascienceclusters/status
verbs:
- get
- patch
- update
- apiGroups:
- dscinitialization.opendatahub.io
resources:
172 changes: 172 additions & 0 deletions bundle/manifests/opendatahub.io_odhdashboardconfigs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: odhdashboardconfigs.opendatahub.io
spec:
group: opendatahub.io
names:
kind: OdhDashboardConfig
plural: odhdashboardconfigs
singular: odhdashboardconfig
scope: Namespaced
versions:
- name: v1alpha
schema:
openAPIV3Schema:
properties:
spec:
properties:
dashboardConfig:
properties:
disableBYONImageStream:
type: boolean
disableClusterManager:
type: boolean
disableCustomServingRuntimes:
type: boolean
disableISVBadges:
type: boolean
disableInfo:
type: boolean
disableModelServing:
type: boolean
disablePipelines:
type: boolean
disableProjectSharing:
type: boolean
disableProjects:
type: boolean
disableSupport:
type: boolean
disableTracking:
type: boolean
disableUserManagement:
type: boolean
enablement:
type: boolean
modelMetricsNamespace:
type: string
type: object
groupsConfig:
properties:
adminGroups:
type: string
allowedGroups:
type: string
required:
- adminGroups
- allowedGroups
type: object
modelServerSizes:
items:
properties:
name:
type: string
resources:
properties:
limits:
properties:
cpu:
type: string
memory:
type: string
type: object
requests:
properties:
cpu:
type: string
memory:
type: string
type: object
type: object
required:
- name
- resources
type: object
type: array
notebookController:
properties:
enabled:
type: boolean
gpuSetting:
description: Configure how the GPU field works on the Jupyter
tile. One of 'autodetect' (default, fetches for information),
'hidden' (remove the field) or a number-string (eg '5') to specify
a hardcoded 0 to that number options
type: string
notebookNamespace:
type: string
notebookTolerationSettings:
properties:
enabled:
type: boolean
key:
type: string
type: object
pvcSize:
type: string
storageClassName:
type: string
required:
- enabled
type: object
notebookSizes:
items:
properties:
name:
type: string
resources:
properties:
limits:
properties:
cpu:
type: string
memory:
type: string
type: object
requests:
properties:
cpu:
type: string
memory:
type: string
type: object
type: object
required:
- name
- resources
type: object
type: array
templateOrder:
items:
type: string
type: array
type: object
status:
properties:
notebookControllerState:
items:
properties:
lastActivity:
type: number
lastSelectedImage:
type: string
lastSelectedSize:
type: string
user:
type: string
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: odhapplications.dashboard.opendatahub.io
labels:
opendatahub.io/dashboardcrd: "true"
spec:
group: dashboard.opendatahub.io
names:
kind: OdhApplication
listKind: OdhApplicationList
plural: odhapplications
singular: odhapplication
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: OdhApplication is the Schema for the odhapplications
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: OdhApplicationSpec defines the desired state of OdhApplication
properties:
beta:
type: boolean
betaText:
type: string
betaTitle:
type: string
category:
type: string
comingSoon:
type: boolean
consoleLink:
type: string
csvName:
type: string
description:
type: string
displayName:
type: string
docsLink:
type: string
enable:
properties:
actionLabel:
type: string
description:
type: string
link:
type: string
linkPreface:
type: string
title:
type: string
validationConfigMap:
type: string
validationJob:
type: string
validationSecret:
type: string
variableDisplayText:
additionalProperties:
type: string
type: object
variableHelpText:
additionalProperties:
type: string
type: object
variables:
additionalProperties:
type: string
type: object
type: object
enableCR:
properties:
field:
type: string
group:
type: string
name:
type: string
namespace:
type: string
plural:
type: string
value:
type: string
version:
type: string
type: object
endpoint:
type: string
featureFlag:
type: string
getStartedLink:
type: string
getStartedMarkDown:
type: string
img:
type: string
isEnabled:
type: boolean
kfdefApplications:
items:
type: string
type: array
link:
type: string
provider:
type: string
quickStart:
type: string
internalRoute:
type: string
route:
type: string
routeNamespace:
type: string
routeSuffix:
type: string
serviceName:
type: string
support:
type: string
required:
- description
- displayName
- docsLink
- getStartedLink
- getStartedMarkDown
- img
- provider
- support
type: object
status:
description: OdhApplicationStatus defines the observed state of OdhApplication
properties:
enabled:
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: odhdashboardconfigs.opendatahub.io
spec:
group: opendatahub.io
scope: Namespaced
names:
plural: odhdashboardconfigs
singular: odhdashboardconfig
kind: OdhDashboardConfig
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
spec:
type: object
properties:
dashboardConfig:
type: object
properties:
enablement:
type: boolean
disableInfo:
type: boolean
disableSupport:
type: boolean
disableClusterManager:
type: boolean
disableTracking:
type: boolean
disableBYONImageStream:
type: boolean
disableISVBadges:
type: boolean
disableUserManagement:
type: boolean
disableProjects:
type: boolean
disableModelServing:
type: boolean
disableProjectSharing:
type: boolean
disableCustomServingRuntimes:
type: boolean
modelMetricsNamespace:
type: string
disablePipelines:
type: boolean
groupsConfig:
type: object
required:
- adminGroups
- allowedGroups
properties:
adminGroups:
type: string
allowedGroups:
type: string
notebookSizes:
type: array
items:
type: object
required:
- name
- resources
properties:
name:
type: string
resources:
type: object
properties:
requests:
type: object
properties:
cpu:
type: string
memory:
type: string
limits:
type: object
properties:
cpu:
type: string
memory:
type: string
modelServerSizes:
type: array
items:
type: object
required:
- name
- resources
properties:
name:
type: string
resources:
type: object
properties:
requests:
type: object
properties:
cpu:
type: string
memory:
type: string
limits:
type: object
properties:
cpu:
type: string
memory:
type: string
notebookController:
type: object
required:
- enabled
properties:
enabled:
type: boolean
notebookNamespace:
type: string
pvcSize:
type: string
gpuSetting:
description: Configure how the GPU field works on the Jupyter tile. One of 'autodetect' (default, fetches for information), 'hidden' (remove the field) or a number-string (eg '5') to specify a hardcoded 0 to that number options
type: string
notebookTolerationSettings:
type: object
properties:
enabled:
type: boolean
key:
type: string
storageClassName:
type: string
templateOrder:
type: array
items:
type: string
status:
type: object
properties:
notebookControllerState:
type: array
items:
type: object
properties:
user:
type: string
lastSelectedImage:
type: string
lastSelectedSize:
type: string
lastActivity:
type: number
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: odhdocuments.dashboard.opendatahub.io
labels:
opendatahub.io/dashboardcrd: "true"
spec:
group: dashboard.opendatahub.io
names:
kind: OdhDocument
listKind: OdhDocumentList
plural: odhdocuments
singular: odhdocument
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: OdhDocument is the Schema for the odhdocuments
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: OdhDocumentSpec defines the desired state of OdhDocument
properties:
appName:
type: string
description:
type: string
displayName:
type: string
durationMinutes:
type: integer
featureFlag:
type: string
icon:
type: string
img:
type: string
provider:
type: string
type:
type: string
url:
type: string
required:
- description
- displayName
- durationMinutes
- type
- url
type: object
status:
description: OdhDocumentStatus defines the observed state of OdhDocument
properties:
enabled:
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: odhquickstarts.console.openshift.io
labels:
opendatahub.io/dashboardcrd: "true"
annotations:
description: Extension for guiding user through various workflows in the Red Hat
OpenShift Data Science dashboard.
displayName: OdhQuickStart
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
spec:
scope: Namespaced
group: console.openshift.io
names:
plural: odhquickstarts
singular: odhquickstart
kind: OdhQuickStart
listKind: OdhQuickStartList
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
description: OdhQuickStart is an extension for guiding user through various
workflows in the Red Hat OpenShift Data Science dashboard.
type: object
required:
- spec
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: OdhQuickStartSpec is the desired quick start configuration.
type: object
required:
- description
- displayName
- durationMinutes
- introduction
- tasks
properties:
accessReviewResources:
description: accessReviewResources contains a list of resources that
the user's access will be reviewed against in order for the user
to complete the Quick Start. The Quick Start will be hidden if any
of the access reviews fail.
type: array
items:
description: ResourceAttributes includes the authorization attributes
available for resource requests to the Authorizer interface
type: object
properties:
group:
description: Group is the API Group of the Resource. "*" means
all.
type: string
name:
description: Name is the name of the resource being requested
for a "get" or deleted for a "delete". "" (empty) means all.
type: string
namespace:
description: Namespace is the namespace of the action being
requested. Currently, there is no distinction between no
namespace and all namespaces "" (empty) is defaulted for LocalSubjectAccessReviews
"" (empty) is empty for cluster-scoped resources "" (empty)
means "all" for namespace scoped resources from a SubjectAccessReview
or SelfSubjectAccessReview
type: string
resource:
description: Resource is one of the existing resource types. "*"
means all.
type: string
subresource:
description: Subresource is one of the existing resource types. ""
means none.
type: string
verb:
description: 'Verb is a kubernetes resource API verb, like:
get, list, watch, create, update, delete, proxy. "*" means
all.'
type: string
version:
description: Version is the API Version of the Resource. "*"
means all.
type: string
appName:
description: the name/id of the odh application the quick start pertains to
type: string
conclusion:
description: conclusion sums up the Quick Start and suggests the possible
next steps. (includes markdown)
type: string
description:
description: description is the description of the Quick Start. (includes
markdown)
type: string
maxLength: 256
minLength: 1
displayName:
description: displayName is the display name of the Quick Start.
type: string
minLength: 1
durationMinutes:
description: durationMinutes describes approximately how many minutes
it will take to complete the Quick Start.
type: integer
minimum: 1
icon:
description: icon is a base64 encoded image that will be displayed
beside the Quick Start display name. The icon should be an vector
image for easy scaling. The size of the icon should be 40x40.
type: string
introduction:
description: introduction describes the purpose of the Quick Start.
(includes markdown)
type: string
minLength: 1
nextQuickStart:
description: nextQuickStart is a list of the following Quick Starts,
suggested for the user to try.
type: array
items:
type: string
prerequisites:
description: prerequisites contains all prerequisites that need to
be met before taking a Quick Start. (includes markdown)
type: array
items:
type: string
tags:
description: tags is a list of strings that describe the Quick Start.
type: array
items:
type: string
tasks:
description: tasks is the list of steps the user has to perform to
complete the Quick Start.
type: array
minItems: 1
items:
description: OdhQuickStartTask is a single step in a Quick Start.
type: object
required:
- description
- title
properties:
description:
description: description describes the steps needed to complete
the task. (includes markdown)
type: string
minLength: 1
review:
description: review contains instructions to validate the task
is complete. The user will select 'Yes' or 'No'. using a radio
button, which indicates whether the step was completed successfully.
type: object
required:
- failedTaskHelp
- instructions
properties:
failedTaskHelp:
description: failedTaskHelp contains suggestions for a failed
task review and is shown at the end of task. (includes
markdown)
type: string
minLength: 1
instructions:
description: instructions contains steps that user needs
to take in order to validate his work after going through
a task. (includes markdown)
type: string
minLength: 1
summary:
description: summary contains information about the passed step.
type: object
required:
- failed
- success
properties:
failed:
description: failed briefly describes the unsuccessfully
passed task. (includes markdown)
type: string
maxLength: 128
minLength: 1
success:
description: success describes the succesfully passed task.
type: string
minLength: 1
title:
description: title describes the task and is displayed as a
step heading.
type: string
minLength: 1
4 changes: 4 additions & 0 deletions config/crd/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -4,6 +4,10 @@
resources:
- bases/dscinitialization.opendatahub.io_dscinitializations.yaml
- bases/datasciencecluster.opendatahub.io_datascienceclusters.yaml
- bases/odhapplications.dashboard.opendatahub.io_odhapplications.yaml
- bases/odhdashboardconfigs.opendatahub.io_odhdashboardconfigs.yaml
- bases/odhdocuments.dashboard.opendatahub.io_odhdocuments.yaml
- bases/odhquickstarts.console.openshift.io_odhquickstarts.yaml
#+kubebuilder:scaffold:crdkustomizeresource

patchesStrategicMerge:
Original file line number Diff line number Diff line change
@@ -10,6 +10,11 @@ spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: DataScienceCluster is the Schema for the datascienceclusters API
displayName: Data Science Cluster
kind: DataScienceCluster
name: datascienceclusters.datasciencecluster.opendatahub.io
version: v1alpha1
- description: DSCInitialization is the Schema for the dscinitializations API
displayName: DSC Initialization
kind: DSCInitialization