/orchestrator

Primary LanguageTypeScript

Generating kubernetes manifest files

Goal

We want to be able to deploy sorrir-apps using compact config-files with little to no redundancy.

Using the generator

Prerequisites

  • Node
  • kubectl
  • Pulumi ($ curl -sSL https://get.pulumi.com | sh)

Inner workings

The generator resides in index.ts. It is invoked by pulumi and converts a sorrirApp configuration into a kubernetes configuration. The sorrirApp configuration (exported from the configuration-gui) is expected to reside in configuration.json.

Running the Generator

pulumi up for starting and updating , pulumi destroy for stopping and deleting all ressources.

In the pulumi programming model, you work in so-called stacks. A stack is much like a git repository, but for deployments. It provides versioning for deployments and enables rollbacks. Stacks can by synced via the Pulumi Cloud, but for this an account is needed.

First Run

On the first pulumi up you will be prompted to log into your Pulumi account. If you want to use pulumi without an online account, you can run pulumi login --local beforehand.

You will also be prompted to choose or create a new stack. Choose to create one, select an appropriate name (e.g. "dev") and a passphrase. Further pulumi up/destroy operations will operate on this stack.

So, to deploy the configured application via the current stack, simply run:

PULUMI_CONFIG_PASSPHRASE="your-passphrase" GENERATOR_CONFIG="configuration.json" pulumi up