From d1f6e241e71831b2cd64a86d7e7b83f85222ada2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= Date: Tue, 5 Apr 2016 11:05:27 +0200 Subject: [PATCH] Add DUPLICITY_DOCKER_IMAGE parameter --- README.md | 4 ++++ conplicity.go | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ea0373db..b66704a3 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,10 @@ $ docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --rm -ti \ ## Environment variables +### DUPLICITY_DOCKER_IMAGE + +The image to use to launch duplicity. Default is `camptocamp/duplicity:latest`. + ### DUPLICITY_TARGET_URL Target URL passed to duplicity. diff --git a/conplicity.go b/conplicity.go index f79824c5..da8c195f 100644 --- a/conplicity.go +++ b/conplicity.go @@ -9,6 +9,7 @@ import ( ) type Environment struct { + Image string DuplicityTargetURL string AWSAccessKeyID string AWSSecretAccessKey string @@ -23,7 +24,6 @@ type Conplicity struct { *docker.Client *Environment Hostname string - Image string } func main() { @@ -46,9 +46,6 @@ func main() { vols, err := c.ListVolumes(docker.ListVolumesOptions{}) checkErr(err, "Failed to list Docker volumes: %v", 1) - // TODO: Make it variable - c.Image = "camptocamp/duplicity:latest" - err = c.pullImage() checkErr(err, "Failed to pull image: %v", 1) @@ -62,6 +59,7 @@ func main() { func (c *Conplicity) getEnv() (err error) { c.Environment = &Environment{ + Image: os.Getenv("DUPLICITY_DOCKER_IMAGE"), DuplicityTargetURL: os.Getenv("DUPLICITY_TARGET_URL"), AWSAccessKeyID: os.Getenv("AWS_ACCESS_KEY_ID"), AWSSecretAccessKey: os.Getenv("AWS_SECRET_ACCESS_KEY"), @@ -72,6 +70,10 @@ func (c *Conplicity) getEnv() (err error) { SwiftRegionName: os.Getenv("SWIFT_REGIONNAME"), } + if c.Image == "" { + c.Image = "camptocamp/duplicity:latest" + } + return }