anomaly / lab-tf-linode

Terraform templates to provision infrastructure and application on Linode, using just nodes through to Kubernetes and managed products e.g databases and object store.
Apache License 2.0
0 stars 0 forks source link
kubernetes linode showcase terraform

Terraform templates for Linode

This repository is a reference template for Anomaly projects provisioning and managing infrastructure on Linode using Terraform. The stack aims to the standard environment for our web based projects.

As Linode move services like Databases to a managed product. We will evolve this template to use those services. As a small team Anomaly wishes to leverage off the strengths of providers Linode and have them do as much of the heavy lifting as possible.

Our template provides a VCS (centred around branches and pull requests) based workflow.

While this README outlines what we deliver, our GUIDE offers a step-by-step walk through of using the template and deploying your own apps.

Typical Requirements

A typical web project at Anomaly features:

Each server side component e.g API, worker, is containerised using Docker.

We assume the use of Terraform Cloud to preserve the state of the infrastructure.

This template will provision the following:

Additionally we provide:

Secrets management

We will also explore using Kubernetes secrets and alternatively Hashicorp's Vault product offering to manage:

As resources are provisioned we will proxy the secrets to a managed services or the K8s cluster.

Mock application

The setup uses a mock application to test the infrastructure. This application is highly insecure and should not be used in production. The mock application is a Python endpoint designed to prove that a real life app will:

The web page generated by this mock application displays these on the landing page. This is obviously for demonstration purposes only, in a real life scenario these credentials are used internally by the server Pods.

If you are interesting in building server side applications using Python please see lab-python-server.

Resources

Useful repositories:

Video tutorials:

License

Content of this repository are licensed under the Apache 2.0 license.