Package: corc
Note, corc is still very much in early development, therefore not every command and option will run as expected.corc is a cloud orchestration tool for managing cloud resources,
including VM’s, virtual networks and container clusters.In addition, corc provides the capability to schedule job on orchestrated resourcesThe current implementation supports theOCIand AWSEC2backend.InstallationInstallation from pypi:pip install corcInstallation from local git repository:cd corc
pip install .ConfigurationDepending on the selected backend cloud to utilize, corc requires that the specified provider’s developer authentication mechanism is configuered on the system at hand.For instance the OCI (Oracle Cloud Infrastructure), requires that API keys have been predefined in the specific compartment and that these are associated
with a profile in a valid oci configuration. See (https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/devguidesetupprereq.htm)In addition, if utilizing the S3 storage feature, corc expects that there similarly is a valid S3 configuration.
For more information on this, see (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)UsageAs mentioned, corc is a command-line tool for managing cloud resources, such instantiating VM instances or Kubernetes Clusters or scheduling jobs on said clusters.The available options can be discovered through the CLI itself, e.g:usage: corc [-h] {config,aws,oci} ...

optional arguments:
  -h, --help        show this help message and exit

COMMAND:
  {config,ec2,oci}A good start is to first generate the corc configuration. Afterwards the provider specific details such as the OCIcompartment_idshould be filled into this.
By default the corc configuration is placed into the~/.corc/configfile. Currently OCI is the only supported provider, which means that this is also the only provider that will be put into the configuration file.The specific values can be overwritten during the config generation, details about this can be displayed viacorc config oci generate-h.Getting StartedTo start utilizing the OCI provider, corc requires that the authentication details for this provider is first defined via the default~/.oci/configas defined by OCI. In addition,corcneeds to know whichcompartmentto operate the given task on. This is defined via thecorc.providers.oci.profile.compartment_idconfiguration variable.After these steps have been fulfilled, corc is ready to either orchestrate resources or schedule tasks/jobs on the providers infrastructure.For instance, the following command orchestrates a Kubernetes cluster calledclusterat OCI with 5 nodes::~# corc oci orchestration cluster start --cluster-node-size 5After this is completed, a simple hello world job can be schduled straight after:# Schedule the job
:~# corc oci job run --storage-enable "/bin/echo Hello World"
{
    "job": {
        "id": "job-1594378280"
    },
    "msg": "Job submitted",
    "status": "success"
}

# Retrieve the results
:~# corc oci job result get --job-meta-name job-1594378280Which will download the generated content available in the default output directory/tmp/outputin the execution environment.
This by default includes ajobdescription file that details what command was executed and how it went.ThegetCOMMAND will unless otherwise specified, download the job output into the current directory with thejob-nameas the prefix, and a automatically unique generated postfix string. Thecorc oci job result get--job-meta-namejob-15943782for instance produced a local directory calledjob-1594378280-mgjb2that contains the job output file.