This infrastructure provider brings the Elemental stack into the Kubernetes Cluster API.
Elemental is a software stack enabling centralized, full cloud-native OS management with Kubernetes.
For more information about the current features, please read the official documentation.
This project is an early prototype.
It will eventually support all the features of the current elemental-operator.
However, backward compatibility is not guaranteed at the moment.
cat << EOF > $HOME/.cluster-api/clusterctl.yaml
providers:
# add a custom provider
- name: "elemental"
url: "file:///${HOME}/cluster-api-provider-elemental/infrastructure-elemental/v0.0.0/infrastructure-components.yaml"
type: "InfrastructureProvider"
EOF
Elemental consists of two main components that can be installed on any host machine:
- elemental-agent communicates with the Elemental API for OS inventory management and CAPI bootstrapping.
- elemental-toolkit builds, ship and maintain cloud-init driven Linux derivatives.
The Elemental API is a RESTful HTTP API than enables inventory management and CAPI bootstrapping capabilities.
The specifications are published in OpenAPI format.
You can use it with any OpenAPI compliant tool, for example the online Swagger Editor.
This API is consumed by the elemental-agent
and is meant for Internal use only.
For more details on how to configure and expose the Elemental API, please read the related document.
The Elemental API uses two different authorization header.
The Registration-Authorization
should contain a valid JWT formatted Bearer
token when fetching registration information or registering a new host.
When registering a new host and modifying a host resource, the Authorization
header should also contain a valid JWT formatted Bearer
token that identifies the host.
For more information, you can find more details in the documentation.
Rancher Turtles is an extension to Rancher that brings increased integration with Cluster API.
For more information on how to deploy an Elemental CAPI cluster and import it into Rancher, please read the related documentation.