}
for _, elem := range yamlTopo.Volumes {
- s.volumes = append(s.volumes, elem)
+ volumeMap := elem["volume"].(VolumeConfig)
+ hostDir := volumeMap["host-dir"].(string)
+ s.volumes = append(s.volumes, hostDir)
}
s.containers = make(map[string]*Container)
github.com/edwarnicke/govpp v0.0.0-20220311182453-f32f292e0e91
github.com/edwarnicke/vpphelper v0.0.0-20210617172001-3e6797de32c3
github.com/stretchr/testify v1.7.0
- gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
+ gopkg.in/yaml.v3 v3.0.1
)
require (
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
---
volumes:
- - server-share
- - client-share
+ - volume: &server-vol
+ host-dir: server-share
+ - volume: &client-vol
+ host-dir: client-share
containers:
- name: "server-vpp"
volumes:
- - host-dir: "server-share"
+ - <<: *server-vol
container-dir: "/tmp/server-share"
is-default-work-dir: true
- host-dir: "/tmp/server"
container-dir: "/tmp/server"
- name: "client-vpp"
volumes:
- - host-dir: "client-share"
+ - <<: *client-vol
container-dir: "/tmp/client-share"
is-default-work-dir: true
- host-dir: "/tmp/client"
container-dir: "/tmp/client"
- name: "server-application"
volumes:
- - host-dir: "server-share"
+ - <<: *server-vol
container-dir: "/tmp/server-share"
is-default-work-dir: true
- name: "client-application"
volumes:
- - host-dir: "client-share"
+ - <<: *client-vol
container-dir: "/tmp/client-share"
is-default-work-dir: true
---
volumes:
- - shared-vol
+ - volume: &shared-vol
+ host-dir: shared-vol
# $HST_DIR will be replaced during runtime by path to hs-test directory
containers:
- name: "vpp"
volumes:
- - host-dir: "shared-vol"
+ - <<: *shared-vol
container-dir: "/tmp/vpp"
is-default-work-dir: true
- name: "envoy"
volumes:
- host-dir: "$HST_DIR/envoy/proxy.yaml"
container-dir: "/etc/envoy/envoy.yaml"
- - host-dir: "shared-vol"
+ - <<: *shared-vol
container-dir: "/tmp/vpp-envoy"
is-default-work-dir: true
- host-dir: "$HST_DIR/envoy"
---
volumes:
- - shared-vol
+ - volume: &shared-vol
+ host-dir: shared-vol
containers:
- name: "vpp"
volumes:
- - host-dir: "shared-vol"
+ - <<: *shared-vol
container-dir: "/tmp/vpp"
is-default-work-dir: true
- name: "nginx"
volumes:
- - host-dir: "shared-vol"
+ - <<: *shared-vol
container-dir: "/tmp/nginx"
is-default-work-dir: true
image: "hs-test/nginx-ldp"
- is-optional: true
\ No newline at end of file
+ is-optional: true
type NetDevConfig map[string]interface{}
type ContainerConfig map[string]interface{}
+type VolumeConfig map[string]interface{}
type YamlTopology struct {
Devices []NetDevConfig `yaml:"devices"`
Containers []ContainerConfig `yaml:"containers"`
- Volumes []string `yaml:"volumes"`
+ Volumes []VolumeConfig `yaml:"volumes"`
}
func AddAddress(device, address, ns string) error {