Skip to content

odo catalog #5523

Open
Open
@serenamarie125

Description

@serenamarie125

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 has namespace 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

No one assigned

    Labels

    kind/epicAn issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/taskslifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/LowNice to have issue. It's not immediately on the project roadmap to get it done.triage/needs-informationIndicates an issue needs more information in order to work on it.

    Type

    No type

    Projects

    • Status

      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions