Skip to content

Teztnets Deployment Guide

Nicolas Ochem edited this page Dec 11, 2023 · 10 revisions

This guide covers how to deploy the Teztnets platform on a fresh Google Cloud Project.

Design

  • infrastructure as code with Pulumi: everything can be spun up with code only
  • two nested repos: one private repo to deploy the cluster, node, and infra charts, one open-soure repo to describe the infrastructure externally. See best practices
  • portable:
    • in-cluster nginx rather than Google Application Load Balancer
    • in-cluster management of the teztnets.xyz DNS zone
    • in-cluster cert-manager + letsencrypt rather than Google-provisioned certificates
    • in-cluster monitoring with prometheus operator
    • this allows for an easy move to another cloud provider when requested.

Prerequisites

Install the following:

  • Gcloud CLI
  • kubectl
  • k9s (tool to visualize the cluster)
  • pulumi

How to deploy

  1. Deploy the Base Infrastructure Stack
  2. Deploy the Teztnets Infrastructure Stack
  3. Deploy the Teztnets Website
Clone this wiki locally