Skip to content

Commit 78af9f0

Browse files
committed
use old version for old Azure Blob service and OSS
1 parent 7e4c9a9 commit 78af9f0

File tree

9 files changed

+122
-39
lines changed

9 files changed

+122
-39
lines changed

cmd/api-errors.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,6 +1478,8 @@ var errorCodes = errorCodeMap{
14781478
// Add your error structure here.
14791479
}
14801480

1481+
var ErrorCodes = errorCodes
1482+
14811483
// toAPIErrorCode - Converts embedded errors. Convenience
14821484
// function written to handle all cases where we have known types of
14831485
// errors returned by underlying layers.
@@ -1673,6 +1675,8 @@ func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) {
16731675
return apiErr
16741676
}
16751677

1678+
var ToAPIErrorCode = toAPIErrorCode
1679+
16761680
var noError = APIError{}
16771681

16781682
// toAPIError - Converts embedded errors. Convenience
@@ -1727,6 +1731,8 @@ func toAPIError(ctx context.Context, err error) APIError {
17271731
return apiErr
17281732
}
17291733

1734+
var ToAPIError = toAPIError
1735+
17301736
// getAPIError provides API Error for input API error code.
17311737
func getAPIError(code APIErrorCode) APIError {
17321738
if apiErr, ok := errorCodes[code]; ok {

cmd/api-response.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,8 @@ func writeErrorResponse(ctx context.Context, w http.ResponseWriter, err APIError
593593
writeResponse(w, err.HTTPStatusCode, encodedErrorResponse, mimeXML)
594594
}
595595

596+
var WriteErrorResponse = writeErrorResponse
597+
596598
func writeErrorResponseHeadersOnly(w http.ResponseWriter, err APIError) {
597599
writeResponse(w, err.HTTPStatusCode, nil, mimeNone)
598600
}

cmd/gateway-main.go

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package cmd
1919
import (
2020
"context"
2121
"fmt"
22+
"net/http"
2223
"net/url"
2324
"os"
2425
"os/signal"
@@ -309,3 +310,93 @@ func StartGateway(ctx *cli.Context, gw Gateway) {
309310

310311
handleSignals()
311312
}
313+
314+
// StartGatewayWithRouter - handler for 'minio gateway <name>'.
315+
func StartGatewayWithRouter(router *mux.Router, gw Gateway) (http.Handler, ObjectLayer) {
316+
if gw == nil {
317+
logger.FatalIf(errUnexpected, "Gateway implementation not initialized")
318+
return nil, nil
319+
}
320+
321+
// Validate if we have access, secret set through environment.
322+
gatewayName := gw.Name()
323+
324+
// Check and load TLS certificates.
325+
var err error
326+
globalPublicCerts, globalTLSCerts, globalIsSSL, err = getTLSConfig()
327+
logger.FatalIf(err, "Invalid TLS certificate file")
328+
329+
handleCommonEnvVars()
330+
handleGatewayEnvVars()
331+
332+
// Set system resources to maximum.
333+
logger.LogIf(context.Background(), setMaxResources())
334+
335+
// Currently only NAS and S3 gateway support encryption headers.
336+
encryptionEnabled := gatewayName == "s3" || gatewayName == "nas"
337+
338+
// Add API router.
339+
registerAPIRouter(router, encryptionEnabled)
340+
341+
// !!! Do not move this block !!!
342+
// For all gateways, the config needs to be loaded from env
343+
// prior to initializing the gateway layer
344+
{
345+
// Initialize server config.
346+
srvCfg := newServerConfig()
347+
348+
// Override any values from ENVs.
349+
srvCfg.loadFromEnvs()
350+
351+
// Load values to cached global values.
352+
srvCfg.loadToCachedConfigs()
353+
354+
// hold the mutex lock before a new config is assigned.
355+
globalServerConfigMu.Lock()
356+
globalServerConfig = srvCfg
357+
globalServerConfigMu.Unlock()
358+
}
359+
360+
handler := criticalErrorHandler{registerHandlers(router, globalHandlers...)}
361+
362+
newObject, err := gw.NewGatewayLayer(globalServerConfig.GetCredential())
363+
if err != nil {
364+
// Stop watching for any certificate changes.
365+
globalTLSCerts.Stop()
366+
logger.FatalIf(err, "Unable to initialize gateway backend")
367+
}
368+
369+
enableConfigOps := gatewayName == "nas"
370+
371+
if enableConfigOps {
372+
// Create a new config system.
373+
globalConfigSys = NewConfigSys()
374+
375+
// Load globalServerConfig from etcd
376+
logger.LogIf(context.Background(), globalConfigSys.Init(newObject))
377+
}
378+
379+
var cacheConfig = globalServerConfig.GetCacheConfig()
380+
if len(cacheConfig.Drives) > 0 {
381+
var err error
382+
// initialize the new disk cache objects.
383+
globalCacheObjectAPI, err = newServerCacheObjects(cacheConfig)
384+
logger.FatalIf(err, "Unable to initialize disk caching")
385+
}
386+
387+
// Re-enable logging
388+
logger.Disable = false
389+
390+
// Create new IAM system.
391+
globalIAMSys = NewIAMSys()
392+
393+
// Create new policy system.
394+
globalPolicySys = NewPolicySys()
395+
396+
// Once endpoints are finalized, initialize the new object api.
397+
globalObjLayerMutex.Lock()
398+
globalObjectAPI = newObject
399+
globalObjLayerMutex.Unlock()
400+
401+
return handler, newObject
402+
}

cmd/gateway/azure/gateway-azure.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,17 +139,26 @@ type Azure struct {
139139
host string
140140
}
141141

142+
func NewAzure(host string) *Azure {
143+
return &Azure{host: host}
144+
}
145+
142146
// Name implements Gateway interface.
143147
func (g *Azure) Name() string {
144148
return azureBackend
145149
}
146150

151+
var muscatOdpazureCloud = azure.Environment{
152+
StorageEndpointSuffix: "muscat.odpazure.om",
153+
}
154+
147155
// All known cloud environments of Azure
148156
var azureEnvs = []azure.Environment{
149157
azure.PublicCloud,
150158
azure.USGovernmentCloud,
151159
azure.ChinaCloud,
152160
azure.GermanCloud,
161+
muscatOdpazureCloud,
153162
}
154163

155164
// NewGatewayLayer initializes azure blob storage client and returns AzureObjects.

cmd/gateway/oss/gateway-oss.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ type OSS struct {
125125
host string
126126
}
127127

128+
func NewOSS(host string) *OSS {
129+
return &OSS{host: host}
130+
}
131+
128132
// Name implements Gateway interface.
129133
func (g *OSS) Name() string {
130134
return ossBackend

cmd/gateway/s3/gateway-s3.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ type S3 struct {
139139
host string
140140
}
141141

142+
func NewS3(host string) *S3 {
143+
return &S3{host: host}
144+
}
145+
142146
// Name implements Gateway interface.
143147
func (g *S3) Name() string {
144148
return s3Backend

cmd/httprange.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,5 @@ func parseRequestRangeSpec(rangeString string) (hrange *HTTPRangeSpec, err error
161161
return nil, fmt.Errorf("'%s' does not have valid range value", rangeString)
162162
}
163163
}
164+
165+
var ParseRequestRangeSpec = parseRequestRangeSpec

go.mod

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ require (
1414
github.com/bcicen/jstream v0.0.0-20190220045926-16c1f8af81c2
1515
github.com/cheggaaa/pb v1.0.28
1616
github.com/coredns/coredns v1.4.0
17-
github.com/coreos/bbolt v1.3.2 // indirect
1817
github.com/coreos/etcd v3.3.12+incompatible
19-
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect
2018
github.com/dgrijalva/jwt-go v3.2.0+incompatible
2119
github.com/djherbis/atime v1.0.0
2220
github.com/dustin/go-humanize v1.0.0
@@ -25,27 +23,20 @@ require (
2523
github.com/fatih/color v1.7.0
2624
github.com/fatih/structs v1.1.0
2725
github.com/go-sql-driver/mysql v1.4.1
28-
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect
2926
github.com/golang/snappy v0.0.1
3027
github.com/gomodule/redigo v2.0.0+incompatible
3128
github.com/gopherjs/gopherjs v0.0.0-20190328170749-bb2674552d8f // indirect
3229
github.com/gorilla/handlers v1.4.0
3330
github.com/gorilla/mux v1.7.0
34-
github.com/gorilla/rpc v1.2.0+incompatible
35-
github.com/gorilla/websocket v1.4.0 // indirect
36-
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 // indirect
37-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
31+
github.com/gorilla/rpc v1.2.0
3832
github.com/grpc-ecosystem/grpc-gateway v1.8.5 // indirect
3933
github.com/hashicorp/go-cleanhttp v0.5.1 // indirect
4034
github.com/hashicorp/go-msgpack v0.5.4 // indirect
4135
github.com/hashicorp/go-rootcerts v1.0.0 // indirect
4236
github.com/hashicorp/raft v1.0.1 // indirect
4337
github.com/hashicorp/vault v1.1.0
44-
github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c // indirect
45-
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 // indirect
4638
github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf
4739
github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03 // indirect
48-
github.com/jonboulle/clockwork v0.1.0 // indirect
4940
github.com/json-iterator/go v1.1.6
5041
github.com/klauspost/compress v1.4.1 // indirect
5142
github.com/klauspost/cpuid v1.2.0 // indirect
@@ -54,7 +45,6 @@ require (
5445
github.com/klauspost/reedsolomon v1.9.1
5546
github.com/lib/pq v1.0.0
5647
github.com/mattn/go-isatty v0.0.7
57-
github.com/mattn/go-runewidth v0.0.4 // indirect
5848
github.com/miekg/dns v1.1.8
5949
github.com/minio/blazer v0.0.0-20171126203752-2081f5bf0465
6050
github.com/minio/cli v1.3.0
@@ -79,34 +69,24 @@ require (
7969
github.com/nsqio/go-nsq v1.0.7
8070
github.com/pkg/profile v1.3.0
8171
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829
82-
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 // indirect
8372
github.com/rjeczalik/notify v0.9.2
8473
github.com/rs/cors v1.6.0
8574
github.com/segmentio/go-prompt v1.2.1-0.20161017233205-f0d19b6901ad
86-
github.com/sirupsen/logrus v1.3.0 // indirect
8775
github.com/skyrings/skyring-common v0.0.0-20160929130248-d1c0bb1cbd5e
8876
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3 // indirect
8977
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a // indirect
90-
github.com/soheilhy/cmux v0.1.4 // indirect
9178
github.com/streadway/amqp v0.0.0-20190402114354-16ed540749f6
9279
github.com/tidwall/gjson v1.2.1
9380
github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65 // indirect
9481
github.com/tidwall/sjson v1.0.4
95-
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect
9682
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a
97-
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
98-
go.etcd.io/bbolt v1.3.2 // indirect
9983
go.uber.org/atomic v1.3.2
100-
go.uber.org/multierr v1.1.0 // indirect
101-
go.uber.org/zap v1.9.1 // indirect
102-
golang.org/x/arch v0.0.0-20190312162104-788fe5ffcd8c // indirect
10384
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f
104-
golang.org/x/lint v0.0.0-20190409202823-959b441ac422 // indirect
10585
golang.org/x/net v0.0.0-20190522155817-f3200d17e092
86+
golang.org/x/sync v0.0.0-20190423024810-112230192c58 // indirect
10687
golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5
10788
golang.org/x/text v0.3.2 // indirect
10889
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
109-
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd // indirect
11090
google.golang.org/api v0.3.0
11191
gopkg.in/Shopify/sarama.v1 v1.20.0
11292
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect

go.sum

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z
217217
github.com/gorilla/mux v1.7.0 h1:tOSd0UKHQd6urX6ApfOn4XdBMY6Sh1MfxV3kmaazO+U=
218218
github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
219219
github.com/gorilla/rpc v0.0.0-20160517062331-bd3317b8f670/go.mod h1:V4h9r+4sF5HnzqbwIez0fKSpANP0zlYd3qR7p36jkTQ=
220-
github.com/gorilla/rpc v1.2.0+incompatible h1:V3Dz9mWwCvHKm0N+mVM2A/hShV+hLUMUdzoyHQjr1NA=
221-
github.com/gorilla/rpc v1.2.0+incompatible/go.mod h1:V4h9r+4sF5HnzqbwIez0fKSpANP0zlYd3qR7p36jkTQ=
220+
github.com/gorilla/rpc v1.2.0 h1:WvvdC2lNeT1SP32zrIce5l0ECBfbAlmrmSBsuc57wfk=
221+
github.com/gorilla/rpc v1.2.0/go.mod h1:V4h9r+4sF5HnzqbwIez0fKSpANP0zlYd3qR7p36jkTQ=
222222
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
223223
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
224224
github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
@@ -303,8 +303,6 @@ github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKe
303303
github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c h1:kQWxfPIHVLbgLzphqk3QUflDy9QdksZR4ygR807bpy0=
304304
github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
305305
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
306-
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c=
307-
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
308306
github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf h1:WfD7VjIE6z8dIvMsI4/s+1qr5EL+zoIGev1BQj1eoJ8=
309307
github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf/go.mod h1:hyb9oH7vZsitZCiBt0ZvifOrB+qc8PS5IiilCIb87rg=
310308
github.com/jcmturner/gofork v0.0.0-20180107083740-2aebee971930 h1:v4CYlQ+HeysPHsr2QFiEO60gKqnvn1xwvuKhhAhuEkk=
@@ -601,8 +599,6 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/
601599
go.uber.org/zap v1.9.1 h1:XCJQEf3W6eZaVwhRBof6ImoYGJSITeKWsyeh3HFu/5o=
602600
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
603601
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
604-
golang.org/x/arch v0.0.0-20190312162104-788fe5ffcd8c h1:Rx/HTKi09myZ25t1SOlDHmHOy/mKxNAcu0hP1oPX9qM=
605-
golang.org/x/arch v0.0.0-20190312162104-788fe5ffcd8c/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4=
606602
golang.org/x/build v0.0.0-20190314133821-5284462c4bec/go.mod h1:atTaCNAy0f16Ah5aV1gMSwgiKVHwu/JncqDpuRr7lS4=
607603
golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
608604
golang.org/x/crypto v0.0.0-20180820150726-614d502a4dac/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -618,8 +614,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
618614
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
619615
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI=
620616
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
621-
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 h1:p/H982KKEjUnLJkM3tt/LemDnOc1GiZL5FCVlORJ5zo=
622-
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
623617
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f h1:R423Cnkcp5JABoeemiGEPlt9tHXFfw5kvc0yqlxRPWo=
624618
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
625619
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -630,8 +624,6 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx
630624
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
631625
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3 h1:XQyxROzUlZH+WIQwySDgnISgOivlhjIEwaQaJEJrrN0=
632626
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
633-
golang.org/x/lint v0.0.0-20190409202823-959b441ac422 h1:QzoH/1pFpZguR8NrRHLcO6jKqfv2zpuSqZLgdm7ZmjI=
634-
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
635627
golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
636628
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
637629
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -651,8 +643,6 @@ golang.org/x/net v0.0.0-20190318221613-d196dffd7c2b/go.mod h1:t9HGtf8HONx5eT2rtn
651643
golang.org/x/net v0.0.0-20190324223953-e3b2ff56ed87/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
652644
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ=
653645
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
654-
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6 h1:FP8hkuE6yUEaJnK7O2eTuejKWwW+Rhfj80dQ2JcKxCU=
655-
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
656646
golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco=
657647
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
658648
golang.org/x/oauth2 v0.0.0-20180603041954-1e0a3fa8ba9a/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -692,8 +682,6 @@ golang.org/x/sys v0.0.0-20190304154630-e844e0132e93/go.mod h1:STP8DvDyc/dI5b8T5h
692682
golang.org/x/sys v0.0.0-20190318195719-6c81ef8f67ca/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
693683
golang.org/x/sys v0.0.0-20190322080309-f49334f85ddc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
694684
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
695-
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 h1:cGjJzUd8RgBw428LXP65YXni0aiGNA4Bl+ls8SmLOm8=
696-
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
697685
golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5 h1:f005F/Jl5JLP036x7QIvUVhNTqxvSYwFIiyOh2q12iU=
698686
golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
699687
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -716,8 +704,6 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3
716704
golang.org/x/tools v0.0.0-20190318200714-bb1270c20edf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
717705
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384 h1:TFlARGu6Czu1z7q93HTxcP1P+/ZFC/IKythI5RzrnRg=
718706
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
719-
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd h1:7E3PabyysDSEjnaANKBgums/hyvMI/HoHQ50qZEzTrg=
720-
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
721707
google.golang.org/api v0.0.0-20180603000442-8e296ef26005/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
722708
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
723709
google.golang.org/api v0.0.0-20180916000451-19ff8768a5c0/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
@@ -814,5 +800,4 @@ k8s.io/api v0.0.0-20190313115550-3c12c96769cc/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j
814800
k8s.io/apimachinery v0.0.0-20190313115320-c9defaaddf6f/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
815801
k8s.io/klog v0.2.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
816802
layeh.com/radius v0.0.0-20190118135028-0f678f039617/go.mod h1:fywZKyu//X7iRzaxLgPWsvc0L26IUpVvE/aeIL2JtIQ=
817-
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
818803
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

0 commit comments

Comments
 (0)