controller-runtime VS vcluster-sdk

Compare controller-runtime vs vcluster-sdk and see what are their differences.

controller-runtime

Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery) (by kubernetes-sigs)

vcluster-sdk

Provides a toolset to create custom vcluster syncers (by loft-sh)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
controller-runtime vcluster-sdk
53 3
2,305 24
2.6% -
9.4 6.6
2 days ago 10 days ago
Go Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

controller-runtime

Posts with mentions or reviews of controller-runtime. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-23.

vcluster-sdk

Posts with mentions or reviews of vcluster-sdk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-27.
  • vcluster Exploded in 2022
    2 projects | dev.to | 27 Dec 2022
    Plugins: With the complexity of Kubernetes, it became clear that people would need the ability to customize and extend vcluster to fit their workflows. Enter vcluster plugins and the vcluster SDK. Plugins are written in Go and allow users to customize the behavior of vcluster’s syncer to do all kinds of things, like sharing resources between host and virtual clusters. (Docs)
  • Loft Labs Releases vcluster Plugin System and SDK To Make Integrations
    4 projects | dev.to | 16 Jun 2022
    The vcluster project maintainers have created an SDK for writing plugins that abstract a lot of the syncer complexity away from the user, but still provides access to the underlying data structures if needed. Internally, the vcluster SDK uses the popular controller-runtime project, that is used by vcluster itself to create the controllers. The vcluster SDK makes it possible to write custom plugins with just a few lines of code.
  • Announcing vcluster Plugins and the vcluster SDK
    3 projects | dev.to | 4 Apr 2022
    So in version 0.6.0 of vcluster, we’ve added the ability for users to write vcluster plugins using the new vcluster SDK. vcluster plugins are written in Go, and they can customize vcluster in many ways. There are currently three examples in the GitHub repo:

What are some alternatives?

When comparing controller-runtime and vcluster-sdk you can also consider the following projects:

client-go - Go client for Kubernetes.

vcluster - vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.

controller-tools - Tools to use with the controller-runtime libraries

devspace-plugin-loft - Loft Plugin for DevSpace - adds commands like `devspace create space` or `devspace create vcluster` to DevSpace

operator-sdk - SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.

yaml - A better way to marshal and unmarshal YAML in Golang

golang-design-pattern - 设计模式 Golang实现-《研磨设计模式》读书笔记

sample-controller-kubebuilder - This is Sample Controller(Foo Controller) developed by Kubebuilder

apimachinery

bucket-text-api - Simple REST API (built with Go) to write text files to Cloud Buckets.

autobucket-operator - Cloud Storage Kubernetes Operator with Go and Operator SDK

kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs