Skip to content

hyperspike/hyperctl

Repository files navigation

Hyperctl

Build Status Software License

Hyperctl is under heavy development, if a feature is missing come back in a few weeks.

To see a view of planned features go to the TODO Page

About

The goal is to create a scalable, secure, bootstrapping mechanism, that reduces friction between AWS and kubernetes clusters.

Hyperctl is an initial deployment mechanism for Hyperspike Kubernetes infrastructure. While terraform, eks, kops, cluster-api and others are decent bootstrapping mechanisms they don't fully capture bootstrapped self hosted kubernetes while maintaining a GitOps audit trail.

The Hyperspike stack includes an Alpine base image, with cri-o container daemon, with crun container runtime, And cilium cni. Which necessitates a custom configured Linux kernel for full eBPF support. On AWS cilium is setup in ENI mode without kube-proxy.

Hyperctl is designed to work with Gitifold to provide fully a full Infra and Application pipeline.

Getting Started

Get hyperctl, you can download binaries from the release page: https://github.com/hyperspike/hyperctl/releases/latest

First Cluster

You're going to need an AWS Account and API Credentials.

export AWS_DEFAULT_REGION=us-east-2
export AWS_SECRET_ACCESS_KEY=<herp-derp>
export AWS_ACCESS_KEY_ID=<derp-herp>

Then create your first cluster:

hyperctl boot

In addition to creating a cluster, the create command will drop 2 files into your current directory, a SSH key and kubeconfig, these can be used to ssh to your new bastion host and use your new cluster.

Building From Source

To build hyperctl from source you will need Golang and Make.

go get -u hyperspike.io/hyperctl
cd $GOPATH/src/hyperspike.io/hyperctl
make local_install