{"id":50194536,"url":"https://github.com/openmcp-project/ocpctl","last_synced_at":"2026-05-25T16:30:54.557Z","repository":{"id":354426888,"uuid":"1095758011","full_name":"openmcp-project/ocpctl","owner":"openmcp-project","description":"ocpctl is a CLI tool for running local OpenControlPlane environments in kind clusters, for local development or CI.","archived":false,"fork":false,"pushed_at":"2026-05-21T11:46:49.000Z","size":134,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T19:56:48.203Z","etag":null,"topics":["kind","kubernetes","opencontrolplane"],"latest_commit_sha":null,"homepage":"","language":"Go","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":null,"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-11-13T13:34:29.000Z","updated_at":"2026-05-21T11:46:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/openmcp-project/ocpctl","commit_stats":null,"previous_names":["openmcp-project/ocpctl"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/openmcp-project/ocpctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Focpctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Focpctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Focpctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Focpctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openmcp-project","download_url":"https://codeload.github.com/openmcp-project/ocpctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openmcp-project%2Focpctl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33483715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"last_error":"SSL_read: 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":["kind","kubernetes","opencontrolplane"],"created_at":"2026-05-25T16:30:53.075Z","updated_at":"2026-05-25T16:30:54.550Z","avatar_url":"https://github.com/openmcp-project.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ocpctl\n\nocpctl is a CLI tool for [OpenControlPlane](https://openmcp-project.github.io/docs/).\n\n\u003e **Note:** ocpctl currently supports managing local environments running in [kind](https://kind.sigs.k8s.io/) clusters, for development, testing, and CI use cases. Additional features are planned for future releases.\n\n## Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/)\n\n## Installation\n\n```bash\ngo install github.com/openmcp-project/ocpctl@latest\n```\n\n## Usage\n\n```\nocpctl env apply \u003cname\u003e [--config \u003cfile\u003e]\nocpctl env delete \u003cname\u003e\nocpctl env list\n```\n\n### Apply an environment\n\nCreates or updates a local OpenControlPlane environment:\n\n```bash\nocpctl env apply my-env\n```\n\nThis will:\n1. Create a kind cluster named `my-env-platform` (if it doesn't exist)\n2. Apply the openmcp-operator namespace, service account, RBAC, config, and deployment\n3. Apply the ClusterProvider and PlatformCluster resources\n4. Wait until all resources are ready\n\n### List environments\n\nLists all ocpctl-managed local environments:\n\n```bash\nocpctl env list\n```\n\nOnly environments whose platform cluster has the Cluster CRD installed (i.e. were created by ocpctl) are shown.\n\n### Delete an environment\n\nDeletes all kind clusters belonging to an environment:\n\n```bash\nocpctl env delete my-env\n```\n\nThis connects to the platform cluster, collects every kind cluster recorded in the `Cluster` resource provider statuses, and deletes them all.\n\n### Configuration\n\nBy default, ocpctl uses [built-in image versions](pkg/config/environment-defaults.yaml). To override them, provide a config file:\n\n```bash\nocpctl env apply my-env --config env.yaml\n```\n\nConfig files use the following format:\n\n```yaml\napiVersion: ocpctl.open-control-plane.io/v1alpha1\nkind: Environment\nspec:\n  namespace: openmcp-system\n  operator:\n    image: ghcr.io/openmcp-project/images/openmcp-operator:v0.18.1\n  clusterProviders:\n    - name: kind\n      image: ghcr.io/openmcp-project/images/cluster-provider-kind:v0.3.1\n  serviceProviders:\n    - name: example\n      image: ghcr.io/openmcp-project/images/service-provider-example:v0.4.1\n  platformServices:\n    - name: example\n      image: ghcr.io/openmcp-project/images/platform-service-example:v0.0.10\n```\n\nOnly fields present in the config file override the defaults — omitted fields keep their default values.\n\n## Multiple environments\n\nEach environment gets its own set of kind clusters prefixed with the environment name (e.g. `my-env-platform`), so multiple environments can coexist on the same machine.\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/ocpctl/issues). 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](https://github.com/openmcp-project/.github/blob/main/CONTRIBUTING.md).\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/openmcp-project/.github/blob/main/CODE_OF_CONDUCT.md) at all times.\n\n## Licensing\nCopyright © Linux Foundation Europe. OpenControlPlane is a project of NeoNephos Foundation. For applicable policies including privacy policy, terms of use and trademark usage guidelines, please see https://linuxfoundation.eu. Linux is a registered trademark of Linus Torvalds.\nPlease 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/ocpctl).\n\n\u003cp align=\"center\"\u003e\u003cimg alt=\"NeoNephos foundation logo\" src=\"https://raw.githubusercontent.com/neonephos/.github/refs/heads/main/assets/logo.svg\" width=\"400\"/\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Focpctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmcp-project%2Focpctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmcp-project%2Focpctl/lists"}