The Corus Guide

Welcome to the Corus Guide, providing documentation about Corus' core functionality. The guide is a good logical starting place.

The guide is the online version of the original Corus Guide in PDF format. The PDF document will no longer be maintained.

TopicDescription
Introduction Introduces key concepts (architecture, topology, overview of the CLI...)
Packaging Applications Describes how to package applications (focusing on Java/JVM-based applications).
Configuration Explains Corus' configuration and file system layout.
Distributions in Depth Discusses distributions in more detail (the Corus descriptor, execution configurations, invoking Ant, etc.)
Java Processes Explains in more details how Corus executes/manages Java (or JVM language-based) processes, and the tight integration that is supported (self process-restart, hot config, etc.).
Docker Integration Describes how the distribution and process abstraction in Corus is adapted to the management of Docker containers. Also documents how Corus' peer-to-peer achitecture can be leveraged to eliminate dependency on the Docker registry as a single point of failure.
NUMA integration Explains how Corus can improve performance of processes on servers supporting the NUMA hardware architecture.
A Closer Look at the CLI Delves into more advanced usage of the Corus command-line interface.
Archiving Archiving can come handy in the context of managing rollbacks.
Corus Scripts A more in-depth look at Corus scripts.
Packaging Scripts with Distributions Describes how Corus scripts can be executed on the server-side at deployment - this greatly simplifies the deployment process, and makes rollbacks a breeze.
Tagging Tagging allows restricting the execution of given process to a subset of the Corus nodes in a cluster. It is a simple, yet powerful feature that greatly simplifies deployments.
Repository One or more Corus nodes in a cluster can act as so-called repositories for the other nodes: at start up, these other nodes will request that the state of the repo nodes be replicated to them.
Ripple Stands for "ripple effect": the functionality can come handy in the context of graceful deployments.
Discovery This section discusses all things discovery - integration with Consul is in the menu.
Port Management Using Corus' port management feature solves the hassle of port allocation when running multiple processes on the same host.
File Uploads Describes how to deploy arbitrary files to Corus.
Shell Scripts Describes how to deploy shell scripts to Corus, and invoke their remote execution cluster-wide.
Alerting and external logging Explaines how Corus can be configured to send alerts through SMTP, and to send its internal log messages to Syslog.
Cloud Integration Describes the features that are meant to help deploy Corus to the cloud.