Skip to content

dniel/terraform

Repository files navigation

Publish Docker Image

Terraform

This repo contains my Terraform scripts that deployes all Kubernetes manifests to my k8s clusters. Providers used to deploy manifests to Kubernetes.

Kubernetes deployment

The terraform scripts does NOT contain the provisioning of Kubernetes itself. I have two clusters running, one in Amazon EKS deployed by cloudformation and one on-prem on VMWare deployed with Tanzu Kubernetes Grid (TKG).

Environments

I run several deployments at the same time, both on-prem in parallel and in Amazon EKS. Under the directory envs there is one directory for each deployment.

The different development environments for software development.

  • prod is deployed to Amazon.
  • stage is deployed to Amazon.
  • test is deployed to on-prem on VMWare Tanzu.
  • dev is deployed to on-prem on VMWare Tanzu.

In addition

  • services is a shared services on-prem on VMWare Tanzu.

To deploy an environment its meant to stand in its directory and do terraform apply Secrets are stored in encrypted files in the repo and contains a couple of variables that are needed to run the terraform scripts.

Templates

Two different default templates to configure an environment with.

template

Is a small and mostly empty base template. It contains common stuff like a default configuration of traefik and forwardauth and not much more.

template-services

Is a more specialized template that contains some applications that are meant to be installed just once for each cluster and contains tools for cross-cutting concerns like logging and observability implemented with prometheus, grafana, loki and more.

Modules

Under modules I have put all my re-usable code, the environments should not contain much code itself but should instead use the modules to configure deploy the software.

About

This repo contains my Terraform scripts that deployes all Kubernetes manifests to my k8s clusters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published