KubeRig helps you maintain Kubernetes/OpenShift resources in a smarter way. You define your resources with Kotlin code.
- Don't let template based tooling limit you. Use all the power of the Kotlin language to define your resources.
- Alternative to Helm for deploying resources.
- Alternative to Helm Charts for sharing reusable packages.
The KubeRig Kotlin DSL is generated based on the API specification of a Kubernetes or OpenShift cluster and provides a type-safe base to define your resources. This gives you auto-complete and automatic validation on version updates.
A quick example that defines a ConfigMap.
@EnvResource
fun basicConfigMap() : ConfigMapDsl {
return configMap {
metadata {
name("app-config")
}
data("app.parameter", "some-value")
}
}
For both Kubernetes and OpenShift the DSLs are available on JCenter, for specific version availability please check their respective availability pages.
Our jobs detect and add new Kubernetes versions automatically. We get a Slack notification to create the JCenter inclusion request for the new version(s). These requests usually get processed within the next day.
The OpenShift job is not working. The API specification is no longer available in the repositories. This means we need to startup an OpenShift cluster to get the OpenAPI specification. I don't have the time and funding to do this.
If you have access to specific versions please provide the OpenAPI specification, then I can add it. Or even better open a pull request with it.
For more information please consult the User Manual.
You can find blog posts about KubeRig here.