mirror of
https://github.com/hanzoai/functions.git
synced 2026-10-30 15:04:37 +00:00
Swaps minio-go/v7 for the hanzos3 fork, which carries the same v7 API — package still named `minio`, so call sites are unchanged. The two indirect checksum libraries move with it, so nothing pulls minio back one level down. One minio module REMAINS and is not reachable from here: github.com/minio/minlz, required by github.com/mholt/archives, a general-purpose archive library this repo uses through pkg/utils. It arrives nowhere near the S3 client. Removing it means forking mholt/archives to swap one compression dependency, which is a different decision from replacing the S3 client and should be made on its own merits rather than smuggled in here. build and vet pass. Co-authored-by: Hanzo Dev <[email protected]>
StorageSvc
StorageSvc consists of 3 components
- Storage http request handler
- StowClient
- ArchivePruner
StorageSvc
This is the HTTP handler that serves requests to :
- upload archive into a storage
- fetch an archive from storage
- delete archive from storage
StowClient
This is the storage interface layer that interacts with stow package. It provides methods to:
- write a file to storage
- retrieve a file from storage
- delete a file from storage
- get all files on storage
ArchivePruner
This acts like a cron job to clean up orphaned archives from storage. By default configured to run every hour. The value can be set in Values.yaml to any preferred interval.