Skip to content

Terraform modules for provisioning a site

License

Notifications You must be signed in to change notification settings

telliott-io/platform

Repository files navigation

platform

A Terraform module for provisioning standard resources on a Kubernetes cluster.

What is deployed

The parent module is composed of several sub modules.

  • argocd: A deployment of ArgoCD, using a bootstrap application to load other software.
  • envserver: A test server providing environment information on an external endpoint for verification.
  • ingress: A standard ingress controller with associated Load Balancer.
  • secrets: A deployment of sealed-secrets to assist with managing secrets that may be stored, encrypted, in public repos.

A combination of Terraform's Kubernetes and Helm providers is used to deploy these modules.

Testing

Tests are configured with GitHub Actions, and may be run locally using act. Using the following command at the root of this repo to test all modules and their integration:

act

All underlying tests are written using Terratest in Go test files.