====
corc
====
.. image:: https://badge.fury.io/py/corc.svg
:target: https://badge.fury.io/py/corc
**Note**, corc is a small project that is currently under development for providing a set of tools for managing infrastructure components.
corc is a tool for conducting a range of operations for managing infrastructure components via a set of supported providers.
Each provider is defined as a seperate plugin that can be installed and utilized by corc.
The list of components that corc exposes are:
- Configurer
- Compute
- Orchestration
- Storage
Currently, the set of plugins/providers is very limited, and the initial development is focused on the area of
orchestration and the associated `libvirt_provider` plugin.
However, plugin/provider contributions for each of these components are very welcome.
------------
Installation
------------
Installation from pypi::
pip install corc
Installation from local git repository::
cd corc
pip install .
If you have cloned the repo, an alternative way to install corc is to run::
make install
Which will create a virtual environment, install the required dependencies, and install corc itself.
-----
Usage
-----
Since `corc` is a top level interface for managing infrastucture components, specialized providers that provide the specific implementation have
to be installed. To accomplish this, each of the different corc components define
the `add_provider` and `remove_provider` arguments that can be used to install and remove providers::
usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...
options:
-h, --help show this help message and exit
COMMAND:
{add_provider,remove_provider,pool,stack}
For instance, if we want to add the `libvirt_provider <https://pypi.org/project/libvirt-provider/>`_ to the orchestration component, we can do so by running::
corc orchestration add_provider libvirt_provider
-----------------------------
Orchestrator Stacks and Pools
-----------------------------
As part of the orchestration component, corc defines the concepts of `stacks` and `pools`.
A stack is a collection of resources that are managed and orchestrated by corc.
Stacks are expected to defined as a yaml file that are passed to corc, which is
used to orchestrate a set of resources.
A pool is a construct that can be used to logically group resources.
When a pool is constructed, it is saved to a local state file where the pool is constructed.
When defining a stack as a yaml file, it is supported that pools are defined as part of the stack.
An example of a stack yaml definition can be seen in the ``examples/stack.yml``
The corc orchestration CLI can be used to manage both `stacks` and `pools`::
:~ corc orchestration -h
usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...
options:
-h, --help show this help message and exit
COMMAND:
{add_provider,remove_provider,pool,stack}
When a stack is deployed, corc will orchestrate the defined resources, create the
specified pools if nonexistent, and associate resources to their specific pools.
Raw data
{
"_id": null,
"home_page": "https://github.com/rasmunk/corc",
"name": "corc",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Cloud, Orchstration, Compute",
"author": "Rasmus Munk",
"author_email": "munk1@live.dk",
"download_url": "https://files.pythonhosted.org/packages/d9/72/b61bdef5815c123d8e96a9a2611deeac8fc3d6dba671b02a21c4a0a7bc35/corc-0.0.3a1.tar.gz",
"platform": null,
"description": "====\ncorc\n====\n\n\n.. image:: https://badge.fury.io/py/corc.svg\n :target: https://badge.fury.io/py/corc\n\n**Note**, corc is a small project that is currently under development for providing a set of tools for managing infrastructure components.\n\ncorc is a tool for conducting a range of operations for managing infrastructure components via a set of supported providers.\nEach provider is defined as a seperate plugin that can be installed and utilized by corc.\nThe list of components that corc exposes are:\n\n- Configurer\n- Compute\n- Orchestration\n- Storage\n\nCurrently, the set of plugins/providers is very limited, and the initial development is focused on the area of\norchestration and the associated `libvirt_provider` plugin.\n\nHowever, plugin/provider contributions for each of these components are very welcome.\n\n------------\nInstallation\n------------\n\nInstallation from pypi::\n\n pip install corc\n\n\nInstallation from local git repository::\n\n cd corc\n pip install .\n\n\nIf you have cloned the repo, an alternative way to install corc is to run::\n\n make install\n\nWhich will create a virtual environment, install the required dependencies, and install corc itself.\n\n-----\nUsage\n-----\n\nSince `corc` is a top level interface for managing infrastucture components, specialized providers that provide the specific implementation have \nto be installed. To accomplish this, each of the different corc components define \nthe `add_provider` and `remove_provider` arguments that can be used to install and remove providers::\n\n usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...\n\n options:\n -h, --help show this help message and exit\n\n COMMAND:\n {add_provider,remove_provider,pool,stack}\n\n\nFor instance, if we want to add the `libvirt_provider <https://pypi.org/project/libvirt-provider/>`_ to the orchestration component, we can do so by running::\n\n corc orchestration add_provider libvirt_provider\n\n\n-----------------------------\nOrchestrator Stacks and Pools\n-----------------------------\n\nAs part of the orchestration component, corc defines the concepts of `stacks` and `pools`.\nA stack is a collection of resources that are managed and orchestrated by corc.\n\nStacks are expected to defined as a yaml file that are passed to corc, which is\nused to orchestrate a set of resources.\n\nA pool is a construct that can be used to logically group resources.\nWhen a pool is constructed, it is saved to a local state file where the pool is constructed.\n\nWhen defining a stack as a yaml file, it is supported that pools are defined as part of the stack.\nAn example of a stack yaml definition can be seen in the ``examples/stack.yml``\n\nThe corc orchestration CLI can be used to manage both `stacks` and `pools`::\n\n :~ corc orchestration -h\n usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...\n\n options:\n -h, --help show this help message and exit\n\n COMMAND:\n {add_provider,remove_provider,pool,stack}\n\n\nWhen a stack is deployed, corc will orchestrate the defined resources, create the \nspecified pools if nonexistent, and associate resources to their specific pools.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A tool for managing cloud resources and scheduling compute tasks",
"version": "0.0.3a1",
"project_urls": {
"Homepage": "https://github.com/rasmunk/corc"
},
"split_keywords": [
"cloud",
" orchstration",
" compute"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d58fbc42803ad44e0de1b1492768b9fd3633e211cf6eb4d6e1f669e01c2c2481",
"md5": "3e6b1537fd71dbf5242cf053d787592c",
"sha256": "93a53ed9c0876e60739c4e88d0d1a329ccbb3860fdfd6d9b4ff5d63d07531e82"
},
"downloads": -1,
"filename": "corc-0.0.3a1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3e6b1537fd71dbf5242cf053d787592c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 48490,
"upload_time": "2024-10-30T10:30:31",
"upload_time_iso_8601": "2024-10-30T10:30:31.899954Z",
"url": "https://files.pythonhosted.org/packages/d5/8f/bc42803ad44e0de1b1492768b9fd3633e211cf6eb4d6e1f669e01c2c2481/corc-0.0.3a1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d972b61bdef5815c123d8e96a9a2611deeac8fc3d6dba671b02a21c4a0a7bc35",
"md5": "0bfb5dc3b42a716620bc357b65b8db86",
"sha256": "9bfd8629c3b1f958d8a8c0447ce8408b202df453272afe5183004f2bbd387bfb"
},
"downloads": -1,
"filename": "corc-0.0.3a1.tar.gz",
"has_sig": false,
"md5_digest": "0bfb5dc3b42a716620bc357b65b8db86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 29336,
"upload_time": "2024-10-30T10:30:33",
"upload_time_iso_8601": "2024-10-30T10:30:33.390953Z",
"url": "https://files.pythonhosted.org/packages/d9/72/b61bdef5815c123d8e96a9a2611deeac8fc3d6dba671b02a21c4a0a7bc35/corc-0.0.3a1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-30 10:30:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rasmunk",
"github_project": "corc",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "corc"
}