Skip to content

bythepowerof/kmake-controller

Repository files navigation

kmake-controller - WIP

A kubebuilder based controller to run Makefiles inside a cluster.

The idea is to shrink-wrap configuration into docker images, deploy them onto a cluster (optionally mutating the config) and then run make targets inside the cluster.

So multiple clusters can be supported from the same container with the resource mutated with kustomize

Build status

Platform CI Status Coverage Report Card Documentation
linux Build Status codecov Go Report Card GoDoc

Process

  • Load the CRD defintion
  • Run the controller on your cluster
  • add kmake.mk to your Makefile
  • Convert your Makefile into yaml with pymake -y
  • Add the yaml into your kmake definition
  • Load the definition into your cluster
  • Create kmake-run definitions
  • Run the definitions into your cluster

How it works

kmake creates:-

  • a persistent volume claim
  • an env config map of any variables in the Makefile
  • a config map containing the target part of the Makefile as yaml and a reduced Makefile

A first run of kmake-run will populate the PVC from the source docker image using the target defined in kmake.mk

TODO

  • Write kmake-run controller
  • Improve the readme ;)
  • Write some tests

About

A makefile controller for kubernetes - work in progress

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages