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 registry: list Devfile Stack versions #6314

Closed
6 tasks
rm3l opened this issue Nov 17, 2022 · 0 comments · Fixed by #6397
Closed
6 tasks

odo registry: list Devfile Stack versions #6314

rm3l opened this issue Nov 17, 2022 · 0 comments · Fixed by #6397
Assignees
Labels
area/registry Issues or PRs related to Devfile registries kind/user-story An issue of user-story kind
Milestone

Comments

@rm3l
Copy link
Member

rm3l commented Nov 17, 2022

/kind user-story

User Story

As an odo user, I want to see Devfile Stack versions, So that I can fetch a specific version as needed.

Acceptance Criteria

  • odo registry should display all supported Devfile Stack versions in both human-readable and JSON outputs.
  • Human-readable output should contain a new "Versions" column, where the default stack version can be identified visually (e.g., bolded or with a marker like * or default).
  • JSON Output should list versions and include a field indicating whether a version is the default one or not
  • Current version field in JSON and human-readable output should still be present (for backward compatibility), but it should be the default stack version
  • JSON Output should contain a new versions field, which would list all Stack versions
  • It should list versions via the Devfile library, using the v2index Registry API by default; and if it fails, fallback to the index API (which only supports listing the single default version)

Links

NOTES:

Examples of output

odo registry

odo registry : new column 'Versions' with all versions
$ odo registry        
 NAME                          REGISTRY                DESCRIPTION                                                VERSIONS             
 dotnet50                      DefaultDevfileRegistry  Stack with .NET 5.0                                   1.10.0, * 2.1.0      
 dotnet60                      DefaultDevfileRegistry  Stack with .NET 6.0                         
 dotnetcore31                  DefaultDevfileRegistry  Stack with .NET Core 3.1                    
 go                            DefaultDevfileRegistry  Go is an open source programming languag... 
 java-maven                    DefaultDevfileRegistry  Upstream Maven and OpenJDK 11               
 java-openliberty              DefaultDevfileRegistry  Java application Maven-built stack using... 
 java-openliberty-gradle       DefaultDevfileRegistry  Java application Gradle-built stack usin... 
 java-quarkus                  DefaultDevfileRegistry  Quarkus with Java                           
 java-springboot               DefaultDevfileRegistry  Spring Boot® using Java                     
 java-vertx                    DefaultDevfileRegistry  Upstream Vert.x using Java                  
 java-websphereliberty         DefaultDevfileRegistry  Java application Maven-built stack using... 
 java-websphereliberty-gradle  DefaultDevfileRegistry  Java application Gradle-built stack usin... 
 java-wildfly                  DefaultDevfileRegistry  Upstream WildFly                            
 java-wildfly-bootable-jar     DefaultDevfileRegistry  Java stack with WildFly in bootable Jar ... 
 nodejs                        DefaultDevfileRegistry  Stack with Node.js 16                       
 nodejs-angular                DefaultDevfileRegistry  Angular is a development platform, built... 
 nodejs-nextjs                 DefaultDevfileRegistry  Next.js gives you the best developer exp... 
 nodejs-nuxtjs                 DefaultDevfileRegistry  Nuxt is the backbone of your Vue.js proj... 
 nodejs-react                  DefaultDevfileRegistry  React is a free and open-source front-en... 
 nodejs-svelte                 DefaultDevfileRegistry  Svelte is a radical new approach to buil... 
 nodejs-vue                    DefaultDevfileRegistry  Vue is a JavaScript framework for buildi... 
 php-laravel                   DefaultDevfileRegistry  Laravel is an open-source PHP framework,... 
 python                        DefaultDevfileRegistry  Python is an interpreted, object-oriente... 
 python-django                 DefaultDevfileRegistry  Django is a high-level Python web framew... 

odo registry --details

Human-readable output

$ odo registry --devfile nodejs --details
Name: nodejs
Display Name: Node.js Runtime
Registry: DefaultDevfileRegistry
Registry URL: https://registry.devfile.io
Version: 2.1.1
Description: Stack with Node.js 16 
Tags: Node.js, Express, ubi8
Project Type: Node.js
Language: JavaScript
Starter Projects:
  - nodejs-starter
Supported odo Features:
  - Dev: Y
  - Deploy: N
  - Debug: Y
Versions:
  - 1.10.0
  - * 2.1.0

JSON Output

$ odo registry --devfile dotnet50 --details -o json

[                                                                                                                                                                                                                   
  {                                                                                                                                                                                                                 
    "name": "dotnet50",                                                                                                                                                                                             
    "displayName": ".NET 5.0",                                                                                                                                                                                      
    "description": "Stack with .NET 5.0",                                                                                                                                                                           
    "registry": {                                                                                                                                                                                                   
      "name": "DefaultDevfileRegistry",                                                                                                                                                                             
      "url": "https://registry.devfile.io",                                                                                                                                                                         
      "secure": false                                                                                                                                                                                               
    },                                                                                                                                                                                                              
    "language": ".NET",                                                                                                                                                                                             
    "tags": [                                                                                                                                                                                                       
      ".NET"                                                                                                                                                                                                        
    ],                                                                                                                                                                                                              
    "projectType": "dotnet",                                                                                                                                                                                        
    "version": "1.0.3",                                                                                                                                                                                             
    "starterProjects": [                                                                                                                                                                                            
      "dotnet50-example"                                                                                                                                                                                            
    ],   
    "versions": [
      {
        "version": "1.0.3",
        "schemaVersion": "2.1.0",
        "default": true,
        "description": "Stack with .NET 5.0",
        "tags": [
          ".NET"
        ],
        "icon": "https://github.com/dotnet/brand/raw/main/logo/dotnet-logo.png",
        "links": {
          "self": "devfile-catalog/dotnet50:1.0.3"
        },
        "resources": [
          "devfile.yaml"
        ],
        "starterProjects": [
          "dotnet50-example"
        ]
      },
      {
        "version": "1.0.2",
        "schemaVersion": "2.1.0",
        "default": false,
        "description": "Stack with .NET 5.0",
        "tags": [
          ".NET"
        ],
        "icon": "https://github.com/dotnet/brand/raw/main/logo/dotnet-logo.png",
        "links": {
          "self": "devfile-catalog/dotnet50:1.0.2"
        },
        "resources": [
          "devfile.yaml"
        ],
        "starterProjects": [
          "dotnet50-example"
        ]
      }
    ], 

-- Truncated --

/kind user-story

@openshift-ci openshift-ci bot added the kind/user-story An issue of user-story kind label Nov 17, 2022
@rm3l rm3l added this to odo Project Nov 17, 2022
@github-actions github-actions bot added the needs-triage Indicates an issue or PR lacks a `triage/*` and requires one. label Nov 17, 2022
@rm3l rm3l added area/registry Issues or PRs related to Devfile registries and removed needs-triage Indicates an issue or PR lacks a `triage/*` and requires one. labels Nov 21, 2022
@rm3l rm3l self-assigned this Nov 23, 2022
@rm3l rm3l added this to the v3.4.0 🚀 milestone Nov 23, 2022
@rm3l rm3l modified the milestone: v3.4.0 🚀 Dec 8, 2022
@rm3l rm3l moved this to In Review 👀 in odo Project Dec 9, 2022
Repository owner moved this from In Review 👀 to Done ✅ in odo Project Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/registry Issues or PRs related to Devfile registries kind/user-story An issue of user-story kind
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant