Kuberentes operator which sets up all platform tools to have a cluster ready for applications to run.
Cluster-Forge is a tool used to includes various components based on 3rd party/community tools or components along with in-house deployments into a single stack (packaged set of ready components) to be deployed in a kubernetes cluster.
This is not necessarily meant to replace 'helm install' and 'kubectl apply' for a single use dev cluster. It is meant to wrap all those together for the use of repeated kubernetes cluster deployments. Test clusters, ephemeral pipeline clusters, or just scaling multiple clusters.
It is designed with the idea of 'ephemeral clusters' and easily reproducable clusters in mind.
Ensure golang v1.23, kubectl, and helm are installed. For convenience, it can also be run with docker.
To create a package, there are 3 (or up to 5 depending on how we count) steps.
If the tool needed is not already included, add it to input/config.yaml
Run 'smelt', which will generate formatted (yaml) configs which will be used.
go run . smelt
Or alternatively with Docker
alias xforge="docker compose run forge"
xforge smelt
Select the components to include and they will be generated.
Add any customizations needed to files in /working Likely not needed, and instructions to come here.
Compile the components into a stack
go run . cast
Important
If you encounter build errors during the cast
process, you may need to enable multi-architecture
docker builds on your machine using the following command:
docker buildx create --name multiarch-builder --use
This step deploys a stack to a cluster
go run . forge