1. Introduction¶
Robin’s native application orchestration framework is a simple yet powerful as it enables developers and application administrators alike to compose, deploy, and manage complex application stacks, workloads and data pipelines. One type of application supported by the aformentioned framework are Robin bundle based applications. These applications are mandated by the configuration defined within the backing Robin Bundle.
A Robin Bundle is a collection of all artifacts required to deploy and manage an application. It contains one or more application container images, referenced within a manifest file that describes the components the application is comprised of, the necessary dependencies between services, resource requirements, affinity/anti-affinity rules, and custom actions required for application management. As a result one can view a Robin Bundle as the starting point for creating an application, and as such a means by which to abstract the underlying infrastructure from a user. It is usually a tar file consisting of the following files:
Manifest File: The manifest file is a YAML file which acts as the blueprint for an application. It describes the application components, dependencies, resource requirements, hookscripts, execution order, etc.
Icons Directory: The application icons will go in this directory. The icons are used by Robin UI when displaying bundles. If no icon is provided, Robin will display a default image with the first letter of the bundle name.
Scripts Directory: Scripts that need to be run during different stages of the application deployment and lifecycle management will go into the this directory. These are optional and thus the directory can be left empty.
Source Directory: Docker related files such as a Dockerfile will go into this directory.