GithubHelp home page GithubHelp logo

best-of-architecture / terraform-kubestack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kbst/terraform-kubestack

0.0 0.0 0.0 419 KB

Terraform GitOps Framework — Everything you need to build reliable automation for AKS, EKS and GKE Kubernetes clusters in one free and open-source framework.

Home Page: https://www.kubestack.com

License: Apache License 2.0

HCL 87.40% Shell 1.88% Smarty 1.30% Python 2.39% Dockerfile 4.79% Makefile 2.24%

terraform-kubestack's Introduction

Kubestack Gitops Framework

Kubestack is a Gitops framework for managed Kubernetes services based on Terraform and Kustomize. It is designed to:

  • provide full testability by clearly separating infrastructure and application environments through the ops- and apps-cluster pair
  • ensure K8s cluster config, surrounding infrastructure (e.g. DNS, IPs) and cluster services (e.g. Ingress) are maintained together
  • unify application environments across cloud providers
  • enable a sustainable and fully automated Gitops workflow

For the easiest way to get started with Kubestack, visit the quickstart. The quickstart will bootstrap a user repository and a first cluster pair. See the tests for an example of how to extend this towards multi-cluster and/or multi-cloud.

Repository Layout

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 a _modules directory. 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 quickstart documentation.

tests holds a set of happy path tests that also act as a example of how to do multiple cluster pairs across multiple clouds from one repository.

terraform-kubestack's People

Contributors

pst avatar feend78 avatar cbek avatar spazzy757 avatar cpanato avatar to266 avatar soulshake avatar jdmarble avatar sondabar avatar dependabot[bot] avatar ederst avatar nullck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.