Typhoon

Minimal and free Kubernetes distribution with Terraform

Blockchain & Cloud ComputingHCLMIT

Abstract

Typhoon is an open-source Blockchain & Cloud Computing project. Minimal and free Kubernetes distribution with Terraform. Typhoon powers the author's cloud and colocation clusters. The project has evolved through operational experience and Kubernetes changes. It is built using HCL, Kubernetes, Terraform, AWS. Key capabilities include: Kubernetes v1.36.2 (upstream); Single or multi-master, Cilium or flannel networking; On-cluster etcd with TLS, RBAC-enabled, network policy, SELinux enforcing. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Blockchain & Cloud Computing mini project or final-year project.

1. Introduction

Typhoon powers the author's cloud and colocation clusters. The project has evolved through operational experience and Kubernetes changes. Typhoon is shared under a free license to allow others to use the work freely and contribute to its upkeep.

Typhoon addresses real world needs, which you may share. It is honest about limitations or areas that aren't mature yet. It avoids buzzword bingo and hype. It does not aim to be the one-solution-fits-all distro. An ecosystem of Kubernetes distributions is healthy.

Typhoon is a minimal and free Kubernetes distribution.

2. Objective

Minimal and free Kubernetes distribution with Terraform

This project demonstrates how HCL, Kubernetes, Terraform can be applied to a real-world Blockchain & Cloud Computing problem.

3. Key Features / Modules

  • Kubernetes v1.36.2 (upstream)
  • Single or multi-master, Cilium or flannel networking
  • On-cluster etcd with TLS, RBAC-enabled, network policy, SELinux enforcing
  • Advanced features like worker pools, preemptible workers, and snippets customization
  • Ready for Ingress, Prometheus, Grafana, CSI, or other addons

4. Technology Stack

HCLKubernetesTerraformAWS

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Terraform CLI
  • Cloud provider account (e.g. AWS) with CLI configured
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/poseidon/typhoon.git
cd typhoon
module "yavin" {
  source = "git::https://github.com/poseidon/typhoon//google-cloud/fedora-coreos/kubernetes?ref=v1.36.2"

  # Google Cloud
  cluster_name  = "yavin"
  region        = "us-central1"
  dns_zone      = "example.com"
  dns_zone_name = "example-zone"

  # configuration
  ssh_authorized_key = "ssh-ed25519 AAAAB3Nz..."

  # optional
  worker_count = 2
  worker_preemptible = true
}

# Obtain cluster kubeconfig
resource "local_file" "kubeconfig-yavin" {
  content         = module.yavin.kubeconfig-admin
  filename        = "/home/user/.kube/configs/yavin-config"
  file_permission = "0600"
}
$ terraform init
$ terraform plan
Plan: 62 to add, 0 to change, 0 to destroy.
$ terraform apply
Apply complete! Resources: 62 added, 0 changed, 0 destroyed.
$ export KUBECONFIG=/home/user/.kube/configs/yavin-config
$ kubectl get nodes
NAME                                       ROLES    STATUS  AGE  VERSION
yavin-controller-0.c.example-com.internal  <none>   Ready   6m   v1.36.2
yavin-worker-jrbf.c.example-com.internal   <none>   Ready   5m   v1.36.2
yavin-worker-mzdm.c.example-com.internal   <none>   Ready   5m   v1.36.2
$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                      READY  STATUS    RESTARTS  AGE
kube-system   cilium-1cs8z                              1/1    Running   0         6m
kube-system   cilium-d1l5b                              1/1    Running   0         6m
kube-system   cilium-sp9ps                              1/1    Running   0         6m
kube-system   cilium-operator-68d778b448-g744f          1/1    Running   0         6m
kube-system   coredns-1187388186-zj5dl                  1/1    Running   0         6m
kube-system   coredns-1187388186-dkh3o                  1/1    Running   0         6m
kube-system   kube-apiserver-controller-0               1/1    Running   0         6m
kube-system   kube-controller-manager-controller-0      1/1    Running   0         6m
kube-system   kube-proxy-117v6                          1/1    Running   0         6m
kube-system   kube-proxy-9886n                          1/1    Running   0         6m
kube-system   kube-proxy-njn47                          1/1    Running   0         6m
kube-system   kube-scheduler-controller-0               1/1    Running   0         6m

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a CI/CD pipeline with GitHub Actions
  • Deploy to a public test network or cloud free tier
  • Add monitoring and cost alerts

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Why does this problem need a blockchain or cloud-native design?
  2. Explain the smart contract / infrastructure components and how they interact.
  3. How are gas costs or cloud costs kept under control?
  4. How is the system secured (keys, IAM, access control)?
  5. How would the solution scale to many more users?

9. Source Code & License

This project is developed by poseidon and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Blockchain & Cloud Computing project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Blockchain & Cloud Computing Internship