Intro
The Media Magic platform is built using two infrastructure libraries:
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.
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