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

odo catalog #5523

Open
serenamarie125 opened this issue Mar 7, 2022 · 3 comments
Open

odo catalog #5523

serenamarie125 opened this issue Mar 7, 2022 · 3 comments
Labels
kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/Low Nice to have issue. It's not immediately on the project roadmap to get it done. triage/needs-information Indicates an issue needs more information in order to work on it.

Comments

@serenamarie125
Copy link

serenamarie125 commented Mar 7, 2022

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.
@serenamarie125 serenamarie125 added this to the v3.0.0-alpha2 milestone Mar 7, 2022
@serenamarie125 serenamarie125 added kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks v3 labels Mar 7, 2022
@serenamarie125 serenamarie125 mentioned this issue Mar 7, 2022
20 tasks
@kadel kadel added triage/needs-information Indicates an issue needs more information in order to work on it. and removed v3 labels Mar 22, 2022
@serenamarie125 serenamarie125 removed this from the v3.0.0-alpha2 milestone Mar 25, 2022
@tmds
Copy link
Member

tmds commented Jan 11, 2023

@kadel the catalog command was removed in #5577, is the intent to add it back at some point?

@kadel
Copy link
Member

kadel commented Jan 11, 2023

@kadel the catalog command was removed in #5577, is the intent to add it back at some point?

Currently not. We removed all logic around creating operator-backed services from odo. TBH, the experience was not what we wanted it to be :-( I don't think that with the current state of the Operator ecosystem, we can make user-friendly CLI interface for installing operator-backed services. At some point, we will probably revisit this, but it is not in our short term list.

@github-actions
Copy link
Contributor

A friendly reminder that this issue had no activity for 90 days. Stale issues will be closed after an additional 30 days of inactivity.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 30, 2023
@rm3l rm3l added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/epic An issue categorized as a high-level Epic. Needs to be scoped and broken down in 1+ stories/tasks lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/Low Nice to have issue. It's not immediately on the project roadmap to get it done. triage/needs-information Indicates an issue needs more information in order to work on it.
Projects
Status: No status
Development

No branches or pull requests

4 participants