Skip to main content

Introduction

The Deploy Engine provides the core functionality for validating and deploying blueprints. This powers the CLI and exposes a HTTP API that allows for integration into other tools.

The Deploy Engine is responsible for:

  • Carrying out extensive validation of a blueprint.
  • Change staging, deploying and destroying resources defined in a blueprint.

For the validation and deployment stages, at the centre of the Deploy Engine lies the Blueprint Framework which is used to validate and deploy blueprints. A blueprint is used to define a Bluelink application in a similar way an AWS SAM template is used to define a serverless application in AWS.

The Deploy Engine contains a collection of resource type providers and other Blueprint Framework plugins that enable Bluelink applications to be deployed to various platforms.

Installation

The Deploy Engine is included with the Bluelink CLI and other components in a standard install, follow the instructions here to install Bluelink.

Binaries

TODO: Add instructions for downloading and running the binaries for the Deploy Engine API.

Docker

The Deploy Engine is also available as a Docker image, you can pull the latest version with:

docker pull ghcr.io/newstack-cloud/bluelink-deploy-engine:latest

TODO: Add instructions for running the Docker image. TODO: Add instructions for a docker compose setup.

Getting Started

Get started by creating a new site.

Or try Docusaurus immediately with docusaurus.new.

Generate a new site

Generate a new Docusaurus site using the classic template:

npm init docusaurus@latest my-website classic

Start your site

Run the development server:

cd my-website

npx docusaurus start

Your site starts at http://localhost:3000.

Open docs/intro.md and edit some lines: the site reloads automatically and displays your changes.

Architecture

The Deploy Engine provides a HTTP API that supports SSE (Server-Sent Events) for streaming events for change staging, validation and deployment.

The Deploy Engine API facilitates multiple versions of the HTTP API, this allows for backwards compatibility with older clients. The HTTP API version is specified in the URL path, for example /v1/deploy. Older versions are slowly deprecated and removed as the deploy engine is updated.

In terms of the composition of the Deploy Engine, it brings together the Plugin Framework and Blueprint Framework to provide a powerful and extensible solution for deploying and managing infrastructure as code.