Configuration File - deploy.yaml
deploy.yaml - A file where the entire infrastructure of a single project will be described. It can contain several services and application. You can deploy, upgrade and remove your applications by modifying this config file.
This file is a bit like Docker Compose. Since we made it easier for people who have already worked with Docker. But some seemingly similar things may be different, so read the documentation before using it.
Main structure
in root level of config there are 3 fields: project, apps, services. let's deal with each of them separately.
project: project-name
apps:
app-name:
domain: example.com
port: 8080
services:
service-name:
image: redis
port: 6379
volumes:
redis-data: /data
Project name
The name of the current project is specified in the project field. It must be unique in the cluster and can never be changed. Since the project name is a unique identifier for Leverans, changing it can have unpredictable consequences.
We recommend that you just call it by the name of the project you are working on. For example, the name of a product, website or service.
Apps
Apps in the context of Leverans means those docker services that will be created from your code. Anything you intend to build using a Dockerfile or nixpacks should be specified here.
For detailed documentation go here.
Services
Unlike Apps, Services in Leverans are those applications that are already in some Docker Registry (like DockerHub). They will be pulled into the cluster during docker service creation.
For detailed documentation go here.
Using with Git
If you are already using git to store code, we highly recommend storing the config file along with the code. This allows you to use GitOps practices. Although Leverans supports Rollback, we believe that rolling back the config along with the code and updating is a better solution.