Extensible formula to install kubernetes on MacOS, Windows, and GNU/Linux. Support for:
- server (https://kubernetes.io) [Linux OS]
- node (https://kubernetes.io) [all OS]
- client (https://kubernetes.io, aliases) [all OS]
- operator (sdk, etc)
- operators (https://operatorhub.io) [all OS]
- devtools (extensive collection of tools, kubectx, kubens, cue, attr2rbac, dive, stern, etc) [all OS]
- devlibs (kubernetes clients, source software) [all OS]
- sigs (https://github.com/kubernetes-sigs, special interest groups) [all OS]
- crimgr (cri-resource-manager, etc) [linux]
The default kubernetes.sigs state includes the following:
- kind (https://github.com/kubernetes-sigs/kind) [all OS]
- krew (https://github.com/kubernetes-sigs/krew) [linux, darwin]?
- kubebuilder (https://github.com/kubernetes-sigs/kubebuilder [linux, darwin]?
The default kubernetes.devtools state includes the following:
- audit2rbac (https://github.com/liggitt/audit2rbac) [all OS]
- devspace (https://devspace.sh) [all OS]
- dive (https://github.com/wagoodman/dive) [all OS]
- cue (https://github.com/cuelang/cue) [all OS]
- istio (https://istio.io) [all OS]
- k3s (https://k3s.io) [all OS)
- kudo (https://kudo.dev) [darwin, linux]?
- kubectx (https://github.com/ahmetb/kubectx) [all OS]
- kubens (https://github.com/ahmetb/kubens) [all OS]
- linkerd2 (https://linkerd.io) [all OS]
- minikube (https://github.com/kubernetes/minikube) [all OS]
- octant (https://github.com/vmware-tanzu/octant) [all OS]
- skaffold (https://skaffold.dev) [all OS]
- stern (https://github.com/wercker/stern) [all OS]
The default kubernetes.operator state includes:
- operator-sdk (https://sdk.operatorframework.io/) [darwin, linux]
- helm-operator (https://sdk.operatorframework.io/) [darwin, linux]
- ansible-operator (https://sdk.operatorframework.io/) [darwin, linux]
The default kubernetes.operators state [all OS] includes (from https://operatorhub.io):
- akka-cluster (https://github.com/lightbend/akka-cluster-operator) [all OS]
- grafana (https://github.com/integr8ly/grafana-operator) [all OS]
- prometheus (https://github.com/coreos/prometheus-operator) [all OS]
- istio (https://github.com/banzaicloud/istio-operator) [all OS]
- shell-operator (https://github.com/flant/shell-operator) [all OS]
The default kubernetes.devlibs state includes [all OS]:
- Java client library for kubernetes (https://github.com/kubernetes-client/java)
- Python client library for kubernetes (https://github.com/kubernetes-client/python)
- Csharp client library for kubernetes (https://github.com/kubernetes-client/csharp)
- Javascript client library for kubernetes (https://github.com/kubernetes-client/javascript)
- Python kubernetes-operator library (https://github.com/zalando-incubator/kopf)
- Simple kubernetes Go client (https://github.com/ericchiang/k8s)
The default kubernetes.crimgr state includes (linux):
- cri CRI Resource Manager (https://github.com/intel/cri-resource-manager)
A SaltStack formula for kubernetes on MacOS, GNU/Linux and Windows.
Table of Contents
See the full SaltStack Formulas installation and usage instructions. If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section. If you want to use this formula, please pay attention to the FORMULA
file and/or git tag
, which contains the currently released version. This formula is versioned according to Semantic Versioning. See Formula Versioning Section for more details.
Commit message formatting is significant!!
Please see How to contribute for more details.
kubernetes
kubernetes.clean
kubernetes.package.repo
kubernetes.package.repo.clean
kubernetes.client
kubernetes.client.clean
kubernetes.server
kubernetes.server.clean
kubernetes.node
kubernetes.node.clean
kubernetes.sigs
kubernetes.sigs.clean
kubernetes.operator
kubernetes.operator.clean
kubernetes.operators
kubernetes.operators.clean
kubernetes.devtools
kubernetes.devtools.clean
kubernetes.devlibs
kubernetes.devlibs.clean
kubernetes.crimgr
kubernetes.crimgr.clean
Meta-state (This is a state that includes other states).
This state installs the kubernetes solution (see https://kubernetes.io)
Meta-state (This is a state that includes other states).
This state removes the kubernetes solution.
This state installs kubernetes package repository only (see https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-using-native-package-management)
This state removes kubernetes package repository only.
This state installs kubernetes cli and libraries only (see https://kubernetes.io/docs/reference/kubectl, (https://kubernetes.io/docs/setup/release/notes/#client-binaries, and https://kubernetes.io/docs/reference/using-api/client-libraries)
This state uninstalls kubernetes cli and libraries only.
This state installs kubernetes server GNU/Linux only (see https://kubernetes.io and https://kubernetes.io/docs/setup/release/notes/#server-binaries)
This state uninstalls kubernetes server GNU/Linux only.
This state installs kubernetes node on Windows/MacOS/Linux only (see https://kubernetes.io/docs/concepts/architecture/nodes)
This state uninstalls kubernetes node on Windows/MacOS/Linux only.
This state installs kubernetes sig archives only
This state uninstalls kubernetes sig archives only
This state installs operator archives only (Linux/MacOS)
This state uninstalls operator archives only (Linux/MacOS)
This state installs operator archives only
This state uninstalls operator archives only
This state installs selected kubernetes developer tools only
- https://github.com/ahmetb/kubectx
- https://github.com/cuelang/cue
- https://github.com/liggitt/audit2rbac
- https://github.com/wagoodman/dive
- https://github.com/wercker/stern
- https://github.com/kubernetes/minikube
- https://devspace.sh
- https://k3s.io
- https://kudo.dev
- https://istio.io
- https://github.com/vmware-tanzu/octant
- https://linkerd.io, and https://github.com/linkerd/linkerd2
- https://github.com/GoogleContainerTools/skaffold
This state uninstalls selected kubernetes developer tools only
This state installs selected kubernetes developer libraries
- https://github.com/kubernetes-client
- https://github.com/zalando-incubator/kopf
- https://github.com/ericchiang/k8s
- https://github.com/ahmetb/kubectl-aliases
This state uninstalls selected kubernetes developer libraries (i.e. kubernetes client libraries, kopf, etc).
This state installs kubernetes cri-resource-manager
This state uninstalls kubernetes cri-resource-manager
This list may be incomplete.
kubernetes.server.package
kubernetes.server.package.clean
kubernetes.server.archive
kubernetes.server.archive.clean
kubernetes.node.package
kubernetes.node.package.clean
kubernetes.node.archive
kubernetes.node.archive.clean
kubernetes.client.package
kubernetes.client.aliases
kubernetes.client.package.clean
kubernetes.client.archive
kubernetes.client.archive.clean
kubernetes.client.binary
kubernetes.client.binary.clean
kubernetes.k3s.binary
kubernetes.k3s.binary.clean
kubernetes.k3s.script
kubernetes.k3s.script.clean
This state installs server packages from repo.
This state uninstalls server packages only
This state installs server archive only
This state uninstalls server archive only
This state installs node packages from repo.
This state uninstalls node packages only
This state installs node archive only
This state uninstalls node archive only
This state installs kubectl package only from repo.
This state installs kubernetes developer aliases to /etc/defaults.
This state uninstalls kubectl package only
This state installs kubectl archive only
This state uninstalls kubectl archive only
This state installs kubectl binary only
This state uninstalls kubectl binary only
This state installs k3s binary only
This state uninstalls k3s binary only
This state installs k3s script only
This state uninstalls k3s script only
Linux testing is done with kitchen-salt
.
- Ruby
- Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]
Where [platform]
is the platform name defined in kitchen.yml
,
e.g. debian-9-2019-2-py3
.
Creates the docker instance and runs the kubernetes
main state, ready for testing.
Runs the inspec
tests on the actual instance.
Removes the docker instance.
Runs all of the stages above in one go: i.e. destroy
+ converge
+ verify
+ destroy
.
Gives you SSH access to the instance for manual testing.