summaryrefslogtreecommitdiff
path: root/config
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/config-b2.sample.json6
-rw-r--r--config/config-local-unix.sample.json2
-rw-r--r--config/config.go30
3 files changed, 8 insertions, 30 deletions
diff --git a/config/config-b2.sample.json b/config/config-b2.sample.json
index 60022dd..372972e 100644
--- a/config/config-b2.sample.json
+++ b/config/config-b2.sample.json
@@ -1,4 +1,5 @@
{
+ "ForceRewrite": false,
"MaxProcessThreads": 4,
"MaxPreProcessThreads": 12,
"LogLevel": "info",
@@ -32,7 +33,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "b2",
"Config": {
@@ -55,7 +55,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "b2",
"Config": {
@@ -78,7 +77,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "b2",
"Config": {
@@ -101,7 +99,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "b2",
"Config": {
@@ -124,7 +121,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "b2",
"Config": {
diff --git a/config/config-local-unix.sample.json b/config/config-local-unix.sample.json
index 941d995..97f69f1 100644
--- a/config/config-local-unix.sample.json
+++ b/config/config-local-unix.sample.json
@@ -1,4 +1,5 @@
{
+ "ForceRewrite": false,
"MaxProcessThreads": 4,
"MaxPreProcessThreads": 12,
"LogLevel": "debug",
@@ -26,7 +27,6 @@
}
},
"Output": {
- "RewriteOn": "UnequalHashInCache",
"Storage": {
"Type": "local-unix",
"Config": {
diff --git a/config/config.go b/config/config.go
index e55d4b7..1620d75 100644
--- a/config/config.go
+++ b/config/config.go
@@ -14,6 +14,7 @@ type Config struct {
Converters []ConverterConfig `json:"Converters" validate:"required"`
MaxProcessThreads int `json:"MaxProcessThreads" validate:"required,min=1"`
MaxPreProcessThreads int `json:"MaxPreProcessThreads" validate:"min=1;gtefield=MaxProcessThreads"`
+ ForceRewrite bool `json:"ForceRewrite" validate:"required"`
LogLevel slog.Level `json:"LogLevel" validate:"required"`
}
@@ -62,7 +63,7 @@ func (sc *InputStorageConfig) UnmarshalJSON(data []byte) error {
}
type ConverterConfig struct {
- Type string `json:"Type" validate:"required,oneof=webp jpeg"`
+ Type string `json:"Type" validate:"required,oneof=webp"`
Config any `json:"Config" validate:"required"`
Output OutputConfig `json:"Output" validate:"required"`
}
@@ -88,12 +89,6 @@ func (pc *ConverterConfig) UnmarshalJSON(data []byte) error {
return fmt.Errorf("unmarshal WebpConfig: %w", err)
}
pc.Config = &webpConfig
- case "jpeg":
- var jpegConfig JpegConfig
- if err := json.Unmarshal(tmp.Config, &jpegConfig); err != nil {
- return fmt.Errorf("unmarshal JpegConfig: %w", err)
- }
- pc.Config = &jpegConfig
default:
return fmt.Errorf("unsupported storage type: %s", tmp.Type)
}
@@ -103,18 +98,12 @@ func (pc *ConverterConfig) UnmarshalJSON(data []byte) error {
type WebpConfig struct {
Quality int `json:"Quality" validate:"required,min=1,max=100"`
- Size SizeConfig `json:"Size"`
-}
-
-type JpegConfig struct {
- ExtensionName string `json:"ExtensionName" validate:"alpha"`
- Quality int `json:"Quality" validate:"required,min=1,max=100"`
- Size SizeConfig `json:"Size"`
+ Size SizeConfig `json:"Size" validate:"required"`
}
type SizeConfig struct {
- MaxWidth int `json:"MaxWidth"`
- MaxHeight int `json:"MaxHeight"`
+ MaxWidth int `json:"MaxWidth" validate:"required,min=0"`
+ MaxHeight int `json:"MaxHeight" validate:"required,min=0"`
}
type OutputStorageConfig struct {
@@ -168,8 +157,7 @@ type InputLocalUnixConfig struct {
}
type OutputConfig struct {
- RewriteOn string `json:"RewriteOn" validate:"oneof=Never UnequalHashInCache Always"`
- Storage OutputStorageConfig `json:"Storage" validate:"required"`
+ Storage OutputStorageConfig `json:"Storage" validate:"required"`
}
type OutputLocalUnixConfig struct {
@@ -191,12 +179,6 @@ func LoadConfig(path string, config *Config) error {
return err
}
- for i := range config.Converters {
- if config.Converters[i].Output.RewriteOn == "" {
- config.Converters[i].Output.RewriteOn = "UnequalHashInCache"
- }
- }
-
return nil
}