Introduction
How does it work?
Outblocks is a CLI tool that helps you create a deployment of your application or a set of applications together with its dependencies like database or storage service.
To deploy your application you need a small set of configuration files in YAML format.
Project structure
A typical project structure contains:
- project.outblocks.yaml - main project configuration file
- <your app name>.outblocks.yaml - application configuration file
- <envirionment>.outblocks.yaml - file with variables used by your deployment
You can have multiple applications and multiple environments in one project, e.g.:
my-app/myproject.outblocks.yaml
my-app/apps/web/app.outblocks.yaml
my-app/apps/backend/app.outblocks.yaml
my-app/staging.outblocks.yaml
my-app/production.outblocks.yaml
To create a project, use CLI init command:
ok init
To add an app:
ok apps add
Examples
Check the example configs in the example section.
Dependencies
Dependencies are services like databases or storage used by your app. Outblocks will configure everything for you based on the configuration in project.outblocks.yaml file, e.g.:
# Project dependencies.
dependencies:
database:
type: postgresql
name: my_database
database: my_database
media:
type: storage
name: my-bucket-${env}
location: eu
Variables and secrets
Thanks to Outblocks, you can easily configure multiple environments in <env>.values.yaml files. In addition, Oublocks will help you store secrets securely.
Please check Environments and Secrets for complete references and examples.