Skip to content

Commit 5962a38

Browse files
committed
fix: update handling cache
1 parent c8d6722 commit 5962a38

File tree

6 files changed

+36
-21
lines changed

6 files changed

+36
-21
lines changed

cmd/server/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ func main() {
3434
logger := setupLogger()
3535
slog.SetDefault(logger)
3636
logger.Info("starting application")
37-
3837
// Initialize storage client
3938
storage.InitMinioClient(config.GetStorageConfig())
4039
logger.Info("storage client initialized")

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ go 1.23.3
44

55
require (
66
github.com/VictoriaMetrics/metrics v1.35.1
7-
github.com/minio/minio-go/v7 v7.0.80
7+
github.com/minio/minio-go/v7 v7.0.83
88
)
99

1010
require (
1111
github.com/davecgh/go-spew v1.1.1 // indirect
1212
github.com/dustin/go-humanize v1.0.1 // indirect
1313
github.com/go-ini/ini v1.67.0 // indirect
14-
github.com/goccy/go-json v0.10.3 // indirect
14+
github.com/goccy/go-json v0.10.4 // indirect
1515
github.com/google/uuid v1.6.0 // indirect
1616
github.com/klauspost/compress v1.17.11 // indirect
1717
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
@@ -20,9 +20,9 @@ require (
2020
github.com/rs/xid v1.6.0 // indirect
2121
github.com/valyala/fastrand v1.1.0 // indirect
2222
github.com/valyala/histogram v1.2.0 // indirect
23-
golang.org/x/crypto v0.29.0 // indirect
24-
golang.org/x/net v0.31.0 // indirect
25-
golang.org/x/sys v0.27.0 // indirect
26-
golang.org/x/text v0.20.0 // indirect
23+
golang.org/x/crypto v0.32.0 // indirect
24+
golang.org/x/net v0.34.0 // indirect
25+
golang.org/x/sys v0.29.0 // indirect
26+
golang.org/x/text v0.21.0 // indirect
2727
gopkg.in/yaml.v3 v3.0.1 // indirect
2828
)

go.sum

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp
66
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
77
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
88
github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
9-
github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA=
10-
github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
9+
github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
10+
github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
1111
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
1212
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
1313
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
@@ -17,8 +17,8 @@ github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kK
1717
github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
1818
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
1919
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
20-
github.com/minio/minio-go/v7 v7.0.80 h1:2mdUHXEykRdY/BigLt3Iuu1otL0JTogT0Nmltg0wujk=
21-
github.com/minio/minio-go/v7 v7.0.80/go.mod h1:84gmIilaX4zcvAWWzJ5Z1WI5axN+hAbM5w25xf8xvC0=
20+
github.com/minio/minio-go/v7 v7.0.83 h1:W4Kokksvlz3OKf3OqIlzDNKd4MERlC2oN8YptwJ0+GA=
21+
github.com/minio/minio-go/v7 v7.0.83/go.mod h1:57YXpvc5l3rjPdhqNrDsvVlY0qPI6UTk1bflAe+9doY=
2222
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
2323
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
2424
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
@@ -29,14 +29,14 @@ github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G
2929
github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
3030
github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ=
3131
github.com/valyala/histogram v1.2.0/go.mod h1:Hb4kBwb4UxsaNbbbh+RRz8ZR6pdodR57tzWUS3BUzXY=
32-
golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
33-
golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
34-
golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo=
35-
golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM=
36-
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
37-
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
38-
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
39-
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
32+
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
33+
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
34+
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
35+
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
36+
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
37+
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
38+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
39+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
4040
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
4141
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
4242
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

internal/cache/types.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package cache
22

3-
import "time"
3+
import (
4+
"time"
5+
6+
"github.com/muandane/estrois/internal/config"
7+
)
48

59
// CacheEntry represents a cached object with metadata
610
type CacheEntry struct {
@@ -18,7 +22,8 @@ type CacheEntry struct {
1822
// Cache configuration
1923
const (
2024
DefaultCacheDuration = 5 * time.Minute
21-
MaxCacheSize = 300 * 1024 * 1024 // 300MB
2225
CleanupInterval = 1 * time.Minute
2326
MinSizeForCompression = 1 * 1024 * 1024 // Only compress files larger than 1MB
2427
)
28+
29+
var MaxCacheSize = config.GetEnvWithDefaultInt("MAX_CACHE_SIZE", 300)

internal/config/config.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"log"
66
"os"
7+
"strconv"
78
"strings"
89
)
910

@@ -68,3 +69,12 @@ func parseBucketAccess(policy string) (map[string]string, error) {
6869
}
6970
return bucketAccessMap, nil
7071
}
72+
73+
func GetEnvWithDefaultInt(key string, defaultValue int64) int64 {
74+
if sizeStr := os.Getenv(key); sizeStr != "" {
75+
if size, err := strconv.ParseInt(sizeStr, 10, 64); err == nil {
76+
return size * 1024 * 1024
77+
}
78+
}
79+
return defaultValue * 1024 * 1024
80+
}

readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ type CacheEntry struct {
155155
- `S3_SECRET_KEY`: Secret key for authentication (default: "minioadmin")
156156
- `S3_USE_SSL`: Enable/disable SSL (default: "false")
157157
- `ALLOWED_BUCKETS`: Define allowed buckets and access permissions (default: "public:read,private:all,local:all")
158+
- `MAX_CACHE_SIZE`: Maximum cache size in megabytes (default: 300 for 300MB)
158159

159160
### Dependencies
160161

0 commit comments

Comments
 (0)