OpenAperture is a free, open-source hybrid cloud management platform that delivers software quickly and consistently regardless of location or workload. This future-ready platform from Lexmark Enterprise Software provides a comprehensive management system to handle the six pillars of cloud management – provisioning, deployment, monitoring, maintenance, security and metering.
Deployment Repository
The deployment repository is a Github repository containing the docker build files as well as the deployment run-time configuration files. Managing multiple environments for an application can be managed by using branches of the deployment repository.
Note that the Builder system component will need to access this repository in order to execute the docker build and retrieve the Fleet service file(s). If your repositories are private, your Builder deployment must have an SSH key or similar mechanism setup for git in order to clone the repository.
Required Files
- Dockerfile.eex
- This is an Elixir templated version of the Dockerfile. During the course of the build, this will be turned into a standard Dockerfile that is used to generate a docker image. By default, OpenAperture will execute a term replacement for the following keywords:
- *app-name*@.service.eex
- This is an Elixir templated version of the Fleet service file. During the course of the deployment, this will be turned into a standard service file that is used by Fleet to spin up the image created by the Dockerfile.eex. By default, OpenAperture will execute a term replacement for the following keywords:
-
The service file executes the "docker run" command, and is thereby responsible for managing the environment variables that are passed into the docker file. Environment variables include things like docker image tag, ports, etc…
- etcd.json
- This file must contain a JSON struct with the etcd token, defining the deployment cluster. The structure is as follows:
{
"token": "123abc"
}
docker.json
- OpenAperture pushes it’s built images to a docker registry. The structure is as follows:
{
"name": "app",
"repository":"*registry*/app",
"docker_url": "*registry*/app"
}
source.json
- Contains information about the source repository associated with the deployment repository:
{
"source_repo" : "OpenAperture/app"
}
Optional Files
- You may add whatever files are necessary to build your docker image in this repository (i.e. bash files, PEMs, etc...). During the "build" milestone, OpenAperture will clone this repository locally and execute a docker build. During the "deploy" milestone, OpenAperture will use the previously cloned repository's Fleet Unit(s) to execute the deployment.
- fleet.json
- Contains configuration that can override the default Fleet deployment behavior:
- instance_cnt: The number of instances of the service to deploy; default is the number of nodes in the cluster
{
"instance_cnt": 5
}