kubernetes-deployment-orchestrator

command module
v0.7.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

README

Kubernetes Deployment Orchestrator

This project brings the starlark scripting language to helm charts.

build and test

Features

  • Ease orchestration of deployments
  • Strict separation of templates and logic
  • Define APIs for helm charts
  • Control deployment by overriding methods
  • Compatible with helm
  • Use starlark methods in templates (replacement for _helpers.tpl)
  • Interact with kubernetes during installation
  • Manage user credentials
  • Manage certificates
  • Act as glue code between helm charts
  • Rendering of ytt templates
  • Also available as kubernetes controller
  • Easy embeddable and extendable
  • Integration of kapp

Installation

Installing the kubernetes deployment orchestrator can be done in various ways

Architecture

Usage

How to start kubernetes deployment orchestrator from the command line is described here

Getting started

There is a small tutorial available.

Tutorial

You can find a small tutorial, which guides you through the basic features here

User Guide

Solutions for a set of problems are shown here

Repos

Kubernete deployment orchestrator can load charts from a various set of locations.

Kubernetes Controller

Kubernete deployment orchestrator can also run as controller inside a kubernets cluster

Reference

A reference for the complete kubernetes deployment orchestrator starlark API

Testing

Kubernete deployment orchestrator also supports unit testing

Comparison

kubernetes deployment orchestrator helm ytt/kapp kustomize
Scripting + (3.1) + -
API definition + - (+) -
Reuse of existing charts + + (+) ?
Only simple logic in templates + + - +
Interaction with k8s + + - -
Repository + + - -
Mature technology - + + +
Manage user credentials + - - -
Manage user certificate + - - -
Controller based installation + - + -
Remove outdated objects +(1) + + -
Migrate existing objects +(1) - - -

(1): Must be implemented inside apply method or by using kapp as installer.

Difference to helm

  • Subcharts are not loaded automatically. They must be loaded using the chart command
  • Global variables are not supported.
  • The --set command line parameters are passed to the init method of the corresponding chart. It's not possible to set values (from values.yaml) directly. If you would like to set a lot of values, it's more convenient to write a separate kubernetes deployment orchestrator chart.
  • kdo doesn't track installed charts on a kubernetes cluster (except you are using kapp for deployment). It works more like kubectl apply
  • The .Release.Name value is build as follows: <chart.name>-<chart.suffix>. If no suffix is given, the hyphen is also ommited.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha2
Package v1alpha2 contains API Schema definitions for the kdo v1alpha2 API group +kubebuilder:object:generate=true +groupName=sap.github.com
Package v1alpha2 contains API Schema definitions for the kdo v1alpha2 API group +kubebuilder:object:generate=true +groupName=sap.github.com
examples
pkg
k8s
Code generated by counterfeiter.
Code generated by counterfeiter.
kdo

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL