Categorygithub.com/oxidecomputer/rancher-machine-driver-oxide

# README

= Oxide Rancher Machine Driver

This repository contains the Oxide Rancher machine driver, also known as a node driver in Rancher parlance. Rancher uses this node driver to provision virtual machines on Oxide that can then be used to deploy Kubernetes clusters.

== Build

Build the binary using +make+.

[source,sh]

make

== Deployment

Upload the built binary somewhere accessible from Rancher. The binary name must match the format +docker-machine-driver-*+ (e.g., +docker-machine-driver-oxide+) otherwise Rancher will error when trying to activate the node driver.

Ensure your +kubectl+ context is configured to use your Rancher Kubernetes cluster.

Create the following Kubernetes manifest.

.oxide-nodedriver.yaml [source,yaml]


apiVersion: management.cattle.io/v3 kind: NodeDriver metadata: name: oxide annotations: privateCredentialFields: token publicCredentialFields: host,project finalizers:

  • controller.cattle.io/node-driver-controller spec: active: true addCloudCredential: true builtin: false checksum: <SHA256SUM_OF_BINARY> description: "Oxide Rancher node driver." displayName: oxide externalId: "" uiUrl: "" url: "https://example.com/docker-machine-driver-oxide"

Apply the Kubernetes manifest to create the Oxide Rancher node driver.

[source,sh]

kubectl apply -f oxide-nodedriver.yaml

# Structs

Driver is the Oxide Rancher machine driver.