{"id":19888252,"url":"https://github.com/project-codeflare/mcad","last_synced_at":"2026-01-14T19:51:49.388Z","repository":{"id":191903310,"uuid":"669362555","full_name":"project-codeflare/mcad","owner":"project-codeflare","description":"MCAD v2","archived":true,"fork":false,"pushed_at":"2025-02-18T14:38:09.000Z","size":695,"stargazers_count":10,"open_issues_count":0,"forks_count":10,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-02T17:58:49.701Z","etag":null,"topics":[],"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/project-codeflare.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-22T03:42:01.000Z","updated_at":"2025-02-18T14:38:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"a0c79452-e90b-4874-bb0a-6e31cf0cf8f6","html_url":"https://github.com/project-codeflare/mcad","commit_stats":null,"previous_names":["tardieu/mcad","project-codeflare/mcad"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/project-codeflare/mcad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fmcad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fmcad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fmcad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fmcad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/project-codeflare","download_url":"https://codeload.github.com/project-codeflare/mcad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fmcad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28433336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"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":[],"created_at":"2024-11-12T18:06:45.047Z","updated_at":"2026-01-14T19:51:49.349Z","avatar_url":"https://github.com/project-codeflare.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Active development on MCAD v2 has ended\n\n**In 2024, the MCAD developers joined the [Kueue\ncommunity](https://github.com/kubernetes-sigs/kueue). We stopped working on MCAD\nas a standalone project and shifted to bringing the lessons learned from MCAD to\nKueue. We developed a new [Kueue-compatible version of\nAppWrapper](https://github.com/project-codeflare/appwrapper) which makes MCAD's\nsupport for complex workloads and advanced fault tolerance available to users of\nKueue.**\n\n# MCAD v2\n\n## Overview\n\nThis repository contains a reimplementation of MCAD\n([multi-cluster-app-dispatcher](https://github.com/project-codeflare/multi-cluster-app-dispatcher))\nusing recent versions of [controller\nruntime](https://github.com/kubernetes-sigs/controller-runtime) and\n[kubebuilder](https://github.com/kubernetes-sigs/kubebuilder).\n\nThis reimplementation does not support quotas or dispatching to multiple\nclusters yet.\n\nSee [PORTING.md](PORTING.md) for instructions on how to port AppWrappers from\nMCAD to MCAD v2.\n\n## Getting Started\n\nYou’ll need a Kubernetes cluster to run against. You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster.\n**Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows).\n\n### Running locally against cluster\n\nInstall the CRDs into the cluster:\n\n```sh\nmake install\n```\n\n Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):\n```sh\nmake run\n```\n\n**NOTE:** You can also run this in one step by running: `make install run`\n\nUninstall the CRDs:\n```sh\nmake uninstall\n```\n\n### Running on the cluster\n\nBuild and push your image to the location specified by `IMG`:\n```sh\nmake docker-build docker-push IMG=\u003cimage-name\u003e:\u003cimage-tag\u003e\n```\n\nOr build and push a multi-architecture image with:\n```sh\nmake docker-buildx IMG=\u003cimage-name\u003e:\u003cimage-tag\u003e\n```\n\nDeploy the CRDs and controller to the cluster with the image specified by `IMG`:\n```sh\nmake deploy IMG=\u003cimage-name\u003e:\u003cimage-tag\u003e\n```\n\nUndeploy the CRDs and controller from the cluster:\n```sh\nmake undeploy\n```\n\n### Modifying the API definitions\n\nIf you are editing the API definitions, generate the manifests such as CRs or CRDs using:\n\n```sh\nmake manifests\n```\n\n**NOTE:** Run `make --help` for more information on all potential `make` targets\n\n## Helm Chart\n\nAlternatively, MCAD can be installed on a cluster using Helm.\n\nInstall the CRDs and controller in the `mcad-system` namespace:\n```sh\nhelm install --namespace mcad-system mcad-controller deployment/mcad-controller \\\n  --create-namespace \\\n  --set image.repository=\u003cimage-name\u003e \\\n  --set image.tag=\u003cimage-tag\u003e \\\n  --set resources.requests.cpu=100m \\\n  --set resources.requests.memory=512Mi \\\n  --set resources.limits.cpu=2000m \\\n  --set resources.limits.memory=4096Mi\n```\n\nUninstall from `mcad-system` namespace:\n```sh\nhelm uninstall mcad-controller -n mcad-system\n```\n\nUninstall CRDs:\n```sh\nkubectl delete crd appwrappers.workload.codeflare.dev\n```\n\n## Pre-commit hooks\n\nThis repository includes pre-configured pre-commit hooks. Make sure to install\nthe hooks immediately after cloning the repository:\n```sh\npre-commit install\n```\nSee [https://pre-commit.com](https://pre-commit.com) for prerequisites.\n\n## Running tests locally\n\nYou can do `make run-e2e` to build MCAD and run the entire\ntest suite against it on freshly created `kind` cluster in\na fully automated fashion.  For development purposes, other\nmodes are also supported. See the detailed instructons in\n[test/README.md](test/README.md) for more details.\n\n## License\n\nCopyright 2023 IBM Corporation.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-codeflare%2Fmcad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproject-codeflare%2Fmcad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-codeflare%2Fmcad/lists"}