Intro

The Media Magic platform is built using two infrastructure libraries:

  1. Terraform

Terraform is what we used originally for the Media Magic project. And certain components still remain in Terraform. These include the Postgres Database, the Kubernetes cluster itself, and the Google Cloud basic setup.

  1. Pulumi

Pulumi was introduced in order to take some of the repetative tasks out of creating infrastructure for each service.

It was introduced to create some consistency between all of the services, and to create an abstraction for services infrastructure. This allows us to pull in a library and configure the basic details, instead of re-writing, or copy and pasting yaml files, or Terraform files.

The aim is to move all of the infrastructure to Pulumi, and to remove the Terraform code.

The library

The library of infrastructure components can be located in libs/infrastructure-components.

This library wraps around Pulumi's Go SDK, and creates a series of abstractions, which make it easy to extend and customise.

There are multiple levels in which you can use this library. Depending on how custom you need your infrastructure code to be.

Contents

Last updated