Community app templates and Helm charts for the Edka app catalog.
This repository is three things at once:
- The spec.
spec/documents the app-template format and the canonical platform fields. Everything a template needs is in this repository — no internal Edka source access required. - The catalog source. The Edka platform syncs release tags of this repository into its app catalog. Apps here appear in every Edka organization's catalog with a Community badge.
- Standalone Helm charts. Each app's simplified chart under
apps/<name>/chart/is a plain Helm chart. It installs withhelm installon any Kubernetes cluster, with or without Edka.
spec/
template-format.md # the app-template YAML format
canonical-fields.md # platform contract: database/storage/placement/access fields,
# worker-injected variables, generated secrets
apps/
<name>/
template.yaml # the Edka app template
chart/ # standalone Helm chart (optional per app)
README.md
skill/
SKILL.md # the distiller skill: official chart in, simplified app out
.github/workflows/
ci.yml # lint + manifest validation + kind install smoke test
release.yml # publishes charts to oci://ghcr.io/edkadigital/charts on tag v*
- A pull request adds or changes
apps/<name>/(template, chart, README). - CI lints the chart, validates rendered manifests, and smoke-installs on a kind cluster.
- A maintainer reviews and merges. Maintainer review is the trust boundary: community templates render on customers' clusters.
- A release tag
v*publishes every chart tooci://ghcr.io/edkadigital/charts/<name>. - The Edka platform pins a release tag and syncs its templates into the catalog.
Sync validates every template and rejects chart references outside
ghcr.io/edkadigital/.
The platform never syncs a floating branch. Catalog changes ride reviewed release tags.
helm install my-gitea oci://ghcr.io/edkadigital/charts/gitea \
--version <chart version> \
--set admin.password=<password> \
--set-string config.GITEA__database__DB_TYPE=sqlite3Each chart's README documents its values.
- Read
spec/template-format.mdandspec/canonical-fields.md. - Copy the structure of
apps/gitea/— it is the reference implementation. - Keep the chart simplified: no bundled databases or caches, no ingress templates, no monitoring stacks. Databases come from the platform's canonical fields; exposure comes from the platform's gateway plane.
- Secret and password fields never carry defaults. Use
generate: truefor values the platform should generate at install time. - Pin images by tag. Chart references in templates must point at
oci://ghcr.io/edkadigital/charts/<name>. - Open a pull request. CI must pass; a maintainer review is required.
Apache-2.0. See LICENSE.