...
- Reduce friction to deployment of LF Edge BlueprintsTemplates
- Provide a centralized location for all deployable BlueprintsTemplates
Definition
- Template = software + configuration
Concept
- Provide (potential hierarchy of) recipes for deployment of blueprintstemplates
- 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
...
- 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/device-manager/smarter-device-manager
- 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) blueprint 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?
Proposal
- Build a simple example (hello-$CONFIGVARIABLE) which can be packaged using the various options and built into the various catalog options (by 10/17/22)
- Prototype requirements with a single blueprint template (strawman: Akraino smarter cities blueprint) and then broaden to all Akraino blueprints to evaluate
...