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.