kubernetes
ℹ️
This module requires that Risor has been compiled with the k8s Go build tag.
When compiling manually, make sure you specify -tags k8s (opens in a new tab).
Module k8s provides methods for getting, listing, deleting and updating resources using the Kubernetes API.
Functions
get
Function signature
get(kind string, options object) objectCan be used to get a single object or a list of objects from the Kubernetes API.
Example
# get all namespaces
k8s.get("namespace.v1")
# get a specific namespace
k8s.get("namespace.v1", {"name": "default"})
# get pods by labels
k8s.get("pod.v1", {"namespace": "kube-system", "selector": "k8s-app=kube-apiserver" })
# get a specific pod by name
k8s.get("pod.v1", {"namespace": "kube-system", "name": "kube-apiserver-i-036c4abb51cd79a10"})
# get pods not running
k8s.get("pod.v1", {"fieldSelector": "status.phase!=Running"})delete
Function signature
delete(kind string, options object) objectCan be used to delete a single object or a list of objects from the Kubernetes API.
Example
# delete pods not running
k8s.delete("pod.v1", {"fieldSelector": "status.phase!=Running"})apply
Function signature
apply(manifest string, options object)Can be used to apply (create or update) a kubernetes object from a JSON or YAML manifest
Example
manifest := string(os.read_file("/tmp/foo.yaml"))
apply(manifest, {"namespace": "my-namespace"})