Skip to content

oscarhermoso/binarylane-cloud-controller-manager

Repository files navigation

BinaryLane Cloud Controller Manager

A Kubernetes Cloud Controller Manager implementation for BinaryLane cloud provider.

Features

This cloud controller manager implements the following Kubernetes cloud provider interfaces:

  • Instances Controller: Manages node lifecycle and updates node metadata with cloud-specific information
  • Zones Controller: Provides availability zone information for nodes
  • Routes Controller: Manages pod network routes using BinaryLane VPC Route Entries

The cloud controller manager automatically applies the following labels to nodes:

Label Description
binarylane.com/host Physical host machine name (if running on shared infrastructure)
node.kubernetes.io/instance-type Server size (e.g., std-2vcpu)
topology.kubernetes.io/region Server region (e.g., syd, per)
topology.kubernetes.io/zone Same as region, may update to distinguish between data centres in the future

Installation

Prerequisites

  • A Kubernetes cluster running on BinaryLane servers
  • BinaryLane API token with appropriate permissions
  • Kubernetes 1.24+
  • Helm 3.8+ (for OCI support)

Install with Helm (Recommended)

# Create a secret with your API token
kubectl create secret generic binarylane-api-token \
  --from-literal=api-token="YOUR_API_TOKEN" \
  -n kube-system

# Install the chart from GitHub Container Registry
helm install binarylane-ccm \
  oci://ghcr.io/oscarhermoso/charts/binarylane-cloud-controller-manager \
  --version 0.1.2 \
  --namespace kube-system \
  --set cloudControllerManager.secret.name="binarylane-api-token"

For more configuration options, see the Helm chart documentation.

Manual Deployment with Kubernetes Manifests

  1. Create a secret with your BinaryLane API token:
kubectl create secret generic binarylane-api-token \
  --from-literal=api-token=YOUR_BINARYLANE_API_TOKEN \
  -n kube-system
  1. Deploy the RBAC configuration:
kubectl apply -f https://raw.githubusercontent.com/oscarhermoso/binarylane-cloud-controller-manager/main/deploy/kubernetes/rbac.yaml
  1. Deploy the cloud controller manager:
kubectl apply -f https://raw.githubusercontent.com/oscarhermoso/binarylane-cloud-controller-manager/main/deploy/kubernetes/deployment.yaml

Configuration

Environment Variables

  • BINARYLANE_ACCESS_TOKEN (required): Your BinaryLane API token

Contributing

Want to help? Check out CONTRIBUTING.md for development setup, testing, and code guidelines.

About

Kubernetes Cloud Controller Manager for Binary Lane, for reliable & affordable Australian VPS hosting

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •