Bonny: Extending Kubernetes with Elixir — Part 1

Cory O'Daniel
Dec 30, 2018 · 3 min read
Arrrr, I be takin’ over yer ship, gopher.
  • handling Kubernetes YAML manifest creation including service account, RBAC, and deployment generation
  • supporting multiple controllers per operator
  • providing sensible safe defaults

What is an operator?

Before we build an operator, let’s go over some foundational terminology:

> kubectl get greetings
NAME AGE
hello-server 15h
hola-server 15h
> kubectl describe greetings/hello-server
Name: hello-server
Namespace: default
Labels: ...
Annotations: ...
API Version: hello-operator.bonny.test/v1
Kind: Greeting
Metadata:
Creation Timestamp: 2018-12-29T02:36:45Z
Generation: 1
Resource Version: 1217937
Self Link: /apis/hello-operator.bonny.test/v1/namespaces/default/greetings/hello-server
UID: 95abdb28-0b12-11e9-bd27-025000000001
Spec:
Greeting: Hello
  1. I spelled it this way on accident. I blame Elixir.
  2. The ElasticSearch and Prometheus operators are not built using Bonny.

CoryODaniel

Notes on SQL, ruby, elixir, tacos, and whiskey

Cory O'Daniel

Written by

SQL, kubernetes, elixir, ruby, node, tacos, whiskey, repeat.

CoryODaniel

Notes on SQL, ruby, elixir, tacos, and whiskey