• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Swiss Army Kube (SAK) is an open-source IaC (Infrastructure as Code) collection of services for quick, easy, and controllable deployment of EKS Kubernetes clusters on Amazon for your projects.

Maintenance Apache2 GitHub contributors GitHub release (latest SemVer)

Quickstart • Modules • Configure Deployment • Troubleshooting • Contributing • Provectus

Swiss Army Kube - Free IaC Tool for Easy EKS Kubernetes Cluster Deployment.

logo 

Swiss Army Kube (SAK) is an open-source IaC (Infrastructure as Code) collection of services for quick, easy, and controllable deployment of EKS Kubernetes clusters on Amazon for your projects. With Swiss Army Kube, cluster configuration and provisioning takes just a fraction of time normally spent on manual deployment via AWS management console. SAK automates deployments, making them repeatable, consistent, and less error-prone.

Swiss Army Kube uses Terraform to describe the desired state of your infrastructure (resources that need to be provisioned like IAM roles, ASG, Route 53, subnets, etc.) and build a Kubernetes cluster on AWS EC2 instances.

SAK provides example directories that you can use as easily modifiable templates to set up your cluster deployment configuration in minutes. All you need is to edit a couple of files to include modules and set variables. This way you can quickly configure and provision multiple dedicated EKS Kubernetes clusters with different configurations of modules, variables, networks, and Kubernetes versions.

We believe that any developer or organization should be able to focus on their applications without having to worry too much about the nitty-gritty of infrastructure deployment.

Currently, Swiss Army Kube is available for the Amazon EKS (Elastic Kubernetes Service) for Kubernetes cluster only. We plan to expand to other platforms soon.


Key Features

Deploy

  • Provision an AWS EKS cluster in minutes
  • Use existing project structure to set up your infrastructure
  • Configure your deployment in a single .tfvars file
  • Add and configure modules in a single .tf file
  • Deploy with a couple of Terraform commands

Manage

  • Manage your cluster with Terraform and Kubernetes CLI commands
  • Easily edit, reconfigure, rerun or destroy resources
  • Use handy scripts that make your work faster

Scale

  • Configure and deploy as many projects as you need fast and easy
  • Scale deployments by adding new modules
  • Reduce your cloud infrastructure spend with spot instances
  • Maximize your workload cost-efficiency

How it Works

Configure and deploy as many projects as you want.

  1. Sign up for Amazon account
    • Create and configure an IAM user
  2. Install Prerequisites
    • Clone this repository
    • Install prerequisites via script (MacOS users) or manually (other users)
  3. Configure your EKS cluster deployment using one of the examples/ directories as a project template
    • Configure modules and variables
  4. Deploy your EKS Kubernetes cluster with Terraform commands
  5. Configure kubectl to manage your Kubernetes cluster
  6. Manage your EKS Kubernetes cluster and deploy your containerized apps on it

Get Started

Visit our Quickstart to install and configure prerequisites, set up your project deployment with desired modules and configurations in *.tf files, and deploy your infrastructure with Terraform commands:

terraform init
terraform plan -out plan
terraform apply "plan"

After deployment, manage your cluster with Terraform and Kubernetes CLI commands or AWS management console.

Contributing

Contributing to Swiss Army Kube is very welcome. Currently, we're looking for contributions to the documentation of Modules. All you need is being comfortable with GitHub and Git. To get involved with documentation, please read our Contributing Guide.

License

Swiss Army Kube is licensed under the Apache 2.0 License.

More Repositories

1

kafka-ui

Open-Source Web UI for Apache Kafka Management
Java
9,528
star
2

sak-kubeflow

🚀 Deploy Kubeflow on AWS EKS with Terraform 🤖
HCL
61
star
3

data-quality-gate

Data Quality Gate based on AWS
Python
56
star
4

streaming-data-platform

Java
25
star
5

reference-dockerfiles

Reference Dockerfiles for production usage
Dockerfile
24
star
6

internship

JavaScript
13
star
7

sak-incubator

Incubator for SAK project modules
HCL
8
star
8

kafka-connect-vault-config-provider

Java
7
star
9

from_ge_to_allure_mapper

Jupyter Notebook
5
star
10

sails-userhooks-ws

JavaScript
5
star
11

microfrontends-demo

Microfrontends demo
JavaScript
4
star
12

kafkaui-glue-sr-serde

Java
3
star
13

kafka-swagger-rest

Java
3
star
14

sak-argocd

ArgoCD module for SAK project
HCL
3
star
15

sak-alb-controller

SAK module for create alb controller
HCL
2
star
16

jquery_plugins

CoffeeScript
2
star
17

kafka-ui-wizard

Kafka-UI Quick Setup Wizard
Svelte
2
star
18

mlops-utilities

Python
2
star
19

pmp

Provectus MLOps Platform Server
Scala
2
star
20

terraform-provider-couchbase

Go
2
star
21

ai-worker-safety-notebooks

Jupyter Notebook
2
star
22

kafkaui-smile-serde

Smile serde plugin for kafka-ui
Java
2
star
23

spring-webflux-example

1
star
24

internship_devops_backend

Backend app for final challenge
JavaScript
1
star
25

desplazar

JavaScript
1
star
26

sak-kubernetes

EKS module for SAK project
HCL
1
star
27

sak-cognito

Cognito module for SAK project
HCL
1
star
28

sak-prometheus

Prometheus & alertmanager & grafana module for SAK project
HCL
1
star
29

sak-vpc

Network module for SAK project
HCL
1
star
30

sak-cert-manager

SAK module with cert-manager
HCL
1
star
31

kafka-ui-docs

Documentation for UI for Apache Kafka
1
star
32

kafka-ui-charts

UI For Apache Kafka Helm Charts
Mustache
1
star
33

quickstart-provectus-streaming-data-platform-kafka

Streaming Data Platform Kafka edition
Shell
1
star