kubit

install kubecfg packages in-cluster (by kubecfg)

Kubit Alternatives

Similar projects and alternatives to kubit

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better kubit alternative or higher similarity.

kubit reviews and mentions

Posts with mentions or reviews of kubit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-23.
  • Why the fuck are we templating YAML? (2019)
    27 projects | news.ycombinator.com | 23 Jan 2024
    oh yeah; operators are great and sometimes they are necessary.

    On the other hand, most operators I've seen are just k8s manifest templates implemented in Go.

    I often end up preferring using Jsonnet to deal with that instead of doing the same stuff in Go.

    Jsonnet is much more close to the underlying datamodel (the k8s manifest Json/Yaml document) and comes with some useful functionality out of the box, such "overlays".

    It has downsides too! It's untyped, debugging tools are lacking, people are unfamiliar with it and don't care to learn it. So I totally get why one would entertain the possibility of writing your "templates" using a better language.

    However, an operator is often too much freedom. It's not just using Go or Rust or Typescript to "generate" some Json manifests, but it also contains the code to interact with the API server, setup watches, and reactions etc.

    I often wish there was a better way to separate those two concerns

    I'm a fan of metacontroller [1], which is a tool that allows you to write operators without actually writing a lot of imperative code that interacts with the k8s API, but instead just provide a general JSON->JSON transformer, which you could write in any langue (Go, Python, Rust, Javascript, .... and also Jsonnet if you want).

    I recently implemented something similar but much tailored to just "installing" stuff, called Kubit. An OCI artifact contains some abitrary tarball (generally containing some template sources) and a reference to a docker image containing an "engine" and runs the engine with your provided tarball + some parameters passed in a CRD. The OCI artifact could contain a helm chart and the template engine could contain the helm binary, or the template engine could be kubecfg and the OCI artifact could contain a bunch of jsonnet files. Or you could write your own stuff in python or typescript. The kubit operator then just runs your code, gathers the output and applies with with kubectl apply-set.

    1. https://metacontroller.github.io/metacontroller/intro.html

    2. https://github.com/kubecfg/kubit

Stats

Basic kubit repo stats
1
4
9.7
1 day ago

kubecfg/kubit is an open source project licensed under Apache License 2.0 which is an OSI approved license.

The primary programming language of kubit is Rust.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com