@@ -13,9 +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"
1716 "github.com/deis/builder/pkg/sys"
1817 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"
1923 kcl "k8s.io/kubernetes/pkg/client/unversioned"
2024)
2125
@@ -49,16 +53,27 @@ func main() {
4953 pkglog .Err ("getting config for %s [%s]" , serverConfAppName , err )
5054 os .Exit (1 )
5155 }
52- env := sys .RealEnv ()
5356 fs := sys .RealFS ()
57+ env := sys .RealEnv ()
5458 pushLock := sshd .NewInMemoryRepositoryLock ()
5559 circ := sshd .NewCircuit ()
5660
57- s3Client , err := storage . GetClient ( cnf . HealthSrvTestStorageRegion , fs , env )
61+ storageParams , err := conf . GetStorageParams ( env )
5862 if err != nil {
59- log .Printf ("Error getting s3 client (%s)" , err )
63+ log .Printf ("Error getting storage parameters (%s)" , err )
6064 os .Exit (1 )
6165 }
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+ }
72+ if err != nil {
73+ log .Printf ("Error creating storage driver (%s)" , err )
74+ os .Exit (1 )
75+ }
76+
6277 kubeClient , err := kcl .NewInCluster ()
6378 if err != nil {
6479 log .Printf ("Error getting kubernetes client [%s]" , err )
@@ -67,7 +82,7 @@ func main() {
6782 log .Printf ("Starting health check server on port %d" , cnf .HealthSrvPort )
6883 healthSrvCh := make (chan error )
6984 go func () {
70- if err := healthsrv .Start (cnf .HealthSrvPort , kubeClient .Namespaces (), s3Client , circ ); err != nil {
85+ if err := healthsrv .Start (cnf .HealthSrvPort , kubeClient .Namespaces (), storageDriver , circ ); err != nil {
7186 healthSrvCh <- err
7287 }
7388 }()
@@ -111,8 +126,23 @@ func main() {
111126 cnf .CheckDurations ()
112127 fs := sys .RealFS ()
113128 env := sys .RealEnv ()
129+ storageParams , err := conf .GetStorageParams (env )
130+ if err != nil {
131+ log .Printf ("Error getting storage parameters (%s)" , err )
132+ os .Exit (1 )
133+ }
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+ }
140+ if err != nil {
141+ log .Printf ("Error creating storage driver (%s)" , err )
142+ os .Exit (1 )
143+ }
114144
115- if err := gitreceive .Run (cnf , fs , env ); err != nil {
145+ if err := gitreceive .Run (cnf , fs , env , storageDriver ); err != nil {
116146 log .Printf ("Error running git receive hook [%s]" , err )
117147 os .Exit (1 )
118148 }
0 commit comments