Using Services

Preview Your Applications with CTO.ai Services

This page documents the usage of Services on the CTO.ai platform. For a conceptual introduction, see the Services section of the Automate with Workflows page.

Services are deployed as lightweight, long-running containers (with ephemeral, non-persistent storage) on our platform, and allow you to serve a web application or API to the public internet over HTTP.

Each Service is a containerized application that runs on our platform. When Services are deployed to our platform, they are completely decoupled from any other Services running on our platform, as well as any applications deployed by your Commands or Pipelines.

Services Dashboard

From the CTO.ai Dashboard, you can view the list of Services associated with your Team under the Services tab. Clicking on any of the Services on the Dashboard will allow you to view the details of a specific Service, including: Current version of the Service, number of times it has run, date and time of the last run, the version history of the Service, and recent (and active) runs of the Service.

The Services Dashboard also provides access to the running Service through the View link, which opens the Service in a new browser tab. Under the same Action column, you can also click on the button that will Run or Stop the Service.

Using Services

If you plan to deploy your containerized application as a CTO.ai Service, there are a few things to keep in mind about the environment in which your application will run.

Storage and Databases

Containers deployed as CTO.ai Services do not have persistent storage. Any data written to the container’s writeable filesystem will be lost when the container is stopped. If your application requires persistent storage or databases, we recommend you configure your application to point to external storage or database system.

Subdomains

By default, deployed Services will be assigned a unique subdomain based on the UUID of the deployment. The application deployed by the Service will be accessible at that unique URL, via the port specified in the ops.yml configuration file for the service. However, it is also possible to configure a custom domain for your Service.