{"id":16345287,"url":"https://github.com/inscapist/terraform-k3s-private-cloud","last_synced_at":"2025-03-16T15:30:52.325Z","repository":{"id":39781924,"uuid":"329522923","full_name":"inscapist/terraform-k3s-private-cloud","owner":"inscapist","description":"Private cluster with k3s. Why have 1 huge complicated cluster (pet) when you can have many simple, cheap clusters (cattle)?","archived":false,"fork":false,"pushed_at":"2022-05-10T08:38:01.000Z","size":85,"stargazers_count":114,"open_issues_count":6,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-12T00:31:09.583Z","etag":null,"topics":["aws","ci-cd","cloud","cloud-init","k3s","k3s-cluster","kubernetes","microservices","session-manager","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inscapist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security.tf","support":null}},"created_at":"2021-01-14T06:04:32.000Z","updated_at":"2024-08-25T13:20:18.000Z","dependencies_parsed_at":"2022-09-14T21:20:19.693Z","dependency_job_id":null,"html_url":"https://github.com/inscapist/terraform-k3s-private-cloud","commit_stats":null,"previous_names":["inscapist/terraform-k3s-private-cloud"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inscapist%2Fterraform-k3s-private-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inscapist%2Fterraform-k3s-private-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inscapist%2Fterraform-k3s-private-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inscapist%2Fterraform-k3s-private-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inscapist","download_url":"https://codeload.github.com/inscapist/terraform-k3s-private-cloud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221665199,"owners_count":16860191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","ci-cd","cloud","cloud-init","k3s","k3s-cluster","kubernetes","microservices","session-manager","terraform"],"created_at":"2024-10-11T00:30:38.935Z","updated_at":"2024-10-27T10:49:16.382Z","avatar_url":"https://github.com/inscapist.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# K3s Private Cluster\n\n[![asciicast](https://asciinema.org/a/386840.svg)](https://asciinema.org/a/386840)\n\nAsciicast for accessing cluster can be viewed [here](./docs/getting-started.md)\n\n## Requirements\n\n| Name      | Version      |\n| --------- | ------------ |\n| terraform | \u003e= 0.14      |\n| SSM Agent | \u003e= 3.0.161.0 |\n\nThis module is published at [Terraform registry](https://registry.terraform.io/modules/sagittaros/private-cloud/k3s/latest)\n\n## Why would you want this?\n\n- You are cost-conscious. RDS, Elasticache and EKS are too expensive and perhaps even too complicated\n- You want a cluster with low maintenance overhead and just works\n- You want to have this cluster for only 1 or 2 apps (App Clusters)\n\n## Why would I do this?\n\n- I wish to empower individual developers to have their own test/staging environment\n- Big clusters fail, coordination is hard, service mesh is expensive\n- I wish our code can simply run anywhere on any cloud, even if its stateful\n\n## Features\n\n- Private cluster with no exposed ports\n- Low memory usage and simpler architecture (thanks to K3S)\n- It has most of the expected features of kubernetes (PVC, LoadBalancer, MetricsServer)\n- Simple codebase with minimal magic\n- Network agnostic with ability to reuse VPC\n\n## What is this?\n\nThis module is designed for kubernetes workload that runs within private subnet. A private subnet is simply a subnet not associated with an internet gateway. This results in lower cost and reduction in moving parts, as you do not need to purchase a domain name, certificate and manage perimeter security.\n\nIf you don't need egress connectivity for cluster, you can use the [VPC endpoints for SSM](./extras/ssm_vpc_endpoints). Otherwise, session manager would not work.\n\nThis module currently supports only AWS cloud. However, I wish to support more clouds with minimal differences between API.\n\nVarious networking configurations are demonstrated in the following examples:\n\n- [New VPC](./examples/k3s-in-new-vpc)\n- [Existing VPC, New subnets](./examples/k3s-in-existing-vpc)\n\n## How do I start?\n\nRefer [Getting Started](./docs/getting-started.md) and other [documentation](./docs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finscapist%2Fterraform-k3s-private-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finscapist%2Fterraform-k3s-private-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finscapist%2Fterraform-k3s-private-cloud/lists"}