Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

https://badge.fury.io/py/corc.svg

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 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.

Metadata

Release files for corc 0.0.3a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for corc 0.0.3a2
File Size Uploaded Provenance Actions
corc-0.0.3a2.tar.gz 46.7 kB Without provenance Details for corc-0.0.3a2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for corc 0.0.3a2
File Interpreter ABI Platform Actions
corc-0.0.3a2-py3-none-any.whl Python 3 none any Details for corc-0.0.3a2-py3-none-any.whl

Total release size: 180.1 kB

Release files / corc-0.0.3a2.tar.gz

Download URL corc-0.0.3a2.tar.gz
Size 46.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7aeb8a7e9807c14924debea23b7970ca1b778735ec576f6f6e926468ad0e79d0
BLAKE2b-256 checksum
How to use checksums
35b2841374472b1808f1a170e7056a929d52775352f5b21f52c657214d09a975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / corc-0.0.3a2-py3-none-any.whl

Download URL corc-0.0.3a2-py3-none-any.whl
Size 133.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26c191bac95bec66aadb8c8a1507a3bee37961fbd1eead0e1799cf8abd3c5562
BLAKE2b-256 checksum
How to use checksums
2e83de14e9ab49567935f81dd2306781f6568303240c6e59c7fd778887788129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Security for corc 0.0.3a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page