LF Edge Catalog
Objectives
Reduce friction to deployment of LF Edge Templates
Provide a centralized location for all deployable Templates
Definition
Template = software + configuration
Concept
Provide (potential hierarchy of) recipes for deployment of templates
For Kubernetes based projects (like Akraino) this could be a set of Helm charts or k8s manifests
For other container based projects (which don't necessarily have K8S) this could be docker-compose
For bare-metal deployments, we are open to suggestions on potential solutions
Have a web-page (per template) which consolidates these along with simple instructions and potential parameters
Examples
Proposal is described here: https://github.com/ericvh/lfedge-catalog-proposal
An end-to-end example with cloud and edge components is shown here: https://github.com/ericvh/lfedge-catalog-proposal/blob/update/SMARTER_example.md
artifacthub.io : maintains a catalog of public helm charts and has a concept of organizations (so we could host under an LFEdge organization there)
Organizational View Example: https://artifacthub.io/packages/search?org=smarter&sort=relevance&page=1
Project View Example: https://artifacthub.io/packages/helm/smarter/smarter-edge
We could potentially augment descriptions with badges (Cassini Ready, etc.)
hub.balena.io: has a similar structure to the above, but actually couples a container recipe with a platform to provide a burnable sdcard
rancher provides a git repository of recipes: https://github.com/rancher/community-catalog which are used by their platform to provide catalog based installation
portal.sagecontinuum.org maintains a catalog of edge deployable applications for their smarter-cities project
portainer.io maintains git repositories of templates which are then deployable using their portainer.io tool (including the community edition)
Requirements
For helm appropriate projects (those that use kubernetes as a base layer)
helm-ifying (as necessary) template components
umbrella helm which deploys those components
role-designation methodology for multi-node blueprints (or even to specify cloud-side versus edge-side)
host on a catalog platform
For other projects
TBD - options include using things like portainer.io or just docker-compose, but unaware of a artifacthub.io equivalent for those so maybe just github/gitlab?
Current Status
A example is presented at https://github.com/ericvh/lfedge-catalog-proposal/blob/update/SMARTER_example.md.
Meeting Notes: Oct 10, 2022
Reviewed previous discussion on catalogs like Artifacthub
While artifacthub is good for discovery, its interface for configuration is somewhat limited (web editor for yaml)
Went through portainer.io as an option to help with deployment of docker containers and helm charts
Discussion of how different of these options could be used by EVE
Action Item: build a hello world template in the various technologies as a basis for discussion (was going to do with smarter-cities blueprint, but taking too long)