mirror of
https://github.com/status-im/consul.git
synced 2025-02-21 09:58:26 +00:00
This updates the testing/deployer (aka "topology test") framework to conditionally configure and launch catalog constructs using v2 resources. This is controlled via a Version field on the Node construct in a topology.Config. This only functions for a dataplane type and has other restrictions that match the rest of v2 (no peering, no wanfed, no mesh gateways). Like config entries, you can statically provide a set of initial resources to be synced when bringing up the cluster (beyond those that are generated for you such as workloads, services, etc). If you want to author a test that can be freely converted between v1 and v2 then that is possible. If you switch to the multi-port definition on a topology.Service (aka "workload/instance") then that makes v1 ineligible. This also adds a starter set of "on every PR" integration tests for single and multiport under test-integ/catalogv2
39 lines
817 B
Cheetah
39 lines
817 B
Cheetah
resource "docker_container" "{{.PodName}}" {
|
|
name = "{{.PodName}}"
|
|
image = docker_image.pause.image_id
|
|
hostname = "{{.PodName}}"
|
|
restart = "always"
|
|
dns = ["{{.DNSAddress}}"]
|
|
|
|
{{- range $k, $v := .Labels }}
|
|
labels {
|
|
label = "{{ $k }}"
|
|
value = "{{ $v }}"
|
|
}
|
|
{{- end }}
|
|
|
|
depends_on = [
|
|
docker_container.{{.DockerNetworkName}}-coredns,
|
|
docker_container.{{.DockerNetworkName}}-forwardproxy,
|
|
]
|
|
|
|
{{- range .Ports }}
|
|
ports {
|
|
internal = {{.}}
|
|
}
|
|
{{- end }}
|
|
|
|
{{- range .Node.Addresses }}
|
|
networks_advanced {
|
|
name = docker_network.{{.DockerNetworkName}}.name
|
|
ipv4_address = "{{.IPAddress}}"
|
|
}
|
|
{{- end }}
|
|
}
|
|
|
|
output "ports_{{.Node.Cluster}}_{{.Node.Partition}}_{{.Node.Name}}" {
|
|
value = {
|
|
for port in docker_container.{{.PodName}}.ports : port.internal => port.external
|
|
}
|
|
}
|