All Projects → dirien → k3sair-cli

dirien / k3sair-cli

Licence: Apache-2.0 license
K3SAIR 🏴‍☠️️ ('Corsair') is a cli for the installation of k3s in an Air-Gapped environment.

Programming Languages

shell
77523 projects
go
31211 projects - #10 most used programming language
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to k3sair-cli

youtube-10k-pods
10,000 Kubernetes Pods for 10,000 Subscribers
Stars: ✭ 73 (+217.39%)
Mutual labels:  k3s
k8s-gitops
No description or website provided.
Stars: ✭ 23 (+0%)
Mutual labels:  k3s
terraform-metal-k3s
Manage K3s (k3s.io) region clusters on Equinix Metal
Stars: ✭ 41 (+78.26%)
Mutual labels:  k3s
k3d-action
A GitHub Action to run lightweight ephemeral Kubernetes clusters during workflow. Fundamental advantage of this action is a full customization of embedded k3s clusters. In addition, it provides a private image registry and multi-cluster support.
Stars: ✭ 137 (+495.65%)
Mutual labels:  k3s
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (-8.7%)
Mutual labels:  k3s
k3s-vagrant
k3s k8s cluster playground
Stars: ✭ 39 (+69.57%)
Mutual labels:  k3s
kube-hetzner
Optimized and Maintenance-free Kubernetes on Hetzner Cloud in one command!
Stars: ✭ 937 (+3973.91%)
Mutual labels:  k3s
k8s-gitops
Homelab GitOps repository. Cluster definition state via code.
Stars: ✭ 47 (+104.35%)
Mutual labels:  k3s
falco-the-kubernetes-response-engine-using-openfaas-functions
Demonstrating how you can take an action to your intrusions detected by Falco using OpenFaaS functions
Stars: ✭ 23 (+0%)
Mutual labels:  k3s
helm-charts
My collection of Helm charts.
Stars: ✭ 62 (+169.57%)
Mutual labels:  k3s
k3s-minio-deployment
Instructions and manifest files for deploying MinIO Object Storage on K3s.
Stars: ✭ 46 (+100%)
Mutual labels:  k3s
k3s-pi-hole
Easy Deploy of Pi-hole to K3s on RPi 4B 🥧 🕳
Stars: ✭ 48 (+108.7%)
Mutual labels:  k3s
htk8s
HTPC services running on Kubernetes
Stars: ✭ 69 (+200%)
Mutual labels:  k3s
infrastructure
Flux based GitOps repository for my home lab infrastructure.
Stars: ✭ 14 (-39.13%)
Mutual labels:  k3s
build-a-microcloud
Resources for building your own (micro) clouds!
Stars: ✭ 19 (-17.39%)
Mutual labels:  k3s
azure-k3s-cluster
An Azure template to deploy a lightweight Kubernetes cluster using k3s.io
Stars: ✭ 46 (+100%)
Mutual labels:  k3s
template-cluster-k3s
My highly opinionated template for deploying a single Kubernetes (k3s) cluster with Ansible and Terraform backed by Flux, SOPS, GitHub Actions, Renovate and more!
Stars: ✭ 861 (+3643.48%)
Mutual labels:  k3s
k3d-demo
Demo of k3d: Tool to run k3s (Kubernetes) in Docker
Stars: ✭ 197 (+756.52%)
Mutual labels:  k3s
k3ai-core
K3ai-core is the core library for the GO installer. Go installer will replace the current bash installer
Stars: ✭ 23 (+0%)
Mutual labels:  k3s
paas-templates
Bosh, CFAR, CFCR and OSB services templates for use with COA (cf-ops-automation) framework
Stars: ✭ 16 (-30.43%)
Mutual labels:  k3s

K3SAIR 🏴‍☠️️ ('Corsair')

k3sair is a cli for the installation of k3s in an Air-Gapped environment.

The idea is born, during the installation attempt in my company. So we are using this cli too, for our own installations. It is build completely on zero-trust, k3sair is not saving anything.

It is inspired by k3sup, which does a great work.

TL;DR 🚀

Install via homebrew:

brew tap dirien/homebrew-dirien
brew install k3sair

Linux or Windows user, can directly download (or use curl/wget) the binary via the release page.

Known Limitation 😵

k3sair is still under development and supports at the moment only amd64 architecture and no version selection. It is always the binary you provide.

And there is no HA Setup. The install command is for a single control plane server.

Prerequisite 📚

You should have access to a http server hosting the files from k3s release page. We use Artifactory.

  • k3s
  • k3s-airgap-images-<arch>.tar.gz (See Known Limitation)

Usage ⚙️

Install 💾

asciicast

k3sair install -h

Usage:
  k3sair install [flags]

Flags:
      --arch string      Enter the target sever os architecture (amd64 supported atm)
      --base string      Enter the on site proxy repository url (e.g Artifactory)
  -h, --help             help for install
      --ip string        Public IP or FQDN of node
      --mirror string    Mirrored Registry. (Default: '')
      --ssh-key string   The ssh key to use for remote login
      --sudo              Use sudo for installation. (Default: true) (default true)
      --user string      Username for SSH login (Default: root (default "root")

Examples:
    k3sair install \
    --ssh-key /ssh/cluster \
    --arch amd64 \
    --base "https://repo.local/" \
    --ip 127.0.0.1 \
    --user core

Join 🚪

asciicast

k3sair join -h   

Usage:
  k3sair join [flags]

Flags:
      --arch string               Enter the target sever os architecture (amd64 supported atm)
      --base string               Enter the on site proxy repository url (e.g Artifactory)
      --control-plane-ip string   Public IP or FQDN of an existing k3s server
  -h, --help                      help for join
      --ip string                 Public IP or FQDN of node
      --mirror string             Mirrored Registry. (Default: '')
      --ssh-key string            The ssh key to use for remote login
      --sudo                      Use sudo for installation. (Default: true) (default true)
      --tls-san string            Add additional hostname or IP as a Subject Alternative Name in the TLS cert
      --user string               Username for SSH login (Default: root (default "root")
      

Examples:
k3sair join \
--ssh-key /ssh/cluster \
--arch amd64 \
--base "https://repo.local/" \
--ip 127.0.0.2 \
--control-plane-ip 127.0.0.1 \
--user core

Kubeconfig

asciicast

k3sair kubeconfig -h
Get the kubeconfig from the k3s control plane server

Usage:
  k3sair kubeconfig [flags]

Flags:
  -h, --help             help for kubeconfig
      --ip string        Public IP or FQDN of node
      --ssh-key string   The ssh key to use for remote login
      --sudo              Use sudo for installation. (Default: true) (default true)
      --user string      Username for SSH login (Default: root (default "root")

Examples:
k3sair kubeconfig \
--ssh-key ~/.ssh/id_rsa
--ip 127.0.0.1

Contributing 🤝

Contributing via GitHub

TBA

License

Apache License, Version 2.0

Roadmap 🛣️

  • K3s private registry support link
  • tls-san support
  • Kubeconfig: change server address 127.0.0.1 to host ip/name
  • INSTALL_K3S_EXEC support
  • GitHub Actions
  • Release via goreleaser
  • Rework codebase
  • HA Support
  • Tests
  • ...

Libraries & Tools 🔥

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].