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

Include Dashboard CRDs in OLM bundle #3

Merged
Show file tree
Hide file tree
Changes from all commits
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
24 changes: 20 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ run: manifests generate fmt vet ## Run a controller from your host.
go run ./main.go

.PHONY: docker-build
docker-build: test ## Build docker image with the manager.
docker-build: test odh-manifests/version.py ## Build docker image with the manager.
${IMAGE_BUILDER} build -t ${IMG} .

.PHONY: docker-push
Expand All @@ -137,9 +137,11 @@ image: docker-build docker-push ## Build and push docker image with the manager.
MANIFESTS_TARBALL_URL="https://github.com/${MANIFEST_REPO}/odh-manifests/tarball/${MANIFEST_RELEASE}"

.PHONY: get-manifests
get-manifests: ## Get latest odh-manifests tarball
rm -r odh-manifests && mkdir odh-manifests
wget -c $(MANIFESTS_TARBALL_URL) -O - | tar -xv -C odh-manifests/ --strip-components 1
get-manifests: odh-manifests/version.py ## Get latest odh-manifests tarball

odh-manifests/version.py: ## Get latest odh-manifests tarball
rm -fr odh-manifests && mkdir odh-manifests
wget -c $(MANIFESTS_TARBALL_URL) -O - | tar -zxv -C odh-manifests/ --strip-components 1

##@ Deployment

Expand Down Expand Up @@ -251,3 +253,17 @@ catalog-build: opm ## Build a catalog image.
.PHONY: catalog-push
catalog-push: ## Push a catalog image.
$(MAKE) docker-push IMG=$(CATALOG_IMG)

TOOLBOX_GOLANG_VERSION := 1.18.9
TOOLBOX_OPERATOR_SDK_VERSION := 1.24.1

# Generate a Toolbox container for locally testing changes easily
.PHONY: toolbox
toolbox: ## Create a toolbox instance with the proper Golang and Operator SDK versions
$(IMAGE_BUILDER) build \
--build-arg GOLANG_VERSION=$(TOOLBOX_GOLANG_VERSION) \
--build-arg OPERATOR_SDK_VERSION=$(TOOLBOX_OPERATOR_SDK_VERSION) \
-f toolbox.Dockerfile -t opendatahub-toolbox .
$(IMAGE_BUILDER) stop opendatahub-toolbox ||:
toolbox rm opendatahub-toolbox ||:
toolbox create opendatahub-toolbox --image localhost/opendatahub-toolbox:latest
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
Loading