{"id":43989786,"url":"https://github.com/openmcp-project/blueprint-building-blocks","last_synced_at":"2026-02-07T10:33:04.265Z","repository":{"id":289680659,"uuid":"947817834","full_name":"openmcp-project/blueprint-building-blocks","owner":"openmcp-project","description":"Helm chart building blocks for openMCP Blueprints","archived":false,"fork":false,"pushed_at":"2025-12-01T13:17:49.000Z","size":295,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-12-04T01:54:41.341Z","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":"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/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":null,"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-13T09:47:52.000Z","updated_at":"2025-12-01T13:17:53.000Z","dependencies_parsed_at":"2025-04-24T14:43:51.728Z","dependency_job_id":"5d157949-c00a-467b-8d6a-433e0d8cf0c3","html_url":"https://github.com/openmcp-project/blueprint-building-blocks","commit_stats":null,"previous_names":["openmcp-project/blueprint-building-blocks"],"tags_count":63,"template":false,"template_full_name":"openmcp-project/repository-template","purl":"pkg:github/openmcp-project/blueprint-building-blocks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprint-building-blocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprint-building-blocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprint-building-blocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprint-building-blocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmcp-project","download_url":"https://codeload.github.com/openmcp-project/blueprint-building-blocks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Fblueprint-building-blocks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29192674,"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:33:03.516Z","updated_at":"2026-02-07T10:33:04.259Z","avatar_url":"https://github.com/openmcp-project.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![REUSE status](https://api.reuse.software/badge/github.com/openmcp-project/blueprint-building-blocks)](https://api.reuse.software/info/github.com/openmcp-project/blueprint-building-blocks)\n\n# blueprint-building-blocks\n\n## About this project\n\nThis repositry contains [sub helm charts](https://helm.sh/docs/chart_template_guide/subcharts_and_globals/) of the [OpenMCP](https://github.com/openmcp-project) which are the building blocks for the OpenMCP Blueprints. To start your [Infrastructure as Data]() Cloud Journey with the OpenMCP Blueprint, visit this [repository](https://github.com/openmcp-project/blueprints) and follow `Getting Started` section.\n\n## Requirements and Setup\n\n### Helm Charts\n[Helm Charts](http://helm.sh) located at [`./helm/charts`](./helm/charts) are build with various purpose in mind. Please consult `README.md` file of each Helm Chart to discover its purpose, `values.yaml` structure and intended puropse.\n\n### Continous Delivery\nAll [Helm Charts](http://helm.sh) located in this repository will be [automatically versioned](https://github.com/openmcp-project/blueprint-workflows/tree/main/.github/actions/helm-chart/version-bump) and [pushed](.github/workflows/gh-pages-release.yml) into [Projects OCI registry](https://github.com/orgs/openmcp-project/packages?repo_name=blueprint-building-blocks) and Helm Repositry [cloud-orchestrator-mcp-blueprint-building-blocks](https://openmcp-project.github.io/blueprint-building-blocks).\n\n\n### [Github Workflows](#github-workflows)\n#### [`PR Status Checks`](#github-workflow-git-pr-status-checks)\nMore details see Github Workflow [`.github/workflows/git-pr-status-checks.yml`](https://github.com/openmcp-project/blueprint-workflows/tree/main/.github/workflows/git-pr-status-checks.yml) of [blueprint-workflows](https://github.com/openmcp-project/blueprint-workflows/tree/main/)\n\n#### [`.ci.config.yaml`](#github-workflow-ci-config-yaml)\n\nFile `chart-abc/.ci.config.yaml` is optional for every Helm Chart and influences execution of [`.github/workflows/git-pr-status-checks.yml`](.github/workflows/git-pr-status-checks.yml).\n\nYou can enable or disable processing of certain Github Workflows for certain Helm Charts via [`.ci.config.yaml`](helm/charts/test-custom-chart/.ci.config.yaml)!\n\n```yaml  \nhelm-chart-dependency-update: \n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\nhelm-chart-linting:\n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\n  options:\n    --strict: true # fail on lint warnings (default true)\n    --with-subcharts: false # lint dependent charts (default false)\nhelm-chart-validation:\n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\n  options:\n    --skip-crds: false # if set true, no CRDs will be templated. By default, CRDs are templated (default false)\n    --skip-tests: false # skip tests from templated output (default false)\n    --include-crds: false # include CRDs in the templated output (default false)\n    --debug: false # enable verbose output (default false)\n    --dependency-update: true # update dependencies if they are missing before installing the chart (default true)\nhelm-docs:\n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\n  options:\n    --badge-style: \"flat-square\" # badge style to use for charts (default \"flat-square\")\n    --document-dependency-values: true # For charts with dependencies, include the dependency values in the chart values documentation\n    --documentation-strict-mode: false # Fail the generation of docs if there are undocumented values\n    --skip-version-footer: false # if true the helm-docs version footer will not be shown in the default README template\n    --sort-values-order: \"file\" # order in which to sort the values table (\"alphanum\" or \"file\") (default \"alphanum\")\n    --output-file: \"README.md\" #  markdown file path relative to each chart directory to which rendered documentation will be written (default \"README.md\")\nhelm-chart-version-bump:\n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\nk8s-manifest-templating:\n  enable: true # default is true, even if you do NOT declare this in .ci.config.yaml!\n  options:\n    --skip-crds: false # if set true, no CRDs will be templated. By default, CRDs are templated (default false)\n```\n\n:bangbang: It is **HIGHLY** recommended **NOT** to `enabled: false`for `helm-chart-linting-manifest-validation.sh` :bangbang:\n\n### [Deletion Dependency Graph](#helm-chart-dependencies-deletion-dependency-graph)\n:bangbang: **DO NOT DELETE** / **DISABLE** your [Umbrella Helm Chart](https://github.com/openmcp-project/blueprints) Dependencies all at ONCE :bangbang:\nIf you want to clean-up / deprovision / delete SAP \u0026 Hyperscaler Resources, you need to follow a certain order!\n\nWe recommend to delete / disable the Helm Chart Dependencies in the following order: *read from right to left*\n```\nflux-config\n└── crossplane-provider-pkgs\n    └── external-secrets-config\n        ├── crossplane-provider-configs\n        └── crossplane-provider-apiextensions-composition\n            ├── crossplane-gardener-shoot-clusters\n            │   ├── crossplane-provider-helm\n            │   └── crossplane-provider-kubernetes\n            ├── crossplane-gardener-shoot-kubeconfigs\n            │   ├── crossplane-provider-helm\n            │   └── crossplane-provider-kubernetes\n            ├── crossplane-provider-aws-*\n            ├── crossplane-provider-btp-accounts\n            └── crossplane-provider-dynatrace\n```\nE.g.: The `flux-config` dependency shall be deleted / disabled as last. \n\n#### Example\nLets have a look at the [`Chart.yaml`](https://github.com/openmcp-project/blueprints/blob/main/helm/umbrella/blueprints/provider-gardener.abc.shoot.live.k8s-hana.ondemand.com/Chart.yaml) of the template [`provider-gardener.abc.shoot.live.k8s-hana.ondemand.com`](https://github.com/openmcp-project/blueprints/blob/main/helm/umbrella/blueprints/provider-gardener.abc.shoot.live.k8s-hana.ondemand.com).\n\n```yaml\ndependencies:\n  - name: crossplane-provider-configs\n    alias: crossplane-provider-configs\n    version: ....\n    repository: \"oci://ghcr.io/openmcp-project\"\n    tags:\n      - crossplane-provider-configs\n  - name: external-secrets-config\n    alias: external-secrets-config\n    version: ...\n    repository: \"oci://ghcr.io/openmcp-project\"\n    tags:\n      - external-secrets-config\n  - name: crossplane-gardener-shoot-clusters\n    alias: crossplane-gardener-shoot-clusters\n    version: ...\n    repository: \"oci://ghcr.io/openmcp-project\"\n    tags:\n      - crossplane-gardener-shoot-clusters\n  - name: crossplane-provider-helm\n    alias: crossplane-provider-helm\n    version: ...\n    repository: \"oci://ghcr.io/openmcp-project\"\n    tags:\n      - crossplane-provider-helm\n```\n\n```yaml\n# values.yaml\ntags:\n  external-secrets-config: true\n  crossplane-provider-configs: true\n  crossplane-gardener-shoot-clusters: true\n  crossplane-provider-helm: true\n```\nAccording to the `Deletion Dependency Graph` section, the order of **deletion / disabling** the Helm Chart dependency is:\n1. crossplane-provider-helm\n2. crossplane-gardener-shoot-clusters\n3. crossplane-provider-configs\n4. external-secrets-config\n\n**Why in this order**?\n1. crossplane-provider-helm\n\u003e This Helm Chart is used to orchestrate the k8s stack on your Gardener / Kyma Cluster.\n2. crossplane-gardener-shoot-clusters\n\u003e This Helm Chart is used to orchestrate Gardener Shoot Clusters.\n3. crossplane-provider-configs\n\u003e This Helm Chart is used to create `crossplane` k8s manifests `kind: ProviderConfig` (e.g. `apiVersion: account.btp.sap.crossplane.io/v1alpha1`) for `crossplane providers` in order to orchestrate (cloud) service providers (e.g. BTP Accounts)\n4. external-secrets-config\n\u003e This Helm Chart is used to establish a connection to SAP HashiCorp Vault in order to pull/push credentials of (cloud) service providers.\n\n## Support, Feedback, Contributing\nThis project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/openmcp-project/blueprint-building-blocks/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/blueprint-building-blocks/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 blueprint-building-blocks 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/blueprint-building-blocks).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Fblueprint-building-blocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmcp-project%2Fblueprint-building-blocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Fblueprint-building-blocks/lists"}