Skip to content

theopenlane/openlane-infra

Chart Publish License: Apache 2.0 Quality Gate Status

Openlane Helm Chart

This repo contains a basic helm chart for deploying the Openlane stack, as well as some other misc. items we use to manage our environment such as cert-manager, external-dns, and other general Kubernetes ecosystem components. If you're wanting purely the Openlane stack, that will be inside of charts/openlane and it's major direct dependency, OpenFGA which we have a wrapper for to the upstream FGA chart inside of charts/openfga.

WARNING: Use these charts with caution and review the files beforehand! Because we have not yet invested a lot of time into parameterization of the charts values.yaml, many of the configuration options present do not directly control the deployment behavior, and many of the yaml files in the `templates directory are "flat" / contain hard-cded values.

Additionally, the chart has not yet been fully genericized to include things like a PostgreSQL or Redis deployment alongside the Openlane containers. We leverage our cloud provider for these services, so you could include them by simply importing the openlane chart and then adding postgresql, redis, or any other additional components you'd like to create alongside Openlane until we've had an opportunity to add and test those configurations.

If it's helpful from a compatibility perspetive, we use GCP CloudSQL and GCP Memorystore and can confirm those work with our core server deployment and OpenFGA.

Chart Scaffolding

The repository includes a custom shell script (openlane-chart.sh) to scaffold new charts. This tool automates the process of:

  • Creating a new Helm chart
  • Removing default templates
  • Updating Chart.yaml with dependency details (including optional alias support)
  • Rendering default values and external templates
  • Building Helm dependencies
  • Generating documentation with helm-docs

Example usage:

./scripts/openlane-chart.sh create
  --name my-new-chart
  --dependency-url https://charts.example.com
  --dependency-chart-name example-chart
  --dependency-chart-version 1.2.3
  --dependency-alias exchart

Linting and Testing

We use Chart Testing to ensure our charts follow best practices. To lint a chart, run either:

task lint

or

docker run --rm -it -w /charts -v $(pwd)/../:/charts quay.io/helmpack/chart-testing:v3.12.0 ct lint --charts /charts/charts/<chart-name> --config /charts/charts/<chart-name>/ct.yaml

Documentation Generation

Documentation is automatically generated from chart annotations using helm-docs. To manually generate documentation:

task docs

About

utilities and charts used with Openlane

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 9