Basics

Applications represent the services you wish to deploy to your servers. They are groups of docker containers, called components, that make up a logical application workload. For instance, you may have a frontend, middle-tier, and a database component/container running on your servers. The frontend component can be published on the web with planum ingress (public URL and TLS certificate), access the middle tier for business logic, data retrieval, etc. and ultimately query the database.

Application are deployed to sites, or groups of servers, rather than specific servers (servers share the load within a site). Regardless of what server your app components are deployed to, they can communicate with each other via a network plane extended to all servers in the site.

Components

Components are containers, that make up an Application. An application can be made up of several components, or just one. Each component may have several replicas deployed, and requests for a component will be balanced between all of the replicas. Connections to components do not utilize session tracking, so components with multiple replicas must be stateless.

By default, components are connected to an application-scoped network, meaning they can connect to each other and the internet, but no outside request can connect to them. Components in separate applications deployed to the same site cannot communicate with each other.

You can publish components on the local network, which consumes a port on the site. I.e. if you deploy a web service on port 80, published to the site (with the publish ports setting), you can hit that service on port 80 using any server IP address within the site.

Additionally, you can publish components on the internet, with planum ingress. In this configuration, you do not need to publish a local port, and you do not need to configure any port forwarding or firewall rules on your router/firewall equipment.

Modifying Applications

You can modify an existing application, to adjust environment variables, add, remove or update components, re-assign the application to a new site, or remove the application. To modify an application, click its list item in the dashboard, applications page, to go to the application’s page. Click the settings tab to see configuration information. Here, you can change things like the app name, site, environment variables, etc.

Custom Container Images

You can deploy a component using any public container image, or you may use a private one. In order to deploy a private container image, you must specify authentication information. You can do so using the container registry dropdown to select your registry, the filling in your authentication information using the format user:token.

Automatic updates of container images deployed to your sites are not currently supported. In order to update the version of the application deployed, you must update the tag value, and save the component to trigger a new deployment.

Continuous Deployment with Git Repositories

You can deploy an application from a git repository. When you deploy an application from a git repository, the repository is cloned and the application is built and deployed. You can specify the branch, tag, or commit hash to deploy. For private repositories, the servers in your site simply need network access to the git repository. If your repository requires authenticaiton, you can specify a token or SSH key which the servers will use to clone and check your repo for updates.