Skip to content

getupcloud/tiny-controllers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiny Controllers for Kubernetes

Tiny kubernetes controllers for tiny common tasks.

List of available controllers

Node Reconciler

Apply labels, annotations and taints from:

  • node annotations with format label.getup.io.$name=$value and taint.getup.io.$key.$value=$effect
  • node labels with format annotation.getup.io.$name=$value and taint.getup.io.$key.$value=$effect

Examples:

# Set node annotation `my-annotation: value` from label:
$ kubectl label node node1 annotation.getup.io.my-annotation=value

# Set node label my-label=123 from annotation:
$ kubectl annotate node node1 label.getup.io.my-label=123

# Set node taint dedicated=gpu:NoSchedule from label:
$ kubectl label node node1 taint.getup.io.dedicated.gpu=NoSchedule

Job Cleanup

Removes old Job objects. This is intended for old Kubernetes versions which lacks builting Job cleanup.

Installing

Preferred method to install is using helm:

$ git clone https://github.com/getupcloud/tiny-controllers.git
$ helm install tiny-controllers ./tiny-controllers/chart

Building

Create a local image with:

# build local image
$ make image

# send it to dockerhub
$ make push

# build and run local dev image
$ make dev

# build, tag and relase
$ make release

Use make vars to overwrite defaults:

$ make release VERSION=v0.0.1 REPOSITORY=getupcloud IMAGE_NAME=tiny-controllers

Look into Makefile for more targets.