38 lines
1.6 KiB
Smarty
38 lines
1.6 KiB
Smarty
# The cluster. One node by default — add nodes or port mappings by editing this
|
|
# file, then `make cluster reset`.
|
|
#
|
|
# A TEMPLATE rather than a plain kind-config.yaml because a rig is copied and
|
|
# renamed to make a second environment, and both the cluster name and the host
|
|
# port follow the directory. A checked-in literal would make every copy collide
|
|
# on both. ctrl/cluster.sh renders it with sed — not envsubst, which is
|
|
# gettext-base and absent from a minimal Debian, and rig's whole premise is that
|
|
# Docker is the only prerequisite.
|
|
#
|
|
# Substituted by ctrl/cluster.sh: CLUSTER, NODE_IMAGE, HTTP_PORT, HOST_WORKDIR
|
|
# (named without the ${...} braces so this line survives the substitution)
|
|
# The node count is READ BACK from this file by lib/config.sh, so this YAML is
|
|
# the source of truth for it — there is no second place to update.
|
|
kind: Cluster
|
|
apiVersion: kind.x-k8s.io/v1alpha4
|
|
name: ${CLUSTER}
|
|
|
|
# Point containerd at a certs.d directory. registry.sh drops per-host hosts.toml
|
|
# files in there afterwards, so switching registry mode never requires
|
|
# recreating the cluster.
|
|
containerdConfigPatches:
|
|
- |-
|
|
[plugins."io.containerd.grpc.v1.cri".registry]
|
|
config_path = "/etc/containerd/certs.d"
|
|
|
|
nodes:
|
|
- role: control-plane
|
|
image: ${NODE_IMAGE}
|
|
# One NodePort bridged to the host; an in-cluster gateway owns it. There is
|
|
# deliberately no ingress controller — they pin a narrow window of k8s
|
|
# versions, and running a trailing-edge control plane is the point.
|
|
extraPortMappings:
|
|
- containerPort: 30080
|
|
hostPort: ${HTTP_PORT}
|
|
listenAddress: "0.0.0.0"
|
|
protocol: TCP
|