{"id":29663860,"url":"https://github.com/theopenlane/openlane-infra","last_synced_at":"2025-12-24T20:23:26.079Z","repository":{"id":294962655,"uuid":"987083421","full_name":"theopenlane/openlane-infra","owner":"theopenlane","description":"utilities and charts used with Openlane","archived":false,"fork":false,"pushed_at":"2025-07-20T17:12:24.000Z","size":10654,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-20T19:08:48.094Z","etag":null,"topics":["config-sync","gke","helm"],"latest_commit_sha":null,"homepage":"https://theopenlane.github.io/openlane-infra/","language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theopenlane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-20T14:49:10.000Z","updated_at":"2025-07-18T16:14:04.000Z","dependencies_parsed_at":"2025-06-07T06:19:35.380Z","dependency_job_id":"ccdff784-476c-40fc-83df-424e59f4bcdc","html_url":"https://github.com/theopenlane/openlane-infra","commit_stats":null,"previous_names":["theopenlane/openlane-infra"],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/theopenlane/openlane-infra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theopenlane%2Fopenlane-infra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theopenlane%2Fopenlane-infra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theopenlane%2Fopenlane-infra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theopenlane%2Fopenlane-infra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theopenlane","download_url":"https://codeload.github.com/theopenlane/openlane-infra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theopenlane%2Fopenlane-infra/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266489536,"owners_count":23937366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config-sync","gke","helm"],"created_at":"2025-07-22T12:05:01.328Z","updated_at":"2025-10-06T04:22:16.402Z","avatar_url":"https://github.com/theopenlane.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Chart Publish](https://github.com/theopenlane/openlane-infra/actions/workflows/charts-publish.yml/badge.svg?branch=main)](https://github.com/heopenlane/openlane-infra/actions/workflows/charts-publish.yml)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache2.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=theopenlane_openlane-infra\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=theopenlane_openlane-infra)\n\n\n# Openlane Helm Chart\n\nThis 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`.\n\n\u003e 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.\n\nAdditionally, 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.\n\nIf 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.\n\n## Chart Scaffolding\n\nThe repository includes a custom shell script (`openlane-chart.sh`) to scaffold new charts. This tool automates the process of:\n\n- Creating a new Helm chart\n- Removing default templates\n- Updating `Chart.yaml` with dependency details (including optional alias support)\n- Rendering default values and external templates\n- Building Helm dependencies\n- Generating documentation with helm-docs\n\nExample usage:\n\n```bash\n./scripts/openlane-chart.sh create\n  --name my-new-chart\n  --dependency-url https://charts.example.com\n  --dependency-chart-name example-chart\n  --dependency-chart-version 1.2.3\n  --dependency-alias exchart\n```\n\n### Linting and Testing\n\nWe use [Chart Testing](https://github.com/helm/chart-testing) to ensure our charts follow best practices. To lint a chart, run either:\n\n```\ntask lint\n```\nor\n\n```bash\ndocker run --rm -it -w /charts -v $(pwd)/../:/charts quay.io/helmpack/chart-testing:v3.12.0 ct lint --charts /charts/charts/\u003cchart-name\u003e --config /charts/charts/\u003cchart-name\u003e/ct.yaml\n```\n\n### Documentation Generation\n\nDocumentation is automatically generated from chart annotations using helm-docs. To manually generate documentation:\n\n```bash\ntask docs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheopenlane%2Fopenlane-infra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheopenlane%2Fopenlane-infra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheopenlane%2Fopenlane-infra/lists"}