LFX v2 Helm charts
June 15, 2026 · View on GitHub
This repository contains Helm charts for deploying the LFX v2 platform on Kubernetes.
Agents working in this repo should start with
CLAUDE.md. Platform chart guidance lives indocs/platform-chart.md, local stack guidance lives indocs/local-platform-getting-started.md, and service chart conventions live indocs/service-chart-patterns.md.
Repository structure
lfx-v2-helm/
└── charts/
└── lfx-platform/ # Main LFX Platform chart
├── templates/ # Kubernetes templates
├── Chart.yaml # Chart metadata
├── values.yaml # Default values
└── README.md # Documentation
Installation
See the lfx-platform chart README for installation instructions.
Components
The platform is composed of infrastructure components (Traefik, OpenFGA, Heimdall, NATS, OpenSearch, and others) along with LFX platform services and resource services. For the full list with links to each service repository, see the lfx-platform chart README.
Component diagram
flowchart TD
Traefik(Traefik Ingress)
OpenSearch[(OpenSearch)]
OpenFGA(OpenFGA)
Heimdall{Heimdall}
subgraph NATS
nats-access-check-subject@{ shape: braces, label: "access-check & replies" }
nats-update-access-subject@{ shape: braces, label: "update-access & ACK" }
nats-update-index-subject@{ shape: braces, label: "index data & ACK" }
nats-kv-data@{ shape: braces, label: "Jetstream<br />KV buckets" }
end
Traefik -->|allow/deny?| Heimdall
Heimdall -->|decision| Traefik
Heimdall -->|check relations based on URL pattern rulesets| OpenFGA
Traefik --->|user queries| query-svc
query-svc --> OpenSearch
access-check[<em>access-check</em>]
Traefik --->|user access checks| access-check
access-check <-.-> nats-access-check-subject
resource-apis@{ shape: processes, label: "Resource APIs<br />(projects, committees, etc)"}
Traefik -->|Heimdall-authorized user requests| resource-apis
query-svc[<em>query-svc</em>]
query-svc <-.->|filter search results| nats-access-check-subject
nats-access-check-subject <-.->|bulk access checks and responses| fga-sync
nats-update-access-subject <-.->|access updates & ACK| fga-sync
fga-sync[<em>fga-sync</em>]
fga-sync <-->|access updates, bulk access checks| OpenFGA
indexer[<em>indexer</em>]
nats-update-index-subject <-.->|index data & ACK| indexer
indexer <-->|index/revision resources| OpenSearch
resource-apis <-..-> nats-update-access-subject
resource-apis <-.-> nats-update-index-subject
resource-apis <-.->|data storage| nats-kv-data
Configuration
See the lfx-platform chart README for configuration options and examples.
Releases
This repository automatically publishes Helm charts to GitHub Container Registry (GHCR) when tags are created.
Creating a Release
- Merge pull requests that update chart manifests or configuration. Do not
manually bump the
versionfield incharts/lfx-platform/Chart.yaml— the release workflow sets the published chart version from the Git tag. Update service subchart version constraints incharts/lfx-platform/Chart.yamland regeneratecharts/lfx-platform/Chart.lockonly when dependency pins change. - After the pull request is merged, create a GitHub release and choose the
option for GitHub to also tag the repository. The tag must match the
v*pattern (e.g.,v0.3.36); the release workflow only runs for pushed tags matchingv*(see.github/workflows/release.yaml). The tag determines the chart version published to GHCR (e.g. tagv0.3.36publishes chart version0.3.36). - The GitHub Actions workflow will automatically:
- Package the Helm chart
- Publish it to
ghcr.io/linuxfoundation/lfx-v2-helm/chart - Sign the chart with cosign for security
- Generate SLSA provenance attestation
Development
To contribute to this repository:
- Fork the repository
- Commit your changes to a feature branch in your fork. Ensure your commits
are signed with the Developer Certificate of Origin
(DCO).
You can use the
git commit -scommand to sign your commits. - Do not manually bump the
versionfield incharts/lfx-platform/Chart.yaml— the release workflow sets the published chart version from the Git tag (see Releases). If you changed a service dependency, ensurecharts/lfx-platform/Chart.yamlandcharts/lfx-platform/Chart.lockagree after runninghelm dependency update charts/lfx-platform. - If you are adding a new platform component, ensure it is documented in the component diagram and the lfx-platform chart README.
- Run MegaLinter locally at the root of the working directory to check for
errors or linting problems:
docker run --rm --platform linux/amd64 \ -v "$(pwd):/tmp/lint:rw" \ oxsecurity/megalinter-documentation:v8 - Submit your pull request
License
Copyright The Linux Foundation and each contributor to LFX.
This project’s source code is licensed under the MIT License. A copy of the
license is available in LICENSE.
This project’s documentation is licensed under the Creative Commons Attribution
4.0 International License (CC-BY-4.0). A copy of the license is available in
LICENSE-docs.