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.
$\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
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.
-
$\large\color{Goldenrod}{\textbf{Installation}}$
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.
-
$\large\color{Goldenrod}{\textbf{Configuration}}$
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.
-
$\large\color{Goldenrod}{\textbf{Helpful Resources}}$ - Document Template