https://github.com/theopenlane/openlane-infra
utilities and charts used with Openlane
https://github.com/theopenlane/openlane-infra
config-sync gke helm
Last synced: 6 months ago
JSON representation
utilities and charts used with Openlane
- Host: GitHub
- URL: https://github.com/theopenlane/openlane-infra
- Owner: theopenlane
- License: apache-2.0
- Created: 2025-05-20T14:49:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-20T17:12:24.000Z (12 months ago)
- Last Synced: 2025-07-20T19:08:48.094Z (12 months ago)
- Topics: config-sync, gke, helm
- Language: Smarty
- Homepage: https://theopenlane.github.io/openlane-infra/
- Size: 10.2 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://github.com/heopenlane/openlane-infra/actions/workflows/charts-publish.yml)
[](https://opensource.org/licenses/Apache-2.0)
[](https://sonarcloud.io/summary/new_code?id=theopenlane_openlane-infra)
# 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:
```bash
./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](https://github.com/helm/chart-testing) to ensure our charts follow best practices. To lint a chart, run either:
```
task lint
```
or
```bash
docker run --rm -it -w /charts -v $(pwd)/../:/charts quay.io/helmpack/chart-testing:v3.12.0 ct lint --charts /charts/charts/ --config /charts/charts//ct.yaml
```
### Documentation Generation
Documentation is automatically generated from chart annotations using helm-docs. To manually generate documentation:
```bash
task docs
```