{"id":13550839,"url":"https://github.com/kubermatic/kubermatic","last_synced_at":"2026-10-19T13:52:13.407Z","repository":{"id":37394972,"uuid":"50734768","full_name":"kubermatic/kubermatic","owner":"kubermatic","description":"Kubermatic Kubernetes Platform - the Central Kubernetes Management Platform For Any Infrastructure ","archived":false,"fork":false,"pushed_at":"2026-10-09T14:27:04.000Z","size":181789,"stargazers_count":1337,"open_issues_count":463,"forks_count":212,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-10-09T15:33:55.615Z","etag":null,"topics":["cluster-api","kubermatic-kubernetes-platform","kubernetes"],"latest_commit_sha":null,"homepage":"https://www.kubermatic.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubermatic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-01-30T17:05:09.000Z","updated_at":"2026-10-09T14:27:13.000Z","dependencies_parsed_at":"2023-10-14T18:45:11.868Z","dependency_job_id":"8e5717a1-cd17-4360-8551-6cfa3d94437b","html_url":"https://github.com/kubermatic/kubermatic","commit_stats":{"total_commits":6745,"total_committers":135,"mean_commits":49.96296296296296,"dds":0.8730911786508525,"last_synced_commit":"b19911909d8a137f7e8ff2fb9c7b202aff9757f2"},"previous_names":["kubermatic/kubermatic-api"],"tags_count":462,"template":false,"template_full_name":null,"purl":"pkg:github/kubermatic/kubermatic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Fkubermatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Fkubermatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Fkubermatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Fkubermatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubermatic","download_url":"https://codeload.github.com/kubermatic/kubermatic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Fkubermatic/sbom","scorecard":{"id":572567,"data":{"date":"2025-08-11","repo":{"name":"github.com/kubermatic/kubermatic","commit":"ec45fd06155ce9a07da69516571d160fdab8483d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 10 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2.28.2 not signed: https://api.github.com/repos/kubermatic/kubermatic/releases/239657671","Warn: release artifact v2.27.7 not signed: https://api.github.com/repos/kubermatic/kubermatic/releases/239651018","Warn: release artifact v2.26.12 not signed: https://api.github.com/repos/kubermatic/kubermatic/releases/239638220","Warn: release artifact v2.28.1 not signed: https://api.github.com/repos/kubermatic/kubermatic/releases/231533098","Warn: release artifact v2.28.2 does not have provenance: https://api.github.com/repos/kubermatic/kubermatic/releases/239657671","Warn: release artifact v2.27.7 does not have provenance: https://api.github.com/repos/kubermatic/kubermatic/releases/239651018","Warn: release artifact v2.26.12 does not have provenance: https://api.github.com/repos/kubermatic/kubermatic/releases/239638220","Warn: release artifact v2.28.1 does not have provenance: https://api.github.com/repos/kubermatic/kubermatic/releases/231533098"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: addons/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/alertmanager-authorization-server/Dockerfile:15: pin your Docker image by updating gcr.io/distroless/static-debian12:nonroot to gcr.io/distroless/static-debian12:nonroot@sha256:cdf4daaf154e3e27cfffc799c16f343a384228f38646928a1513d925f473cb46","Warn: containerImage not pinned by hash: cmd/conformance-tester/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/etcd-launcher/Dockerfile:15: pin your Docker image by updating busybox:1.32.1 to busybox:1.32.1@sha256:ae39a6f5c07297d7ab64dbd4f82c77c874cc6a94cea29fdec309d0992574b4f7","Warn: containerImage not pinned by hash: cmd/http-prober/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/kubeletdnat-controller/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/kubeletdnat-controller/Dockerfile.multiarch:15","Warn: containerImage not pinned by hash: cmd/kubeletdnat-controller/Dockerfile.multiarch:31: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/network-interface-manager/Dockerfile:15: pin your Docker image by updating gcr.io/distroless/static-debian12 to gcr.io/distroless/static-debian12@sha256:2e114d20aa6371fd271f854aa3d6b2b7d2e70e797bb3ea44fb677afec60db22c","Warn: containerImage not pinned by hash: cmd/network-interface-manager/Dockerfile.multiarch:15","Warn: containerImage not pinned by hash: cmd/network-interface-manager/Dockerfile.multiarch:31: pin your Docker image by updating gcr.io/distroless/static-debian12 to gcr.io/distroless/static-debian12@sha256:2e114d20aa6371fd271f854aa3d6b2b7d2e70e797bb3ea44fb677afec60db22c","Warn: containerImage not pinned by hash: cmd/nodeport-proxy/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: containerImage not pinned by hash: cmd/s3-exporter/Dockerfile:15: pin your Docker image by updating gcr.io/distroless/static-debian12:nonroot to gcr.io/distroless/static-debian12:nonroot@sha256:cdf4daaf154e3e27cfffc799c16f343a384228f38646928a1513d925f473cb46","Warn: containerImage not pinned by hash: cmd/user-ssh-keys-agent/Dockerfile:15: pin your Docker image by updating gcr.io/distroless/static-debian12 to gcr.io/distroless/static-debian12@sha256:2e114d20aa6371fd271f854aa3d6b2b7d2e70e797bb3ea44fb677afec60db22c","Warn: containerImage not pinned by hash: cmd/user-ssh-keys-agent/Dockerfile.multiarch:15","Warn: containerImage not pinned by hash: cmd/user-ssh-keys-agent/Dockerfile.multiarch:31: pin your Docker image by updating gcr.io/distroless/static-debian12 to gcr.io/distroless/static-debian12@sha256:2e114d20aa6371fd271f854aa3d6b2b7d2e70e797bb3ea44fb677afec60db22c","Warn: containerImage not pinned by hash: hack/images/startup-script/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.18 to docker.io/alpine:3.18@sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f","Warn: containerImage not pinned by hash: hack/images/util/Dockerfile:15: pin your Docker image by updating docker.io/alpine:3.19 to docker.io/alpine:3.19@sha256:3be987e6cde1d07e873c012bf6cfe941e6e85d16ca5fc5b8bedc675451d2de67","Warn: goCommand not pinned by hash: hack/changelog-gen.sh:54","Info:   0 out of  19 containerImage dependencies pinned","Info:   0 out of   1 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3754 / GHSA-2x5j-vhc8-9cwm","Warn: Project is vulnerable to: GO-2025-3829 / GHSA-4vq8-7jfc-9cvp","Warn: Project is vulnerable to: GO-2025-3770","Warn: Project is vulnerable to: GO-2025-3652 / GHSA-jrr2-x33p-6hvc","Warn: Project is vulnerable to: GO-2025-3562 / GHSA-46mp-8w32-6g94","Warn: Project is vulnerable to: GO-2025-3823 / GHSA-r5p3-955p-5ggq","Warn: Project is vulnerable to: GO-2025-3615 / GHSA-459x-q9hg-4gpq","Warn: Project is vulnerable to: GO-2025-3660 / GHSA-6m8w-jc87-6cr7","Warn: Project is vulnerable to: GO-2025-3802","Warn: Project is vulnerable to: GHSA-9h84-qmv7-982p","Warn: Project is vulnerable to: GHSA-f9f8-9pmf-xv68","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T16:44:26.322Z","repository_id":37394972,"created_at":"2025-08-20T16:44:26.322Z","updated_at":"2025-08-20T16:44:26.322Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38357890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["cluster-api","kubermatic-kubernetes-platform","kubernetes"],"created_at":"2024-08-01T12:01:38.360Z","updated_at":"2026-10-19T13:52:11.185Z","avatar_url":"https://github.com/kubermatic.png","language":"Go","funding_links":[],"categories":["Go","kubernetes","Dashboards \u0026 Portals","Cluster"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/kkp-logo.png#gh-light-mode-only\" width=\"700px\" /\u003e\n  \u003cimg src=\"docs/kkp-logo-dark.png#gh-dark-mode-only\" width=\"700px\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/kubermatic/kubermatic\" alt=\"last stable release\"\u003e\n\n  \u003ca href=\"https://goreportcard.com/report/k8c.io/kubermatic/v2\"\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/k8c.io/kubermatic/v2\" alt=\"go report card\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://pkg.go.dev/k8c.io/kubermatic/v2\"\u003e\n    \u003cimg src=\"https://pkg.go.dev/badge/k8c.io/kubermatic/v2\" alt=\"godoc\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Overview / User Guides\n\nKubermatic Kubernetes Platform is in an open source project to centrally manage the global automation of thousands of Kubernetes clusters across multicloud, on-prem and edge with unparalleled density and resilience.\n\nAll user documentation is available at the [Kubermatic Kubernetes Platform docs website][21].\n\n## Editions\n\nThere are two editions of Kubermatic Kubernetes Platform:\n\nKubermatic Kubernetes Platform Community Edition (CE) is available freely under the Apache License, Version 2.0.\nKubermatic Kubernetes Platform Enterprise Edition (EE) includes premium features that are most useful for organizations with large-scale Kubernetes installations with more than 50 clusters. To access the Enterprise Edition and get official support please become a subscriber.\n\n## Licensing\n\nSee the [LICENSE](LICENSE) file for licensing information as it pertains to files in this repository.\n\n## Installation\n\nWe strongly recommend that you use an official release of Kubermatic Kubernetes Platform. Follow the instructions under the **Installation** section of [our documentation][21] to get started.\n\n_The code and sample YAML files in the main branch of the kubermatic repository are under active development and are not guaranteed to be stable. Use them at your own risk!_\n\n## More information\n\n[The documentation][21] provides a getting started guide, plus information about building from source, architecture, extending kubermatic, and more.\n\nPlease use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of kubermatic.\n\n## Troubleshooting\n\nIf you encounter issues [file an issue][1] or talk to us on the [#kubermatic channel][12] on the [Kubermatic Community Slack][15] ([click here to join][16]).\n\n## Contributing\n\nThanks for taking the time to join our community and start contributing!\n\n### Before you start\n\n* Please familiarize yourself with the [Code of Conduct][4] before contributing.\n* See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require.\n\n### Repository layout\n\n```\n├── addons    # Default Kubernetes addons\n├── charts    # The Helm charts we use to deploy\n├── cmd       # Various Kubermatic binaries for the controller-managers, operator etc.\n├── codegen   # Helper programs to generate Go code and Helm charts\n├── docs      # Some basic developer-oriented documentation\n├── hack      # scripts for development and CI\n└── pkg       # most of the actual codebase\n```\n\n### Development environment\n\n```bash\ngit clone git@github.com:kubermatic/kubermatic.git\ncd kubermatic\n```\n\nThere are a couple of scripts in the `hacks` directory to aid in running the components locally\nfor testing purposes.\n\n#### Running components locally\n\n##### user-cluster-controller-manager\n\nIn order to instrument the seed-controller to allow for a local user-cluster-controller-manager, you need to add a `worker-name` label with your local machine's name as its value. Additionally, you need to scale down the already running deployment.\n\n```sh\n# Using a kubeconfig, which points to the seed-cluster\nexport cluster_id=\"\u003cid-of-your-user-cluster\u003e\"\nkubectl label cluster ${cluster_id} worker-name=$(uname -n)\nkubectl scale deployment -n cluster-${cluster_id} usercluster-controller --replicas=0\n```\n\nAfterwards, you can start your local user-cluster-controller-manager.\n\n```sh\n# Using a kubeconfig, which points to the seed-cluster\n./hack/run-user-cluster-controller-manager.sh\n```\n\n##### seed-controller-manager\n\n```bash\n./hack/run-seed-controller-manager.sh\n```\n\n##### master-controller-manager\n\n```bash\n./hack/run-master-controller-manager.sh\n```\n\n#### Run linters\n\nBefore every push, make sure you run:\n\n```bash\nmake lint\n```\n#### Run tests\n\n```bash\nmake test\n```\n\n#### Update code generation\n\nThe Kubernetes code-generator tool does not work outside of `GOPATH`\n([upstream issue](https://github.com/kubernetes/kubernetes/issues/86753)), so the script\nbelow will automatically run the code generation in a Docker container.\n\n```bash\nhack/update-codegen.sh\n```\n\n### Pull requests\n\n* We welcome pull requests. Feel free to dig through the [issues][1] and jump in.\n\n## Changelog\n\nSee [the list of releases][3] to find out about feature changes.\n\n[1]: https://github.com/kubermatic/kubermatic/issues\n[2]: https://github.com/kubermatic/kubermatic/blob/main/CONTRIBUTING.md\n[3]: https://github.com/kubermatic/kubermatic/releases\n[4]: https://github.com/kubermatic/kubermatic/blob/main/CODE_OF_CONDUCT.md\n\n[12]: https://kubermatic-community.slack.com/messages/kubermatic\n[15]: http://kubermatic-community.slack.com\n[16]: https://join.slack.com/t/kubermatic-community/shared_invite/zt-vqjjqnza-dDw8BuUm3HvD4VGrVQ_ptw\n\n[21]: https://docs.kubermatic.com/kubermatic/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubermatic%2Fkubermatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubermatic%2Fkubermatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubermatic%2Fkubermatic/lists"}