Skip to content

Commit f566329

Browse files
author
Keerthan Mala
committed
Use docker driver for storage layer
1 parent 57902bf commit f566329

22 files changed

Lines changed: 221 additions & 1559 deletions

boot.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ import (
1313
"github.com/deis/builder/pkg/gitreceive"
1414
"github.com/deis/builder/pkg/healthsrv"
1515
"github.com/deis/builder/pkg/sshd"
16-
_ "github.com/deis/builder/pkg/storage/driver/azure"
17-
"github.com/deis/builder/pkg/storage/driver/factory"
1816
"github.com/deis/builder/pkg/sys"
1917
pkglog "github.com/deis/pkg/log"
18+
storagedriver "github.com/docker/distribution/registry/storage/driver"
19+
_ "github.com/docker/distribution/registry/storage/driver/azure"
20+
"github.com/docker/distribution/registry/storage/driver/factory"
21+
_ "github.com/docker/distribution/registry/storage/driver/gcs"
22+
_ "github.com/docker/distribution/registry/storage/driver/s3-aws"
2023
kcl "k8s.io/kubernetes/pkg/client/unversioned"
2124
)
2225

@@ -60,7 +63,12 @@ func main() {
6063
log.Printf("Error getting storage parameters (%s)", err)
6164
os.Exit(1)
6265
}
63-
storageDriver, err := factory.Create(cnf.StorageType, storageParams)
66+
var storageDriver storagedriver.StorageDriver
67+
if cnf.StorageType == "minio" {
68+
storageDriver, err = factory.Create("s3", storageParams)
69+
} else {
70+
storageDriver, err = factory.Create(cnf.StorageType, storageParams)
71+
}
6472
if err != nil {
6573
log.Printf("Error creating storage driver (%s)", err)
6674
os.Exit(1)
@@ -123,7 +131,12 @@ func main() {
123131
log.Printf("Error getting storage parameters (%s)", err)
124132
os.Exit(1)
125133
}
126-
storageDriver, err := factory.Create(cnf.StorageType, storageParams)
134+
var storageDriver storagedriver.StorageDriver
135+
if cnf.StorageType == "minio" {
136+
storageDriver, err = factory.Create("s3", storageParams)
137+
} else {
138+
storageDriver, err = factory.Create(cnf.StorageType, storageParams)
139+
}
127140
if err != nil {
128141
log.Printf("Error creating storage driver (%s)", err)
129142
os.Exit(1)

glide.lock

Lines changed: 62 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

glide.yaml

Lines changed: 26 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,37 @@
11
package: github.com/deis/builder
2+
ignore:
3+
- appengine
4+
- appengine/memcache
5+
- appengine/datastore
6+
- appengine/user
27
import:
8+
- package: github.com/kelseyhightower/envconfig
9+
- package: github.com/gorilla/mux
10+
version: e444e69cbd2e2e3e0749a2f3c717cec491552bbf
311
- package: github.com/Masterminds/cookoo
12+
version: 110a04ff7dc3e7c9b86c1a2413906a16a2bb65cb
413
subpackages:
514
- log
615
- safely
7-
- package: github.com/aws/aws-sdk-go
8-
version: 1.1.10
9-
subpackages:
10-
- aws
11-
- aws/awserr
12-
- aws/credentials
13-
- aws/credentials/ec2rolecreds
14-
- aws/ec2metadata
15-
- aws/session
16-
- service/s3
17-
- package: github.com/codegangsta/cli
18-
- package: github.com/deis/pkg
19-
subpackages:
20-
- log
21-
- time
22-
- package: github.com/kelseyhightower/envconfig
23-
- package: github.com/pborman/uuid
16+
- fmt
2417
- package: golang.org/x/crypto
18+
version: f7445b17d61953e333441674c2d11e91ae4559d3
2519
subpackages:
2620
- ssh
27-
- package: golang.org/x/net
28-
version: e7da8edaa52631091740908acaf2c2d4c9b3ce90
29-
subpackages:
30-
- context
31-
- package: golang.org/x/oauth2
32-
version: 045497edb6234273d67dbc25da3f2ddbc4c4cacf
33-
subpackages:
34-
- google
35-
- jwt
36-
- package: google.golang.org/api
37-
version: e6294e63a06b2be522ff3d328d8cacded0b1bd31
38-
subpackages:
39-
- storage/v1
40-
- package: google.golang.org/cloud
41-
version: e7549b8fad79f1f0b4cb2977d9acc45232a71894
42-
subpackages:
43-
- storage
4421
- package: gopkg.in/yaml.v2
45-
- package: k8s.io/kubernetes
46-
subpackages:
47-
- pkg/api
48-
- pkg/api/errors
49-
- pkg/client/unversioned
50-
- pkg/fields
51-
- pkg/labels
52-
- pkg/util/wait
53-
- pkg/watch
54-
- package: github.com/docker/docker
55-
version: v1.9.0
56-
subpackages:
57-
- pkg/units
58-
- package: google.golang.org/grpc
59-
version: 986912c9070a060e59e0f28ac7c87f89f72b9388
60-
subpackages:
61-
- credentials/oauth
62-
- package: github.com/Azure/azure-sdk-for-go
63-
version: 95361a2573b1fa92a00c5fc2707a80308483c6f9
22+
version: eca94c41d994ae2215d455ce578ae6e2dc6ee516
23+
- package: github.com/pborman/uuid
24+
- package: github.com/deis/pkg
25+
version: b8679a4d7fe2fe0393c66c620eff7df86c9f7982
6426
subpackages:
65-
- storage
27+
- time
28+
- log
29+
- package: github.com/codegangsta/cli
30+
version: a65b733b303f0055f8d324d805f393cd3e7a7904
31+
- package: k8s.io/kubernetes
32+
version: ~1.1
33+
- package: github.com/arschles/assert
34+
version: 6882f85ccdc7c1822b146d1a6b0c2c48f91b5140
35+
- package: github.com/docker/distribution
36+
repo: https://github.com/kmala/distribution
37+
vcs: git

pkg/conf/config.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const (
1515
minioPortEnvVar = "DEIS_MINIO_SERVICE_PORT"
1616
)
1717

18-
type Parameters map[string]string
18+
type Parameters map[string]interface{}
1919

2020
// EnvConfig is a convenience function to process the envconfig (
2121
// https://github.com/kelseyhightower/envconfig) based configuration environment variables into
@@ -43,7 +43,7 @@ func GetBuilderKey() (string, error) {
4343
}
4444

4545
func GetStorageParams(env sys.Env) (Parameters, error) {
46-
params := make(map[string]string)
46+
params := make(map[string]interface{})
4747
files, err := ioutil.ReadDir(storageCredLocation)
4848
if err != nil {
4949
return nil, err
@@ -60,13 +60,15 @@ func GetStorageParams(env sys.Env) (Parameters, error) {
6060
params[file.Name()] = string(data)
6161
}
6262
}
63+
params["bucket"] = params["builder-bucket"]
64+
params["container"] = params["builder-container"]
6365
if env.Get("BUILDER_STORAGE") == "minio" {
6466
mHost := env.Get(minioHostEnvVar)
6567
mPort := env.Get(minioPortEnvVar)
6668
params["regionendpoint"] = fmt.Sprintf("http://%s:%s", mHost, mPort)
6769
params["secure"] = "false"
6870
params["region"] = "us-east-1"
69-
params["builder-bucket"] = "git"
71+
params["bucket"] = "git"
7072
}
7173

7274
return params, nil

0 commit comments

Comments
 (0)