{"id":43989741,"url":"https://github.com/openmcp-project/blueprints","last_synced_at":"2026-02-07T10:32:59.764Z","repository":{"id":289836834,"uuid":"950514912","full_name":"openmcp-project/blueprints","owner":"openmcp-project","description":"Helm charts for openMCP using building blocks","archived":false,"fork":false,"pushed_at":"2026-01-20T15:05:32.000Z","size":454,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-01-21T00:07:08.079Z","etag":null,"topics":["apeirora","cloud-computing","cloud-management","cloud-native","control-plane","infrastructure","infrastructure-as-code","kubernetes","multicloud","openmcp"],"latest_commit_sha":null,"homepage":"","language":"Go Template","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/openmcp-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-18T09:30:51.000Z","updated_at":"2026-01-20T15:04:25.000Z","dependencies_parsed_at":"2025-08-25T19:11:07.668Z","dependency_job_id":"4397aa0a-3784-4ab7-8303-9e8072efc2c1","html_url":"https://github.com/openmcp-project/blueprints","commit_stats":null,"previous_names":["openmcp-project/blueprints"],"tags_count":0,"template":true,"template_full_name":"openmcp-project/repository-template","purl":"pkg:github/openmcp-project/blueprints","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmcp-project","download_url":"https://codeload.github.com/openmcp-project/blueprints/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprints/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29192670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["apeirora","cloud-computing","cloud-management","cloud-native","control-plane","infrastructure","infrastructure-as-code","kubernetes","multicloud","openmcp"],"created_at":"2026-02-07T10:32:59.698Z","updated_at":"2026-02-07T10:32:59.759Z","avatar_url":"https://github.com/openmcp-project.png","language":"Go Template","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![REUSE status](https://api.reuse.software/badge/github.com/openmcp-project/blueprints)](https://api.reuse.software/info/github.com/openmcp-project/blueprints)\n\n# blueprints\n\n## About this project\n\nThis repository contains [umbrella helm charts](https://helm.sh/docs/howto/charts_tips_and_tricks/#complex-charts-with-many-dependencies) of the [Open Managed Control Plane (openMCP) Project](https://github.com/openmcp-project/) which are leveraging the Helm Charts of the [building blocks](https://github.com/openmcp-project/blueprint-building-blocks) to give **you** a big jump start in your [Infrastructure as Data]() Cloud Journey.\n\n## Requirements and Setup\n\n### Own repository\nCreate your own `openmcp-blueprints` Github Repository into your own Github Organisation by [\"Use this Template\"](https://github.com/new?owner=openmcp-project\u0026template_name=blueprints\u0026template_owner=openmcp-project) for. Make sure to provide following repository Secrets with your own identity token or technical user for your artifact repository:\n\n| Repository Secret Name | Description                                                                                                                                                                                                                                                                                                                |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| HELM_REPO_USERNAME    | name of your own user or technical user |\n| HELM_REPO_TOKEN       | own or technical user identity token    |\n\n### Repository Configuration\n\nSadly Github does NOT copy repository settings, you have to set them initially by yourself! \nDo not disable or change Github Workflow `.github/workflows/git-pr-status-checks.yml` or following `main` branch protection! Otherwise, the described functionality and value-add cannot be guaranteed!\n\nAdditionally do NOT delete / rename `helm/charts/_templates_footer.gotmpl` and `helm/charts/_templates_header.gotmpl`! Otherwise, `README.md` generation will fail! Feel free to modify this files to your needs!\n\n#### [Access Workflow](#github-access-workflow)\nIn order for your own Github Repository to access Github Workflow `.github/workflows/git-pr-status-checks.yml` on [openmcp-project/blueprint-workflows](https://github.com/openmcp-project/blueprint-workflows) you need to configure `Settings` -\u003e `Actions` -\u003e `General` -\u003e the access of GitHub Actions workflows in other repositories to:\n\n![Github Actions Workflows Access to other repositories](docs/static/github-actions-workflows-other-repos.png)\n\nIf this section is not available, please check with [GitHub Docs](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository) and set visibility of your repository to `internal`. If \n\n#### Branch protection rule\n| Field                                               | Value                              |\n| --------------------------------------------------- | ---------------------------------- |\n| Branch name pattern                                 | `main`                             |\n| Require a pull request before merging               | :white_check_mark:                 |\n| Require approvals                                   | :white_check_mark:                 |\n| Require approval of the most recent reviewable push | :white_check_mark:                 |\n| Require status checks to pass before merging        | :white_check_mark:                 |\n| Require branches to be up-to-date before merging    | :white_check_mark:                 |\n| Status checks that are required.                    | `Managed Control Plane Blueprints` |\n| Require conversation resolution before merging      | :white_check_mark:                 |\n| Do not allow bypassing the above settings           | :white_check_mark:                 |\n\n### Umbrealla Helm Charts\nAll [Helm Charts](http://helm.sh) located at [`./helm/umbrella`](./helm/umbrella) are build to demonstrate orchestration of different SAP Cloud Resources. Please consult `README.md` file of each Umbrella Helm Chart to discover its purpose, `values.yaml` structure and intended purpose.\n\nFeel free to browse existing [Umbrella Helm Chart Blueprints](helm/umbrella/blueprints) and pick one or multiple which covers most of the SAP Resources you want to orchestrate. Copy the templates into `./helm/umbrella/mcps/` to distinguish your own Helm Charts from the existing templates.\n\nAdd additional Sub Helm Charts from the [building blocks repository](https://github.com/openmcp-project/blueprint-building-blocks) and add/modify/delete `values.yaml` structure to orchestrate your desired landscape.\n\n### Github PR\nOpen a Github PR into `main` in order to validate and template your Helm Charts via Github Workflow [`git-pr-status-checks.yml`](./.github/workflows/git-pr-status-checks.yml).\n\n### K8s Manifest Generation\nThe Github Workflow [`git-pr-status-checks.yml`](./.github/workflows/git-pr-status-checks.yml) ensures that every Helm Chart:\n1. templates valid k8s manifests\n2. `.version` of `Chart.yaml` is bumped, in case there is a change\n3. `README.md` is up-to-date\n4. k8s manifest is templated, moved to `./manifests`, committed and pushed for every PR merging into `main`\n\n!! Do not disable or change Github Workflow `.github/workflows/git-pr-status-checks.yml` or `main` branch protection!!\n\n### GitOps\nSet up a GitOps workflow by enabling the Flux component and configuring it to sync with your Git repository. Use the provided Helm charts to manage credentials and configurations for tools like External Secrets Operator.\n\nPlease use Helm Chart [flux-config](https://github.com/openmcp-project/blueprint-building-blocks/tree/main/helm/charts/mcp/flux-config) to enable GitOps on your own OpenMCP and sync the corresponding `./manifests/..` folder.\n\n\n## Clean UP\nBe aware, that you need to **delete** / **deactivate** your Umbrella Helm Chart Dependencies in a certain order for deletion **NOT** get **STUCK**!! More details [here](https://github.com/openmcp-project/blueprint-building-blocks#helm-chart-dependencies-deletion-dependency-graph).\n\n## FAQ\n\n### Q: Repository Folder Structure\nDo i need to follow a certain folder structure?\n**A**: No! You can put your Helm Chart wherever you want. It's highly recommended following the open source community best practices:\n\n| Folder          | Purpose                                                                                                                                                                                              |\n| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| ./helm/charts   | Contains only (Sub) Helm Charts with `chart-abc/templates/*.yaml/yml` files.                                                                                                                         |\n| ./helm/umbrella | Contains only (Umbrella) Helm Charts which reference to a dependent (Sub) Helm Chart within `Chart.yaml`. Typhically Umbrella Helm Charts do not contain any `chart-abc/templates/*.yaml/yml` files. |\n| ./manifests     | This folder contains all the templated Helm Charts and can **NOT** be changed!                                                                                                                       |\n\n### Q: Disable k8s manifest generation\nHow to disable k8s manifest generation?\n\n**A**: Create / Update `chart-abc/.ci.config.yaml` with the following content:\n\n```yaml\nmove-manifests.sh:\n  enabled: false\n```\n\nWith the next run of Github Action `.github/workflows/git-pr-status-checks.yml` the `./manifest/...` folder of `chart-abc` should be removed!\n\n### Q: Local Chart Dependency\nI am missing k8s manifest `xyz`. How can I include it into `k8s manifest generation`?\n\n**A**: There is no need, to re-use CO [MCP Blueprint Building Blocks](https://github.com/openmcp-project/blueprint-building-blocks) Helm Charts! \nFeel free to create your own custom (Sub) Helm Charts at `helm/charts` and declare it as Dependency in an Umbrella Helm Chart at `helm/umbrella`.\n\n| Helm Chart                                                                                    | Purpose                                                                                                                                                                                                                                                                                                                                |\n| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| (Sub) [Custom Chart](./helm/charts/custom-chart)                                                                | Custom (Sub) Helm Chart containing k8s manifests which are not covered by CO [MCP Blueprint Building Blocks](https://github.com/openmcp-project/blueprint-building-blocks) or not to your liking.                                                                                                                            |\n| (Umbrella) [Custom Chart](./helm/umbrella/blueprints/include-custom-helm-charts.abc.shoot.live.k8s-hana.ondemand.com) | Umbrella Helm Chart which references to local (Sub) Helm Chart `helm/charts/custom-chart` and re-uses additionally CO [MCP Blueprint Building Blocks](https://github.com/openmcp-project/blueprint-building-blocks). Of course, `k8s manifest generation` for `./manifests/..` also works without any external Dependencies. |\n\n\n### Q: GH Workflow - `workflow git-pr-status-checks.yml was not found`\n```bash\nInvalid workflow file: .github/workflows/git-pr-status-checks.yml#L12 \nerror parsing called workflow \".github/workflows/git-pr-status-checks.yml\"\n-\u003e \"cloud-orchestration/mcp-blueprint-building-blocks/.github/workflows/git-pr-status-checks.yml@main\"\n: workflow was not found. See https://docs.github.com/en/actions/sharing-automations/reusing-workflows#access-to-reusable-workflows for more information.\n```\n\n**A**: See [Access Workflow](#github-access-workflow) and [Github Docs](https://docs.github.com/en/actions/sharing-automations/reusing-workflows#access-to-reusable-workflows)\n\n### Q: Helm Chart Files - Why `.ci.config.yaml`?\n\n**A**: See [in-depth documentation](https://github.com/openmcp-project/blueprint-building-blocks#github-workflow-ci-config-yaml)\n\n### Q: Helm Chart Dependency Build `can't get a valid version`\nGithub Workflow `cloud-orchestration/mcp-blueprint-building-blocks/.github/actions/helm-chart-dep-build@main` is failing with \n\n```bash\n$ helm dependency update ./helm/umbrella/dev\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"cloud-orchestrator-mcp-blueprint-building-blocks\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\nError: can't get a valid version for repositories crossplane-provider-configurations. Try changing the version constraint in Chart.yaml\n======== ERROR STOPPING EXECUTION =======\n```\n\n**A**: Check if all `dependencies[].version` of `/helm/umbrella/dev/Chart.yaml` are existing! Versions are expected to follow [Semantic Versioning](https://semver.org/) and [ranges](https://devhints.io/semver) can be defined e.g. `version: \"\u003e1.2.1\"`. Semantic Versioning ranges are **NOT** recommended because a Helm Chart Dependency upgrade to a new `version` should always be a conscious action!\n\n### Q: Compare Helm Chart Versions How?\nHow can I compare what has changed of [`crossplane-provider-aws-ec2`](https://github.com/openmcp-project/blueprint-building-blocks/tree/main/helm/charts/mcp/crossplane-provider-aws-ec2) from Helm Chart Version `0.0.1` to `0.0.2`?\n\n**A**: For every Helm Chart `version` change of every [`mcp-blueprint-building-blocks`](https://github.com/openmcp-project/blueprint-building-blocks) Helm Chart, there is a Git Tag created. \n\nYou can either use Github Functionality of [comparing commits/tags](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits) (e.g. [crossplane-provider-aws-ec2/0.0.1 \u003c-\u003e crossplane-provider-aws-ec2/0.0.2](https://github.com/openmcp-project/blueprint-building-blocks/compare/crossplane-provider-aws-ec2/0.0.1...crossplane-provider-aws-ec2/0.0.2)) or use [`git diff`](https://git-scm.com/docs/git-diff) to compare certain folder or files.\n\n```bash\ngit diff \"crossplane-provider-aws-ec2/0.0.1\" \"crossplane-provider-aws-ec2/0.0.2\" -- helm/charts/mcp/crossplane-provider-aws-ec2\n```\n\n## Support, Feedback, Contributing\n\nThis project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/openmcp-project/blueprints/issues) and maintained on a best effort basis. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).\n\n## Security / Disclosure\nIf you find any bug that may be a security problem, please follow our instructions at [in our security policy](https://github.com/openmcp-project/blueprints/security/policy) on how to report it. Please do not create GitHub issues for security-related doubts or problems.\n\n## Code of Conduct\n\nWe as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times.\n\n## Licensing\n\nCopyright 2025 SAP SE or an SAP affiliate company and blueprints contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/openmcp-project/blueprints).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Fblueprints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmcp-project%2Fblueprints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Fblueprints/lists"}