Skip to content

Deploy to Kubernetes/OpenShift by leveraging your developer skills - no yaml required!

License

Notifications You must be signed in to change notification settings

kuberig-io/kuberig

Repository files navigation

KubeRig Logo

GitHub tag (latest SemVer) kuberig-io

KubeRig

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.

KubeRig Kotlin DSL

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")
    }
}

DSL availability

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.

Additional Information

User Manual

For more information please consult the User Manual.

Blog posts

You can find blog posts about KubeRig here.

Site

https://kuberig.io.