Skip to content
This repository has been archived by the owner on Nov 20, 2021. It is now read-only.

criticalstack/terraform-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Due to changes in the priorities, this project is currently not being supported. The project is archived as of 11/17/21 and will be available in a read-only state. Please note, since archival, the project is not maintained or reviewed.

Critical Stack Terraform Installer Reference

This repo contains reference files for a minimal installation of Kubernetes using the Critical Stack cluster bootstrapping components.

The main Terraform here provisions a barebones Kubernetes cluster in AWS using our provisioning tools such as e2d and crit. It is not a full featured Critical Stack install - for that, start with Crit/Cinder and check out the Critical Stack UI. It does not include opinionated configuration of or on top of Kubernetes like PSPs, encryption configs, or even a default StorageClass.

It will just, and only just, deploy a usable cluster. Do not deploy this to production.

Deploying

make

Destroying

make destroy

How it works

All configuration for the AWS infrastructure is done via options listed in variables.tf - make config-confirm will run a helpful wizard that will write a terraform.tfvars when complete. A VPC and private subnets (named *private*) are assumed to exist and be specified. Security groups and an S3 bucket are created for the cluster, and control plane and worker pool ASGs are deployed. The cluster CA is generated locally and pushed to S3 for the nodes to access.

The contents of the userdata directory is consumed by the cloudinit module and deployed to the cluster nodes (control plane and worker pools respectively). All nodes configure the system minimally (setting up kubelet/containerd cgroups) and install dependencies. Control plane nodes initialize e2d and, once there is quorum, bootstrap Kubernetes via crit and deploy a CNI (Cilium) via Helm.

Contributing

Any contributors must accept and sign the CLA.

This project has adopted the Capital One Open Source Code of conduct.