k0s

package module
v0.1.17 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2024 License: MIT Imports: 3 Imported by: 11

README

Kubernot (k0s)

go.dev reference License DockerHub Buildkite


Not Kubernetes

Kubernot is an experimental SSH alternative with Kubernetes-like UX, where

  • scp becomes kubectl cp
  • ssh becomes kubectl exec
  • ssh -L becomes kubectl port-forward

The name Kubernot is inspired by many.

It shortens to k0s, mimicking the spelling of k8s, because Kubernot is made to resemble Kubernetes, while not being a distro of it.

The shortened form should be pronounced as "chaos" not "kay-zero-es" in order to distinguish from Mirantis' k0s.

Unlike SSH, Kubernot adopts the client-agent-server model from Kubernetes that allows access to nodes behind a firewall.

client agent server
SSH ssh - sshd
Kubernot kubectl knot kuber
Kubernetes kubectl kubelet kube-apiserver

Kubernot has two major components: kuber and knot:

  • Kuber implements a minimal subset of The Kubernetes API, and is therefore compatible with kubectl.

    It is directly modelled after kube-apiserver.

  • Knot is the equivalent of kubelet in Kubernetes.

    It runs on targets like Windows / BSD / Android / Chrome (via WASI), since it only deals with processes, sockets and files - no container support is required.


Getting Started

k0s is the multicall binary of Kubernot.

kubectl is also bundled as a subcommand for convenience.

To install it, run:

$ go install k0s.io/cmd/k0s@latest

To start the server, run:

$ k0s kuber

then point kubectl to http://127.0.0.1:8000 and print the version:

$ k0s kubectl -s http://127.0.0.1:8000 version

Credits

Documentation

Index

Constants

View Source
const (
	DEFAULT_HUB_ADDRESS = "https://k0s.up.railway.app"
	DEFAULT_UI_ADDRESS  = "https://k0s.vercel.app"

	REDIR_PROXY_PORT  = ":1081"
	SOCKS5_PROXY_PORT = ":1080"
	DOH_PROXY_PORT    = ":53"
	HUB_PORT          = ":8000"

	MAX_WS_MESSAGE = 8 * 1024 * 1024
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Dialer added in v0.1.6

type Dialer interface {
	Dial(*url.URL) (net.Conn, error)
}

type IDer

type IDer interface {
	ID() string
}

type Manager

type Manager interface {
	Add(Tider)
	Del(string)
	Has(string) bool
	Get(string) Tider
	Keys() []string
	Values() []Tider
	Size() int
}

type Namer

type Namer interface {
	Name() string
}

type Tider

type Tider interface {
	Namer
	Timer
	IDer
}

type Timer

type Timer interface {
	Time() time.Time
}

Directories

Path Synopsis
cmd module
conntroll module
k0s module
pkg
api
log
agent Module
apiserver Module
cli Module
client Module
console Module
dial Module
distro Module
dohserver Module
exporter Module
fonts Module
fzf Module
gitd Module
hub Module
jsondns Module
manager Module
middleware Module
plugin Module
reverseproxy Module
rng Module
simple Module
tunnel Module
ui Module
utils Module
uuid Module
version Module
wrap Module
third_party module

Jump to

Keyboard shortcuts

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