Skip to content

prateekgogia/kubicorn

 
 

Repository files navigation

Create, manage, snapshot, and scale Kubernetes infrastructure in the public cloud.

Build Status Go Report Card

Phonetic pronunciation: KEW - BHIK - OH - AR - IN

About

kubicorn is an unofficial project that solves the Kubernetes infrastructure problem and gives users a rich golang library to work with infrastructure.

kubicorn is a project that helps a user manage cloud infrastructure for Kubernetes. With kubicorn a user can create new clusters, modify and scale them, and take a snapshot of their cluster at any time.

NOTE: This is a work-in-progress, we do not consider it production ready. Use at your own risk and if you're as excited about it as we are, maybe you want to join us on the #kubicorn channel in the Gophers Slack community.

Proudly packaged with Golang dep

Installing

$ go get github.com/kris-nova/kubicorn

..or read the Install Guide.

How is Kubicorn different?

  1. We use kubeadm to bootstrap our clusters
  2. We strive for developer empathy, and clean and simple code
  3. We strive for operational empathy, and clean and simple user experience
  4. We start with struct literals for profiles, and then marshal into an object
  5. We offer the tooling as a library, more than a command line tool
  6. We are atomic, and will un-do any work if there is an error
  7. We run on many operating systems
  8. We allow users to define their own arbitrary bootstrap logic
  9. We have no guarantee that anything works, ever, use at your own risk
  10. We have no dependency on DNS
  11. We believe in snapshots, and that a user should be able to capture a cluster, and move it

Concepts

Create

kubicorn lets a user create a Kubernetes cluster in a cloud of their choice.

Apply

Define what you want, then apply it. That simple.

Adopt

kubicorn can adopt any Kubernetes cluster at any time.

Scale

kubicorn is powered by a state enforcement pattern. A user defines the intended state of Kubernetes infrastructure, and kubicorn can enforce the intended state.

Snapshot

kubicorn allows a user to take a snapshot of a Kubernetes cluster, and run the image in any cloud at any time. A snapshot is compressed file that will represent intended infrastructure and intended application definitions. Take a snap, save a snap, deploy a snap.

Enforce

kubicorn is built as a library and a framework. Thus allowing it to be easily vendored into operator and controller patterns to enforce intended state of infrastructure.

Documentation

Name Description Link
Install Install guide for Kubicorn CLI install
Environmental Variables Master list of supported environmental variables envvars
Kops vs Kubicorn Blog about kubicorn with comparison table nivenly.com/kubicorn
AWS Walkthrough A walkthrough guide on install Kubernetes 1.7 in AWS walkthrough
DigitalOcean Walkthrough A walkthrough guide on install Kubernetes 1.7 in D.O. walkthrough
AWS Video A step by step video of using Kubicorn in AWS video
Tech N Talk Deep Dive A technical deep dive courtesy of RedHat youtube

About

Simple. Kubernetes. Infrastructure.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 91.5%
  • Shell 6.3%
  • Makefile 2.2%