Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterTransformKind ¶ added in v0.2.0
func RegisterTransformKind(kind string)
RegisterTransformKind register new transformation in config validator
Types ¶
type Bucket ¶
type Bucket struct { Transform *Transform `yaml:"transform,omitempty"` Storages StorageTypes `yaml:"storages"` Keys []S3Key `yaml:"keys"` Headers map[string]string `yaml:"headers"` Name string }
Bucket describe single bucket entry in config
type CacheCfg ¶ added in v0.13.0
type CacheCfg struct { Type string `yaml:"type"` Address []string `yaml:"address"` MaxCacheItemSize int64 `yaml:"maxCacheItemSizeMB"` CacheSize int64 `yaml:"cacheSize"` ClientConfig map[string]string `yaml:"clientConfig"` }
CacheCfg configure type of cache
type Config ¶
type Config struct { Buckets map[string]Bucket `yaml:"buckets"` Headers []HeaderYaml `yaml:"headers"` Server Server `yaml:"server"` // contains filtered or unexported fields }
Config contains configuration for buckets etc
Config should be used like singleton
func (*Config) BucketsByAccessKey ¶
BucketsByAccessKey return list of buckets that have given accessKey
func (*Config) Load ¶
Load reads config data from file How configuration file should be formatted see README.md
func (*Config) LoadFromString ¶
LoadFromString parse configuration form string
type HeaderYaml ¶
type HeaderYaml struct { StatusCodes []int `yaml:"statusCodes"` Values map[string]string `yaml:"values"` }
HeaderYaml allow you to override response headers
type Preset ¶
type Preset struct { Quality int `yaml:"quality"` Format string `yaml:"format"` Filters struct { Thumbnail *struct { Width int `yaml:"width"` Height int `yaml:"height"` Mode string `yaml:"mode"` } `yaml:"thumbnail,omitempty"` Interlace bool `yaml:"interlace"` Crop *struct { Width int `yaml:"width"` Height int `yaml:"height"` Gravity string `yaml:"gravity"` Mode string `yaml:"mode"` Embed bool `yaml:"embed"` } `yaml:"crop,omitempty"` Extract *struct { Width int `yaml:"width"` Height int `yaml:"height"` Top int `yaml:"top"` Left int `yaml:"left"` } `yaml:"extract,omitempty"` ResizeCropAuto *struct { Width int `yaml:"width"` Height int `yaml:"height"` } `yaml:"resizeCropAuto,omitempty"` AutoRotate bool `yaml:"auto_rotate"` Grayscale bool `yaml:"grayscale"` Strip bool `yaml:"strip"` Blur *struct { Sigma float64 `yaml:"sigma"` MinAmpl float64 `yaml:"minAmpl"` } `yaml:"blur,omitempty"` Watermark *struct { Image string `yaml:"image"` Position string `yaml:"position"` Opacity float32 `yaml:"opacity"` } `yaml:"watermark,omitempty"` Rotate *struct { Angle int `yaml:"angle"` } `yaml:"rotate,omitempty"` } `yaml:"filters"` }
Preset describe properties of transform preset
type S3Key ¶
type S3Key struct { AccessKey string `yaml:"accessKey"` SecretAccessKey string `yaml:"secretAccessKey"` }
S3Key define credentials for s3 auth
type Server ¶
type Server struct { LogLevel string `yaml:"logLevel"` InternalListen string `yaml:"internalListen"` SingleListen string `yaml:"listen"` RequestTimeout int `yaml:"requestTimeout"` LockTimeout int `yaml:"lockTimeout"` QueueLen int `yaml:"queueLen"` Listen []string `yaml:"listens"` Monitoring string `yaml:"monitoring"` PlaceholderStr string `yaml:"placeholder"` Plugins map[string]interface{} `yaml:"plugins,omitempty"` Cache CacheCfg `yaml:"cache"` Placeholder struct { Buf []byte ContentType string } `yaml:"-"` }
Server configure HTTP server
type Storage ¶
type Storage struct { RootPath string `yaml:"rootPath,omitempty"` // root path for local-* storage Kind string `yaml:"kind"` // type of storage from list ("local", "local-meta", "s3", "http", "b2","noop") Url string `yaml:"url,omitempty"` // Url for http storage Headers map[string]string `yaml:"headers,omitempty"` // request headers for http storage AccessKey string `yaml:"accessKey,omitempty"` // access key for s3 storage SecretAccessKey string `yaml:"secretAccessKey,omitempty"` // SecretAccessKey for s3 storage Region string `yaml:"region,omitempty"` // region for s3 storage Endpoint string `yaml:"endpoint,omitempty"` // endpoint for s3 storage PathPrefix string `yaml:"pathPrefix,omitempty"` // prefix in path for all storage Bucket string `yaml:"bucket"` Account string `yaml:"account"` // account name for b2 Key string `yaml:"key"` // key for b2 Hash string // unique hash for given storage }
Storage contains information about kind of used storage
type StorageTypes ¶
StorageTypes contains map of storage for bucket
func (*StorageTypes) Basic ¶
func (s *StorageTypes) Basic() Storage
Basic return storage that contains originals object
func (*StorageTypes) Get ¶
func (s *StorageTypes) Get(name string) Storage
Get basic method for getting storage by name
func (*StorageTypes) Transform ¶
func (s *StorageTypes) Transform() Storage
Transform return strorage in which we should storage processed objects
type Transform ¶
type Transform struct { Path string `yaml:"path"` ParentStorage string `yaml:"parentStorage"` ParentBucket string `yaml:"parentBucket"` PathRegexp *regexp.Regexp Kind string `yaml:"kind"` Presets map[string]Preset `yaml:"presets"` CheckParent bool `yaml:"checkParent"` ResultKey string `yaml:"resultKey"` }
Transform describe transform for bucket