Open
Description
description to be updated by @kadel
Goal
Users should be able to use odo catalog
command to list all operator-backed services. They should be able to filter by name or by category/label
Example
$ odo catalog
TODO: Intro text (Include goal as well as the steps that they are going to take ( including terminology ))
DisplayName: PerconaServerMongoDB
Category: Database
Description: Instance of a Percona Server for MongoDB replica set
Operator: Percona Distribution for MongoDB Operator
Resource: perconaservermongodbs.psmdb.percona.com/v1-11-0
DisplayName: PerconaServerMongoDBBackup
Category: Database
Description: Instance of a Percona Server for MongoDB Backup
Operator: Percona Distribution for MongoDB Operator
Resource: perconaservermongodbbackups.psmdb.percona.com/v1
DisplayName: PerconaServerMongoDBRestore
Category: Database
Description: Instance of a Percona Server for MongoDB Restore
Operator: Percona Distribution for MongoDB Operator
Resource: perconaservermongodbrestores.psmdb.percona.com/v1
DisplayName: Postgres Cluster
Category: Database
Description: PostgresCluster is the Schema for the postgresclusters API
Operator: Crunchy Postgres for Kubernetes
Resource: postgresclusters.postgres-operator.crunchydata.com/v1beta1
DisplayName: RedisEnterpriseDatabase
Category: Database
Description: Deploy a Redis Enterprise Database on an Operator managed Redis Enteprise Cluster
Operator: Redis Enterprise Operator
Resource: redisenterprisedatabases.app.redislabs.com/v1alpha1
DisplayName: RedisEnterpriseCluster
Category: Database
Description: Deploy a Redis Enterprise Cluster
Operator: Redis Enterprise Operator
Resource: redisenterpriseclusters.app.redislabs.com/v1
to show only databases
odo catalog --category database
to show filter items that mention "maria" in name , description, operator or resource filed
odo catalog --search maria
note: the above example output was generated using following kubectl command
$ cat template
{{- range .items -}}
{{ $item := . }}
{{ range $item.spec.customresourcedefinitions.owned }}
DisplayName: {{.displayName}}
Category: {{$item.metadata.annotations.categories}}
Description: {{.description}}
Operator: {{$item.spec.displayName}}
Resource: {{.name}}/{{.version}}
{{ end }}
{{- end -}}
$ kubectl get csv -o go-template-file=template
Flags
--catagory
show only operators in a given category (see an example for where category comes from)--filter
show only operators that have the given phrase in the information that odo is showing (displayName, category, description, operator, resource)--namespace
display services in a given namespace (and cluster-wide).
Command behavior and error states
- If the command is executed in a directory with odo component (
.odo/env.yaml
exists and hasnamespace
set). It should use namespace as defined there. - If the command is executed in a directory that is not odo component it should use the default namespace as set in KUBECONFIG unless
--namespace
is used. - It always displays operators that are installed cluster-wide.
Metadata
Metadata
Assignees
Labels
An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasksIndicates that an issue or PR should not be auto-closed due to staleness.Nice to have issue. It's not immediately on the project roadmap to get it done.Indicates an issue needs more information in order to work on it.
Type
Projects
Status
No status