TopologyConfig (kind: topologyconfig)
The registry entry for one topology type (kubernetes, dockerswarm, azure-native, …): its
expected component roles. meta.name is the type key itself — matched against a real
workspace document’s inline spec.topology[].type.
Promoted to its own kind (rather than a bare list on configuration) for the
same reason as providerconfig — each topology type gets its own file.
Schema
spec.description— description of the topology typespec.components[]— expected component roles, each:role— matched against aworkspaceresource’srolefielduses_module— whether a resource with this role must have a module attachedrequired— whether at least one resource with this role must be presentmin_count/max_count— instance count bounds (max_count: 0means unlimited)
spec.additional_components— allow component roles not listed above (defaultfalse)
Example
apiVersion: strata.huybrechts.xyz/v2
kind: topologyconfig
meta:
name: kubernetes
spec:
description: "Kubernetes topology type registry"
additional_components: true
components:
- role: control-plane
description: "Cluster control plane"
required: true
min_count: 1
max_count: 1
- role: worker
description: "Worker node pool"
required: false
min_count: 0
max_count: 0