Kubernetes backend for Pants
Warning This plugin is in development. No stability is guaranteed! Contributions welcome.
This backends implements targets for working with Kubernetes clusters using raw YAML.
- kubectl for cluster operations
Targets
There's currently three targets for pants-backend-k8s:
k8s_source
A file that can be passed into other k8s fields that are not source fields. For example, k8s_object.template.
k8s_source(
name="namespace.yaml",
source="namespace.yaml",
)
| Argument | Meaning | Default value |
|---|---|---|
name | The target name | Same as any other target, which is the directory name |
source | The raw file | Required |
decsription | A description of the target | |
tags | List of tags | [] |
This'll eventually be automated like other rules once a suitable heuristic for generation with tailor is found. PRs welcome!
k8s_object
Input for a kubernetes command, either generated via kustomize or via k8s_source.
k8s_object(
name="k8s",
description="the chat backend"
template=[":kustomize"],
namespace="chat-app",
cluster="prod",
)
| Argument | Meaning | Default value |
|---|---|---|
name | The target name | Same as any other target, which is the directory name |
template | The target to act on | Required |
namespace | Namespace to target | Optional, will use default kubectl namespace |
cluster | cluster to target | Optional, will use default kubectl cluster |
decsription | A description of the target | |
tags | List of tags | [] |
k8s_object is a generator for kubernetes target parametrized by the potential commands that are available: apply,
create, get, describe, replace, and delete.
k8s_objects
A collection of kubernetes objects that should be managed together.
k8s_objects(
name="my-service",
description="all components of service-x"
objects=[":namespace", ":deployment"],
)
| Argument | Meaning | Default value |
|---|---|---|
name | The target name | Same as any other target, which is the directory name |
objects | k8s_object targets that should be managed | Required |
decsription | A description of the target | |
tags | List of tags | [] |
Like k8s_object, k8s_objects is a generator for parametrized targets for the commands that are available: apply,
create, get, describe, replace, and delete.