{"id":26763556,"url":"https://github.com/cobaltcore-dev/cortex","last_synced_at":"2025-04-15T11:06:57.536Z","repository":{"id":281210591,"uuid":"906203252","full_name":"cobaltcore-dev/cortex","owner":"cobaltcore-dev","description":"Smart placement service for virtual machines in an OpenStack cloud environment.","archived":false,"fork":false,"pushed_at":"2025-04-14T13:30:24.000Z","size":696,"stargazers_count":11,"open_issues_count":5,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-15T11:06:40.287Z","etag":null,"topics":["apeirora","cloud","nova","openstack","placement","scheduling"],"latest_commit_sha":null,"homepage":"https://apeirora.eu/content/projects/","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/cobaltcore-dev.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-20T11:33:41.000Z","updated_at":"2025-04-11T05:14:02.000Z","dependencies_parsed_at":"2025-04-07T14:32:31.300Z","dependency_job_id":"861eb7de-8788-45b9-96c8-b95352ff1cc8","html_url":"https://github.com/cobaltcore-dev/cortex","commit_stats":null,"previous_names":["cobaltcore-dev/cortex"],"tags_count":0,"template":false,"template_full_name":"cobaltcore-dev/repository-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fcortex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fcortex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fcortex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobaltcore-dev%2Fcortex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cobaltcore-dev","download_url":"https://codeload.github.com/cobaltcore-dev/cortex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249058371,"owners_count":21205910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","nova","openstack","placement","scheduling"],"created_at":"2025-03-28T19:19:36.684Z","updated_at":"2025-04-15T11:06:57.516Z","avatar_url":"https://github.com/cobaltcore-dev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n# SPDX-FileCopyrightText: Copyright 2024 SAP SE or an SAP affiliate company and cobaltcore-dev contributors\n#\n# SPDX-License-Identifier: Apache-2.0\n--\u003e\n\n[![REUSE status](https://api.reuse.software/badge/github.com/cobaltcore-dev/cortex)](https://api.reuse.software/info/github.com/cobaltcore-dev/cortex)\n\n# Cortex\n\nCortex is an intelligent service for initial placement and scheduling of compute workloads within an [OpenStack](https://www.openstack.org/) cloud environment. It is designed to improve resource usage in a data center by making smart(er) decisions about where to place VMs, with future support planned for storage and network workloads.\n\n## Background\n\nEfficient and balanced resource utilization is key for cloud infrastructure providers to maintain operational performance and cost-effectiveness. In a dynamic cloud environment where workloads are constantly being created, moved, and deleted, a smart placement can help avoid resource bottlenecks and ensure high availability.\n\nOpenStack provides core services for managing compute, storage, and network resources in a cloud environment ([learn more](https://docs.openstack.org/de/security-guide/introduction/introduction-to-openstack.html)). Cortex extends the scheduling logic of these services by adding a layer of intelligence that can make more informed decisions about where to place workloads based on the current state of the data center.\n\n## Features\n\n- **Data sync:** Flexible framework to sync metrics and placement information of a data center.\n- **Knowledge extraction**: Logic to extract simple or advanced knowledge (\"features\") from the synced data.\n- **Smart scheduling:** Fast and scalable scheduling pipeline for VMs based on the extracted knowledge.\n\n## Documentation\n\nRead the full documentation at [docs/readme.md](docs/readme.md).\n\n## Roadmap\n\nSee our [roadmap](https://github.com/orgs/cobaltcore-dev/projects/14) and [issue tracker](https://github.com/cobaltcore-dev/cortex/issues) for upcoming features and improvements.\n\n## Quickstart\n\n### 1. Tilt Values Setup\n\nCopy the example secrets values file. This file is used for local development and overrides the Helm chart values provided in [values.yaml](helm/cortex/values.yaml) for your local testing setup.\n```bash\ncp cortex.secrets.example.yaml \"${HOME}/cortex.secrets.yaml\"\n```\n\n\u003e [!WARNING]\n\u003e It is recommended to put the secrets file somewhere outside of the project directory. In this way, it won't be accidentally committed to the repository.\n\nAfter copying the file, fill in the necessary values.\n\nThen, tell tilt where to find your secrets file:\n```bash\nexport TILT_VALUES_PATH=\"${HOME}/cortex.secrets.yaml\"\n```\n\n### 2. Running Tilt\n\nRun the tilt setup in minikube:\n```bash\nminikube start \u0026\u0026 tilt up\n```\n\nPoint your browser to http://localhost:10350/ - if you did everything correctly, you should see the cortex services spin up in the browser.\n\n### 3. Simulate Nova Requests\n\nTo simulate Nova requests to your Cortex instance in Tilt, you can run the following command:\n```bash\ngo run commands/fillup/fillup.go\n```\n\nThe script will show where random new VMs would be placed.\n\n## Support, Feedback, Contributing\n\nThis project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/cobaltcore-dev/cortex/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](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/SAP/\u003cyour-project\u003e/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 2024-2025 SAP SE. 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/cobaltcore-dev/cortex).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobaltcore-dev%2Fcortex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcobaltcore-dev%2Fcortex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobaltcore-dev%2Fcortex/lists"}