kabanero-io / kabanero-landing

A console application for managing your Kabanero instances. This repo will be archived soon.
Apache License 2.0
4 stars 6 forks source link

Integrate CLI services describe function into Landing page #242

Open davco01a opened 4 years ago

davco01a commented 4 years ago

Feature description

Integrate CLI services describe function into Landing page (currently working in CLI service in 0.9.0)

Feature design or visual mockup

The describe function provides more detailed metadata on a given stack for informational and debug purposes

Additional context

endpoint: https://{{myurl}}/v1/describe/stacks/nodejs-express/versions/0.2.10


JSON returned:
{
    “image”: “docker.io/kabanerobeta/nodejs-express”,
    “name”: “nodejs-express”,
    “project”: “kabanero”,
    “digest check”: “matched”,
    “version”: “0.2.10",
    “git repo url”: “https://raw.githubusercontent.com/kabanero-io/kabanero-command-line-services/master/index.yaml”,
    “image digest”: “17fd40a884f44345fa05b395c10c5cf48be7e92a3e21800c5d61b7b87724002e”,
    “kabanero digest”: “17fd40a884f44345fa05b395c10c5cf48be7e92a3e21800c5d61b7b87724002e”,
    “status”: “active”,
    "applications":"[my_appsody_app, joes_appsody_app]"
}
davco01a commented 4 years ago

could the landing page business logic gen the the kAppNav link to see more detailed data on the appsody app, so that Champ could just click on a link to see more app metadata

alohr51 commented 4 years ago

yes we do that today if kAppNav is installed

davco01a commented 4 years ago

nice

davco01a commented 4 years ago

A lot of the metadata for the application is returned in the map, so it's possible I could just pass back a jsonobject that contains whatever we need and you can bypass having to use kAppNav, see deploymentMap.log below...

davco01a commented 4 years ago

deploymentMap.log

davco01a commented 4 years ago

e.g.

"applications": "[{"name":"my_appsody_app","namespace":"kabanero","architecture":"x86_64"},{"name":"joes_appsody_app","namespace":"kabanero","architecture":"x86_64"}]"

alohr51 commented 4 years ago

yeah that sounds good, you can just return the whole thing (if it isn't excessively large). We'll need some sort of design to incorporate the data so it might be a good idea to reel them into this.

davco01a commented 4 years ago

take a look at deploymentMap.log above, the map is sort of big

davco01a commented 4 years ago

ok, got the map into the json response:


"applications": "[{\"name\":\"nodejs\",\"namespace\":\"kabanero\",\"map\":{\"metadata\":.....
davco01a commented 4 years ago

see full json response here:

applications1.log

davco01a commented 4 years ago

json response from new GO Kababenero REST service:

{ "apps": [ { "app.kubernetes.io/instance": "nodejs", "app.kubernetes.io/managed-by": "appsody-operator", "app.kubernetes.io/name": "nodejs", "app.kubernetes.io/part-of": "nodejs", "app.kubernetes.io/version": "1.0.0" }, { "app.kubernetes.io/instance": "nodejs", "app.kubernetes.io/managed-by": "appsody-operator", "app.kubernetes.io/name": "nodejs", "app.kubernetes.io/part-of": "nodejs", "app.kubernetes.io/version": "1.0.0" } ], "digest check": "matched", "image digest": "f13c6c3022544b6ffc4f0f111b36c0f4d0066accb3d9e9a7f7d1218a7411c159", "image name": "docker.io/kabanero/nodejs", "kabanero digest": "f13c6c3022544b6ffc4f0f111b36c0f4d0066accb3d9e9a7f7d1218a7411c159", "name": "nodejs", "project": "kabanero", "status": "active", "version": "0.3.6" }

davco01a commented 4 years ago

Old CLI service does not provide list of apps in describe response

New GO service does