sdk

module
v1.62.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2025 License: Apache-2.0

README

machine-controller SDK

This directory contains the k8c.io/machine-controller/sdk Go module. If you're looking at integrating the machine controller (MC) into your application, this is where you should start.

Usage

Simply go get the SDK to use it in your application:

go get k8c.io/machine-controller/sdk

If necessary, you can also import the main MC module, but this comes with heavy dependencies that might be too costly to maintain for you:

go get k8c.io/machine-controller
go get k8c.io/machine-controller/sdk

In this case it's recommended to always keep both dependencies on the exact same version.

Development

There are two main design criteria for the SDK:

  1. The SDK should contain a minimal set of dependencies, in a perfect world it would be only Kube dependencies. The idea behind the SDK is to make importing KKP cheap and easy and to not force dependencies onto consumers.

  2. The SDK should not contain as few functions as possible. Functions always represent application logic and usually that logic should not be hardcoded into client apps. Every function in the SDK is therefore to be considered "eternal".

  3. The SDK should truly follow the Go Modules idea of declaring the minimum compatible versions of every dependency and even of Go. The main machine controller module can and should have the latest dependencies, but the SDK should not force consumers to be on the most recent Kube version, for example.

Directories

Path Synopsis
apis
cluster/v1alpha1
Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=k8c.io/machine-controller/sdk/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.k8s.io
Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=k8c.io/machine-controller/sdk/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.k8s.io
machines/v1alpha1
+groupName=machine.k8s.io
+groupName=machine.k8s.io
cloudprovider
aws
gce
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL