GitHub

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.

Previous
Getting started