traefik/vendor/github.com/docker/libcompose/project/project_config.go
Vincent Demeester b7daa2f3a4 Update traefik dependencies (docker/docker and related) (#1823)
Update traefik dependencies (docker/docker and related)

- Update dependencies
- Fix compilation problems
- Remove vdemeester/docker-events (in docker api now)
- Remove `integration/vendor`
- Use `testImport`
- update some deps.
- regenerate the lock from scratch (after a `glide cc`)
2017-07-06 16:28:13 +02:00

27 lines
732 B
Go

package project
import (
"github.com/docker/libcompose/config"
"gopkg.in/yaml.v2"
)
// ExportedConfig holds config attribute that will be exported
type ExportedConfig struct {
Version string `yaml:"version,omitempty"`
Services map[string]*config.ServiceConfig `yaml:"services"`
Volumes map[string]*config.VolumeConfig `yaml:"volumes"`
Networks map[string]*config.NetworkConfig `yaml:"networks"`
}
// Config validates and print the compose file.
func (p *Project) Config() (string, error) {
cfg := ExportedConfig{
Version: "2.0",
Services: p.ServiceConfigs.All(),
Volumes: p.VolumeConfigs,
Networks: p.NetworkConfigs,
}
bytes, err := yaml.Marshal(cfg)
return string(bytes), err
}