-
Notifications
You must be signed in to change notification settings - Fork 348
/
block.go
81 lines (71 loc) · 2.2 KB
/
block.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package params
import (
"time"
)
// AdapterConfig configures a block adapter.
type AdapterConfig interface {
BlockstoreType() string
BlockstoreLocalParams() (Local, error)
BlockstoreS3Params() (S3, error)
BlockstoreGSParams() (GS, error)
BlockstoreAzureParams() (Azure, error)
}
type Mem struct{}
type Local struct {
Path string
ImportEnabled bool
ImportHidden bool
AllowedExternalPrefixes []string
}
// S3WebIdentity contains parameters for customizing S3 web identity. This
// is also used when configuring S3 with IRSA in EKS (Kubernetes).
type S3WebIdentity struct {
// SessionDuration is the duration WebIdentityRoleProvider will
// request for a token for its assumed role. It can be 1 hour or
// more, but its maximum is configurable on AWS.
SessionDuration time.Duration
// SessionExpiryWindow is the time before credentials expiry that
// the WebIdentityRoleProvider may request a fresh token.
SessionExpiryWindow time.Duration
}
type S3Credentials struct {
AccessKeyID string
SecretAccessKey string
SessionToken string
}
type S3 struct {
Region string
Profile string
CredentialsFile string
Credentials S3Credentials
MaxRetries int
Endpoint string
ForcePathStyle bool
DiscoverBucketRegion bool
SkipVerifyCertificateTestOnly bool
ServerSideEncryption string
ServerSideEncryptionKmsKeyID string
PreSignedExpiry time.Duration
DisablePreSigned bool
DisablePreSignedUI bool
ClientLogRetries bool
ClientLogRequest bool
WebIdentity *S3WebIdentity
}
type GS struct {
CredentialsFile string
CredentialsJSON string
PreSignedExpiry time.Duration
DisablePreSigned bool
DisablePreSignedUI bool
}
type Azure struct {
StorageAccount string
StorageAccessKey string
TryTimeout time.Duration
PreSignedExpiry time.Duration
DisablePreSigned bool
DisablePreSignedUI bool
// TestEndpointURL - For testing purposes, provide a custom URL to override the default URL template
TestEndpointURL string
}