Documentation
¶
Index ¶
- Variables
- func GetAcceptEncodingKey(ctx context.Context) (v string)
- func Init(cfg any, options ...source.Option) (err error)
- func SetAcceptEncodingKey(ctx context.Context, value string) context.Context
- type Endpoint
- type Entity
- type GRPC
- type Limiter
- type LimiterName
- type Listen
- type Logger
- type OAuth2
- type ProviderType
- type RateLimit
- type Storage
- type TLS
Constants ¶
This section is empty.
Variables ¶
View Source
var URLTemplate = map[ProviderType]string{ OSS: "https://%s.aliyuncs.com", OOS: "https://oos-%s.ctyunapi.cn", KODO: "https://s3-%s.qiniucs.com", COS: "https://cos.%s.myqcloud.com", OBS: "https://obs.%s.myhuaweicloud.com", BOS: "https://s3.%s.bcebos.com", GCS: "https://storage.googleapis.com", KS3: "https://ks3-%s.ksyuncs.com", }
URLTemplate storage provider url template
Functions ¶
func GetAcceptEncodingKey ¶ added in v0.0.5
Types ¶
type Endpoint ¶ added in v0.1.1
type Endpoint struct {
AuthURL string `yaml:"authURL" json:"authURL"`
DeviceAuthURL string `yaml:"deviceAuthURL" json:"deviceAuthURL"`
TokenURL string `yaml:"tokenURL" json:"tokenURL"`
// AuthStyle optionally specifies how the endpoint wants the
// client ID & client secret sent. The zero value means to
// auto-detect.
AuthStyle int `yaml:"authStyle" json:"authStyle"`
}
type GRPC ¶
type GRPC struct {
Addr string `yaml:"addr" json:"addr"` // default: :9090
CertFile string `yaml:"certFile" json:"certFile"`
KeyFile string `yaml:"keyFile" json:"keyFile"`
Timeout int `yaml:"timeout" json:"timeout"` // default: 10
}
GRPC grpc服务公共配置(选用)
type LimiterName ¶ added in v0.1.0
type LimiterName string
const (
SingleLimiter LimiterName = "single"
)
type Listen ¶
type Listen struct {
Name string `yaml:"name" json:"name"`
Addr string `yaml:"addr" json:"addr"`
CertFile string `yaml:"certFile" json:"certFile"`
KeyFile string `yaml:"keyFile" json:"keyFile"`
Timeout int `yaml:"timeout" json:"timeout"` // default: 10s
Metrics bool `yaml:"metrics" json:"metrics"`
Healthz bool `yaml:"healthz" json:"healthz"`
Readyz bool `yaml:"readyz" json:"readyz"`
Pprof bool `yaml:"pprof" json:"pprof"`
}
Listen tcp listener config
type Logger ¶
type Logger struct {
Path string `yaml:"path" json:"path"`
Level slog.Level `yaml:"level" json:"level"`
Stdout string `yaml:"stdout" json:"stdout"`
AddSource bool `yaml:"addSource" json:"addSource"`
Cap uint `yaml:"cap" json:"cap"`
Json bool `yaml:"json" json:"json"`
}
Logger logger配置
type OAuth2 ¶
type OAuth2 struct {
Issuer string `yaml:"issuer" json:"issuer"`
Endpoint Endpoint `yaml:"endpoint" json:"endpoint"`
ClientID string `yaml:"clientID" json:"clientID"`
ClientSecret string `yaml:"clientSecret" json:"clientSecret"`
Scopes []string `yaml:"scopes" json:"scopes"`
RedirectURL string `yaml:"redirectURL" json:"redirectURL"`
}
OAuth2 holds the configuration for the OAuth2 provider.
func (*OAuth2) GetClientID ¶
GetClientID returns the OAuth2 client ID.
func (*OAuth2) GetClientSecret ¶
GetClientSecret returns the OAuth2 client secret.
func (*OAuth2) GetOAuth2Config ¶
GetOAuth2Config returns an oauth2.Config.
func (*OAuth2) GetRedirectURL ¶
GetRedirectURL returns the OAuth2 redirect URL.
type ProviderType ¶
type ProviderType string
ProviderType storage provider type
const ( // S3 aws s3 S3 ProviderType = "s3" // OSS aliyun oss OSS ProviderType = "oss" // OOS ctyun oos OOS ProviderType = "oos" // KODO qiniu kodo KODO ProviderType = "kodo" // COS tencent cos COS ProviderType = "cos" // OBS huawei obs OBS ProviderType = "obs" // BOS baidu bos BOS ProviderType = "bos" // GCS google gcs GCS ProviderType = "gcs" // KS3 kingsoft ks3 KS3 ProviderType = "ks3" // MINIO minio storage MINIO ProviderType = "minio" )
type RateLimit ¶ added in v0.1.0
type RateLimit struct {
// 限流器类型
Name LimiterName `json:"name" yaml:"name"`
// 限流器配置
Rate float64 `json:"rate" yaml:"rate"`
// 限流器最大存储令牌数
Bursts int `json:"bursts" yaml:"bursts"`
}
type Storage ¶
type Storage struct {
Type ProviderType `yaml:"type"`
SigningMethod string `yaml:"signingMethod"`
Region string `yaml:"region"`
Bucket string `yaml:"bucket"`
Endpoint string `yaml:"endpoint"`
AccessKeyID string `yaml:"accessKeyID"`
SecretAccessKey string `yaml:"secretAccessKey"`
// contains filtered or unexported fields
}
Storage storage
Source Files
¶
Click to show internal directories.
Click to hide internal directories.