cluster-api-provider-tinkerbell

command module
v0.2.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

README

Cluster API Provider Tinkerbell

Go Reference CRD - reference Go Report Card


This repository is Experimental meaning that it's based on untested ideas or techniques and not yet established or finalized or involves a radically new and innovative style! This means that support is best effort (at best!) and we strongly encourage you to NOT use this in production.

Kubernetes-native declarative infrastructure for Kubernetes clusters on Tinkerbell.


What is the Cluster API Provider Tinkerbell

The Cluster API brings declarative, Kubernetes-style APIs to Kubernetes cluster creation, configuration and management.

The API itself is shared across multiple cloud providers allowing for true hybrid deployments of Kubernetes, both on-premises and off.


Quick Start

See the Quick Start


Compatibility with Cluster API and Kubernetes Versions

This provider's versions are compatible with the following versions of Cluster API:

v1beta1 (v1.0)
Tinkerbell Provider v1beta1 (v0.1)

This provider's versions are able to install and manage the following versions of Kubernetes:

v1.19 v1.20 v1.21 v1.22
Tinkerbell Provider v1beta1 (v0.1)

Each version of Cluster API for Tinkerbell will attempt to support all community supported Kubernetes versions during it's maintenance cycle; e.g., Cluster API for Tinkerbell v0.1 supports Kubernetes 1.19, 1.20, 1.21, 1.22 etc.

NOTE: As the versioning for this project is tied to the versioning of Cluster API, future modifications to this policy may be made to more closely align with other providers in the Cluster API ecosystem.


Kubernetes versions with published Images

Pre-built images are pushed to the GitHub Container Registry. We currently publish images for Ubuntu 18.04 and Ubuntu 20.04.


Current state

Currently, it is possible to bootstrap both single instance and multiple instance Control Plane workload clusters using hardware managed by Tinkerbell.

Integration with PBnJ for remote power management and secure deprovisioning of instances is still outstanding and must be handled externally.

See docs/README.md for more information on setting up a development environment.


Technical preview

This project is under active development and you should expect issues, pull requests and conversation ongoing in the bi-weekly community meeting. Feel free to join if you are curious or if you have any question.

Documentation

Overview

Copyright 2022 The Tinkerbell Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
api
v1beta1
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group.
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group.
Package controllers contains Cluster API controllers for Tinkerbell.
Package controllers contains Cluster API controllers for Tinkerbell.
hack
boilerplate/test
Package test contains test boilerplate.
Package test contains test boilerplate.
internal
templates
Package templates provides methods for rendering templates used for creating Tinkerbell machines for ClusterAPI.
Package templates provides methods for rendering templates used for creating Tinkerbell machines for ClusterAPI.

Jump to

Keyboard shortcuts

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