{"id":13769207,"url":"https://github.com/hivenetes/k8s-bootstrapper","last_synced_at":"2025-04-09T05:08:10.171Z","repository":{"id":64854286,"uuid":"543102256","full_name":"hivenetes/k8s-bootstrapper","owner":"hivenetes","description":"Bootstrapping a Production-Ready DigitalOcean Kubernetes Cluster Using Terraform and Argo CD","archived":false,"fork":false,"pushed_at":"2024-10-04T05:23:14.000Z","size":24449,"stargazers_count":275,"open_issues_count":4,"forks_count":61,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-01T09:18:12.155Z","etag":null,"topics":["argocd","devops","digitalocean","digitalocean-kubernetes","gitops-framework","grafana","hacktoberfest","infrastructure-as-code","k8s","kubernetes","loki","prometheus","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/hivenetes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-29T12:09:58.000Z","updated_at":"2025-03-15T23:21:33.000Z","dependencies_parsed_at":"2024-03-05T21:47:29.132Z","dependency_job_id":"7900b045-a1e1-461b-8c01-8234f37a45e0","html_url":"https://github.com/hivenetes/k8s-bootstrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivenetes%2Fk8s-bootstrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivenetes%2Fk8s-bootstrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivenetes%2Fk8s-bootstrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivenetes%2Fk8s-bootstrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hivenetes","download_url":"https://codeload.github.com/hivenetes/k8s-bootstrapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980837,"owners_count":21027808,"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":["argocd","devops","digitalocean","digitalocean-kubernetes","gitops-framework","grafana","hacktoberfest","infrastructure-as-code","k8s","kubernetes","loki","prometheus","terraform"],"created_at":"2024-08-03T17:00:19.216Z","updated_at":"2025-04-09T05:08:10.150Z","avatar_url":"https://github.com/hivenetes.png","language":"HCL","funding_links":[],"categories":["Ecosystem Projects"],"sub_categories":[],"readme":"# Kubernetes Bootstrapper: An Extendable Framework to Set Up Production-Grade Clusters\n\n## Introduction\n\n\"*Production-grade*\" is a loaded term. What constitutes production readiness will vary according to your use case. While a Kubernetes cluster is production-ready the moment it is ready to serve traffic, there is a commonly agreed set of minimum requirements, as shown in the infographic below.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./docs/assets/pionative.png\" alt=\"k8s-prod\" width=800\u003e\n\u003c/p\u003e\n\nWith [many cloud-native solutions](https://landscape.cncf.io/) popping up daily, it can be pretty daunting for engineers and organizations to choose the \"right\" tools to build their tech. Integrating them to get to **day-2 operations ready** in Kubernetes becomes all the more challenging.\n\n## Kubernetes Bootstrapper\n\nThe [**k8s-bootstrapper**](https://github.com/hivenetes/k8s-bootstrapper) project is a customizable and extendable framework that aims to solve this problem by leveraging\n\n- [Terraform](https://www.terraform.io/): Compose a production-ready infrastructure on DigitalOcean\n- [Argo CD](https://argo-cd.readthedocs.io/en/stable/): Application configuration management and delivery using GitOps\n\nThis project integrates popular battle-tested open-source software and solutions that provide a production-grade out-of-box Kubernetes experience.\n\n###  Target Audience\n\n- Kubernetes adopters\n- Startups/SMBs who are looking to speed up the Kubernetes adoption\n- Builders and curious souls\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./docs/assets/k8s-bootstrapper.png\" alt=\"k8s-bootstrapper\" width=800\u003e\n\u003c/p\u003e\n\n----\n\n##  Overview\n\n```bash\n.\n├── CODE_OF_CONDUCT.md\n├── LICENSE\n├── README.md \n├── argocd # Argo CD configurations (optional)\n├── bootstrap # cluster bootstrapping using Argo CD\n├── docs # documents and assets\n├── infrastructure # infrastructure automation using Terraform\n└── observability # set up observability stack \n```\n\n###  Bootstrap the Kubernetes Cluster\n\nFollow the guide in the order stated below:\n\n1. [DigitalOcean Infrastructure Automation via Terraform](./infrastructure/terraform/README.md)\n2. [Bootstrapping using Argo CD](./bootstrap/README.md)\n3. [Set up Observability using Robusta](./observability/README.md)\n\nHere is the overview of the architecture that we will set up:\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./docs/assets/bootstrapper-overview.png\" alt=\"boot-overview\"\u003e\n\u003c/p\u003e\n\n\u003e **Note**:\nIntended for experimentation/evaluation only.\nYou will be responsible for all infrastructure costs incurred by the used resources.\n\n###  Tear down the Bootstrapped Cluster\n\nHad fun trying out the *k8s-bootstrapper*? Time to say goodbye!\n\n```bash\n# Run\ncd infrastructure/terraform\nterraform destroy --var-file=bootstrapper.tfvars --auto-approve\n# Bye Bye!\n```\n\n----\n\n## Demos\n\n*k8s-bootstrapper* in action\n\n- [Running Mastodon on Kubernetes](https://github.com/digitalocean/mastodon-on-kubernetes)\n- [DOKS Application Log Monitoring and Retention using Grafana Loki and DigitalOcean Spaces](https://github.com/hivenetes/k8s-bootstrapper/tree/loki-spaces-demo/demo/loki-spaces)\n\n- [tiffanyfay/lets-generate-art](https://github.com/tiffanyfay/lets-generate-art)\n\n##  Media\n\n- [YouTube: Project Overview](https://www.youtube.com/watch?v=p_4Qj3z6EDQ)\n- [Blog: Build your K8s framework](https://thecloudodyssey.com/build-your-own-kubernetes-framework)\n- [Workshop: DigitalOcean Deploy Conference 2022](https://youtu.be/PfoB2e95VjQ)\n- [Featured in akuity/awesome-argo](https://github.com/akuity/awesome-argo#ecosystem-projects)\n\n- [Featured in VMware Explore/ SpringOne](https://x.com/tiffanyfayj/status/1828777854995505492)\n\n###  Shout-out\n\nThis project takes inspiration from the fantastic work done by [Alex Jones](https://twitter.com/AlexJonesax) of [Cloud Native Skunkworks.](https://www.cloudnativeskunkworks.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivenetes%2Fk8s-bootstrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhivenetes%2Fk8s-bootstrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivenetes%2Fk8s-bootstrapper/lists"}