- fix bug whos aws config checksum not loaded from config struct, using callback on config process
- bump to latest sdk release
Other:
- bump dependencies
- bump dependencies aws sdk go v2 with checksum calulation when supported by default
- add function in config interface to allow changing checksum calculation
- set checksum calculation as 'when required' with custom config
- set checksum calcultation as 'when supported' with aws config
Other:
- bump dependencies
Add feature to change http timeout directly in httpcli store in aws client
Add copy/MPUCopy function
Update mpu to allow copy with MPU
Package Cobra
Fix println by fmt.Fprint to os.stdout
Package Crypt
Refactor package to use instance of crypt instead of a global crypt unique instance
Allow to gen key/nonce
Add io stream reader/writer instead of only buffer slice encoder decoder
Package file/bandwidth
Add new subpackage bandwith to limit a amount of byte read/write for a duraction
Use file/progress function increment/reset
Allow to add custom function increment / reset
Package IOUtils
Remove useless file error.go, tempFile.go (replaced by package file)
Move fileDescriptor to a subpackage fileDescriptor: allow to change nb of FD for linux/windows os
Move Buffer ReadCloser to a new subpackage: allow to add close function to buffer, and expose read / write io interface
Add sub package multiplexer to allow send/receive multiple io stream into on io stream
Package Socket
Rework to expose io stream instead of buffer
Fix minor bugs
Other:
Bump dependencies
Update code following bump dependencies
Package Errors:
- add function to check & cast error interface into golib Error interface
- update CodeError type to simplify management & error creation
- add function to simplify call of Error function from a generic error interface
- remove some useless function from Error interface
All Other Packages:
- apply change of package Errors into all other packages
Package Monitoring :
- use packag dedicated to monitor component
- each monitor work as standalone server to monitor health
- collect metrics to export them to prometheus exporter
Package Prometheus :
- review to simplify use for API and not API metrics
- optimize code
Package Status :
- Rework to use Monitor package
- Rework to use native json / text Marshaller interface
Context :
- rework context config (context var) to use sync map and sync RWMutex (WORM)
- move gin context to dedicated sub package (dependancies of logger make circular dependencies)
- optimize code
Config :
- rework to optimize sync / collect of component
- rework status to monitor
- remove monitor managment from config to each component
- add a func to set default logger to implement inherit default logger options
- optimize code
IOUtils :
- isolate logger / closer interface as a usable & public interface & instance
- this interface / instance allow to collect io.closer over a context to close all if context is done
Logger :
- rework to use context.config map
- rework to use ioutils closer
- rework to allow options to inherit a default options, or the last version of options
- optimize code
Size :
- Add package Size to calculate and manipulate size Byte or bit
- Add encoding : Text/JSON/Yaml/Toml...
- Add option to défine default unit : Byte or bit
Other :
- adjust following code
- optimize code
- limit use of atomic value
- rework to use RWMutex instead of sync.Mutex to maximize capabilities of read instead of write
- remove 32bit build for CI/CD
- add darwin/arm64 build for CI/CD
Bump Dependencies
- Bucket ADD CreateWithLock : create bucket with Object Lock enable
- Bucket ADD GetLock : retrieve object lock bucket configuration
- Bucket ADD SetLock : set object lock bucket configuration
- Object ADD GetLegalHold : retrieve object lock status for object/version
- Object ADD SetLegalHold : set object lock flag for object/version
- Interface ADD SetClientS3 : replace current client S3 with a new one given as parameters
- Interface ADD SetClientIam : replace current client IAM with a new one given as parameters
- Interface ADD HTTPCli : return the current setting of func to return a http.client
- Interface ADD mutex : lock any accessing struct properties to prevent race
Other :
- bump dependencies
- Config Model : add a config model with a golib RouerStatus Config Model to use a AWS connection for API with a request status health check
- Config Interface : add function GetAccessKey to retrieve the accesskey value currently used into the current connection
- function Walk (Object, version, ...) : fix bug with pointer of string not initialized
Package Config :
- interface Component : add status router pointer into the Init function to allow used a global router status for all component status registration as router status component
Package Status :
- move Status Config as an sub package of Package Status
Package Errors :
- add CamelCase const
Package Logger :
- fix following bump dependencies
Global :
- bump dependencies
- change init of errors files : change function never call vy panic to prevent an error code collision
- Bucket : add function Walk based on list but run a given function for each found bucket
- Object : add function Walk & WalkPrefix based on ListPrefix to run a given function for each returned object
- Object : add function WalkVersion & WalkVersionPrefix based on ListVersion to run a given function for each returned object version
Package logger:
- Fix bug with compat : a nil error not clean when sent to logger
Package Context:
- Fix bug with context/config : the load key return an atomic value instead of the interface stored
+ Add Tag function for object
+ Add Lock function for object
+ Add Attributes function for object
+ Add lifecycle function for bucket
+ Add function to get client in AWS interface
Package Certificates :
+ Add clean certifs function in config
Bump dependencies
- fix missing commit : version function
- fix missing commut : deleteall function
- add function to load bucket replication configuration
- add AWS feature to create new client for a config based on current client
- add Config feature to change the credentials of current config
- Fix issue #136 :
- add function ForceSignerOptions to pass options funct to signer
- if not option exist, use default signer v4, else specify the options function list to the new signer
- fix error with multiple ptr identifier on model
- add function to list and cancel multipart uploads
- add function to list, get and delete version object
- add function to delete all objects following the S3 API DeleteObjects function (to send array of object key / version) in one request
Package Config :
- modify component interface :
- add cpt as custom function parameters to prevent new component still not stored when running custom function
- re-order mutex on start / reload process
Change :
- Bump dependancies
- Boolean value for EndpointOption
- Optimize CustomConfig IsHTTPS function
- Bucket Creation return
- Bucket Create contraint Region Location
- CustomConfig missing Signing Region
- some AWS errors
Fix Github/Action :
- Add some linter/test as blocked task