All Projects → kubecfg → kubecfg

kubecfg / kubecfg

Licence: Apache-2.0 License
A tool for managing complex enterprise Kubernetes environments as code.

Programming Languages

go
31211 projects - #10 most used programming language
Jsonnet
166 projects
Makefile
30231 projects

Projects that are alternatives of or similar to kubecfg

cloudrail-demo
This repository contains the instructions for how to use Cloudrail, as well as specific scenarios to test Cloudrail with.
Stars: ✭ 19 (-45.71%)
Mutual labels:  infrastructure-as-code
scale-network
SCaLE's on-site expo network configurations, wifi, tooling, and scripts
Stars: ✭ 13 (-62.86%)
Mutual labels:  infrastructure-as-code
terraform-provider-kubeadm
A Terraform provider/provisioner for deploying Kubernetes with kubeadm
Stars: ✭ 60 (+71.43%)
Mutual labels:  infrastructure-as-code
gitlab-setup
A Packer / Terraform / Ansible configuration to install Gitlab and Gitlab-CI
Stars: ✭ 53 (+51.43%)
Mutual labels:  infrastructure-as-code
aks-terraform-helm
Showcase for Azure, AKS, Terraform, Helm and Let's Encrypt
Stars: ✭ 23 (-34.29%)
Mutual labels:  infrastructure-as-code
solutions-terraform-jenkins-gitops
Demonstrates the use of Jenkins and Terraform to manage Infrastructure as Code using GitOps practices
Stars: ✭ 49 (+40%)
Mutual labels:  infrastructure-as-code
azure-vdc
Automated VDC on Azure
Stars: ✭ 16 (-54.29%)
Mutual labels:  infrastructure-as-code
PSRule-pipelines
Validate infrastructure as code (IaC) and DevOps repositories using Azure Pipelines.
Stars: ✭ 16 (-54.29%)
Mutual labels:  infrastructure-as-code
Red-Baron
Automate creating resilient, disposable, secure and agile infrastructure for Red Teams
Stars: ✭ 326 (+831.43%)
Mutual labels:  infrastructure-as-code
ansible-infrastructure
Ansible-based infrastructure-as-code for hosting and deploying Magento-based shops
Stars: ✭ 19 (-45.71%)
Mutual labels:  infrastructure-as-code
tailor
Infrastructure as Code for OpenShift
Stars: ✭ 12 (-65.71%)
Mutual labels:  infrastructure-as-code
c3
𝗖𝟯 provides compliant AWS CDK components to various security standards.
Stars: ✭ 24 (-31.43%)
Mutual labels:  infrastructure-as-code
pytestlab
A pytest powered framework for multi-host integration and system testing
Stars: ✭ 17 (-51.43%)
Mutual labels:  infrastructure-as-code
sre
📚 Index for my study topics
Stars: ✭ 47 (+34.29%)
Mutual labels:  infrastructure-as-code
PSDocs
Generate documentation from Infrastructure as Code (IaC).
Stars: ✭ 75 (+114.29%)
Mutual labels:  infrastructure-as-code
epiphany
Cloud and on-premises automation for Kubernetes centered industrial grade solutions.
Stars: ✭ 114 (+225.71%)
Mutual labels:  infrastructure-as-code
restme
Template to bootstrap a fully functional, multi-region, REST service on GCP with a developer release pipeline.
Stars: ✭ 19 (-45.71%)
Mutual labels:  infrastructure-as-code
flekszible
Kubernetes resource/manifest file preprocessor, generator and manager.
Stars: ✭ 34 (-2.86%)
Mutual labels:  kubernetes-resources
yor
Extensible auto-tagger for your IaC files. The ultimate way to link entities in the cloud back to the codified resource which created it.
Stars: ✭ 459 (+1211.43%)
Mutual labels:  infrastructure-as-code
resoto
Resoto - Find leaky resources, manage quota limits, detect drift, and clean up!
Stars: ✭ 562 (+1505.71%)
Mutual labels:  infrastructure-as-code

kubecfg

Go Report Card

A tool for managing Kubernetes resources as code.

kubecfg allows you to express the patterns across your infrastructure and reuse these powerful "templates" across many services, and then manage those templates as files in version control. The more complex your infrastructure is, the more you will gain from using kubecfg.

Yes, Google employees will recognise this as being very similar to a similarly-named internal tool ;)

Install

Pre-compiled executables exist for some platforms on the Github releases page.

On macOS, it can also be installed via Homebrew: brew install kubecfg

To build from source:

% PATH=$PATH:$GOPATH/bin
% go get github.com/kubecfg/kubecfg

Quickstart

# Show generated YAML
% kubecfg show -o yaml examples/guestbook.jsonnet

# Create resources
% kubecfg update examples/guestbook.jsonnet

# Modify configuration (downgrade gb-frontend image)
% sed -i.bak '\,gcr.io/google-samples/gb-frontend,s/:v4/:v3/' examples/guestbook.jsonnet
# See differences vs server
% kubecfg diff examples/guestbook.jsonnet

# Update to new config
% kubecfg update examples/guestbook.jsonnet

# Clean up after demo
% kubecfg delete examples/guestbook.jsonnet

Features

  • Supports JSON, YAML or jsonnet files (by file suffix).
  • Best-effort sorts objects before updating, so that dependencies are pushed to the server before objects that refer to them.
  • Additional jsonnet builtin functions. See lib/kubecfg.libsonnet.
  • Optional "garbage collection" of objects removed from config (see --gc-tag).

Infrastructure-as-code Philosophy

The idea is to describe as much as possible about your configuration as files in version control (eg: git).

Changes to the configuration follow a regular review, approve, merge, etc code change workflow (github pull-requests, phabricator diffs, etc). At any point, the config in version control captures the entire desired-state, so the system can be easily recreated in a QA cluster or to recover from disaster.

Jsonnet

Kubecfg relies heavily on jsonnet to describe Kubernetes resources, and is really just a thin Kubernetes-specific wrapper around jsonnet evaluation. You should read the jsonnet tutorial, and skim the functions available in the jsonnet std library.

Community

Click here to sign up to the Kubernetes Slack org.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].