Skip to content

A Kubernetes controller that addresses the limitations of dynamic resource provisioning.

License

Notifications You must be signed in to change notification settings

wsadza/kubeforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Kubeforge

Kubeforge is a Kubernetes-native powerhouse that tackles the challenges of dynamic resource provisioning head-on. By leveraging the Kubernetes controller pattern, it seamlessly combines user-defined Custom Resource Definitions (CRDs) with pre-defined source configurations, delivering consistent and automated resource provisioning with a dash of flair.

Note

Imagine a scenario where each pod within your scope needs to be slightly different (e.g. difrent amount of resource; difrent runtime-class; difrent variables), you have the option to install them separately or use Kubeforge. With Kubeforge, you can define the source configuration and only operates with overlays resources.

$\large\color{Goldenrod}{\textbf{TL;DR}}$

$\color{#FAFAD2}{\textsf{Preparation}}$

Add the Helm chart repository.

helm repo add kubeforge https://wsadza.github.io/kubeforge && helm repo update
$\color{#EEE8AA}{\textsf{Installation}}$

Install the Kubeforge Helm chart with a customized source configuration.

cat <<EOF | helm install kubeforge kubeforge/kubeforge -f -
kubeforge:
  sourceConfiguration:
    Pod:
    - metadata:
        name: bannana-pod 
      spec:
        containers:
          - name: bannana 
            command: [ "tail", "-f", "/dev/null" ]
EOF
$\color{#F0E68C}{\textsf{Usage}}$

Create a Kubeforge overlay resource to provision the "banana-pod".

cat <<EOF | kubectl apply -f -
apiVersion: kubeforge.sh/v1
kind: Overlay
metadata:
  name: "bannana" 
spec:
  data:
    Pod:
      - metadata:
          name: bannana-pod 
        spec:
          containers:
          - name: bannana 
            image: busybox 
EOF

Preview

It was easy, right?

Table Of Contents:

Installation

(Back to Top)

This section offers instructions for installing a Kubeforge controller. Whether you're looking to test it or deploy it on your Kubernetes cluster, here are two methods you can follow.

Table Of Contents:

Preview

Take a piece of CRD, mix it with the flavor of CM, and voilà, you have your pod!

Configuration

(Back to Top)

This section highlights the two main components of configuring the Kubeforge controller: first, the general Helm chart description, and second, the controller-specific configuration. The latter covers both the source configuration and the overlay configuration, providing full examples of overlays for provisioning Banana and Apple pods.

Table Of Contents:

Preview

Sequences! We love sequences, right?

Miscellaneous

(Back to top)

The "Miscellaneous" section gathers various resources and content that may not belong to a specific category but are still valuable and worth referencing. It's a place for extra tools, tips, and information that support a wide range of needs.

Table Of Contents: