kbst / terraform-kubestack

Kubestack is a framework for Kubernetes platform engineering teams to define the entire cloud native stack in one Terraform code base and continuously evolve the platform safely through GitOps.
https://www.kubestack.com
Apache License 2.0
651 stars 92 forks source link
aws azure devops gcp gitops gitops-framework hacktoberfest kubernetes platform-engineering terraform terraform-framework terraform-modules

Kubestack, The Open Source Gitops Framework

Kubestack

The Open Source Terraform framework for Kubernetes Platform Engineering

[![Status](https://img.shields.io/badge/status-active-success.svg)]() [![GitHub Issues](https://img.shields.io/github/issues/kbst/terraform-kubestack.svg)](https://github.com/kbst/terraform-kubestack/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/kbst/terraform-kubestack.svg)](https://github.com/kbst/terraform-kubestack/pulls)
![GitHub Repo stars](https://img.shields.io/github/stars/kbst/terraform-kubestack?style=social) ![Twitter Follow](https://img.shields.io/twitter/follow/kubestack?style=social)

Join Our Contributors!

Introduction

Kubestack is a Terraform framework for Kubernetes Platform Engineering teams to define the entire cloud native stack in one Terraform code base and continuously evolve the platform safely through GitOps.

Highlights

Getting Started

For the easiest way to get started, follow the Kubestack tutorial. The tutorial will help you get started with the Kubestack framework and build a Kubernetes platform application teams love.

Getting Help

Official Documentation
Refer to the official documentation for a deeper dive into how to use and configure Kubestack.

Community Help
If you have any questions while following the tutorial, join the #kubestack channel on the Kubernetes community. To create an account request an invitation.

Contributing

This repository holds Terraform modules in directories matching the respective provider name, e.g. aws, azurerm, google. Additionally common holds the modules that are used for all providers. Most notably the metadata module that ensures a consistent naming scheme and the cluster_services module which integrates Kustomize into the Terraform apply.

Each cloud provider specific module directory always has a cluster and _modules directories. The cluster module is user facing and once Kubestack is out of beta the goal is to not change the module interface unless the major version changes. The cluster module then internally uses the module in _modules that holds the actual implementation.

The quickstart directory is home to the source for the zip files that are used to bootstrap the user repositories when following the tutorial.

The tests directory holds a set of happy path tests.

Contributions to the Kubestack framework are welcome and encouraged. Before contributing, please read the Contributing and Code of Conduct Guidelines.

One super simple way to contribute to the success of this project is to give it a star.

![GitHub Repo stars](https://img.shields.io/github/stars/kbst/terraform-kubestack?style=social)

Kubestack Repositories