Package Config/Component AWS :
- rework monitoring for status config to use Golib Request health system & config
- if Enable is true on the health config, use a request instance for healtcheck, otherwise use the aws check as healthcheck
Package AWS/Config :
- adjust code for config request health
Package Request :
- expose healthcheck into interface
Bump dependencies
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
- Package Errors : fix error with slice of error not returning all parent
- Package Logger :
- fix log error slice
- following bump hclog : implement GetLevel + adjust SetLevel to report different between hc log debug & trace following EnableTrace in options
- 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
- slipt package between pure httpcli and request to become new package Request
- Add options to httpcli allowed to create an http client based on options
Package AWS :
- add option for delete object : check boolean to make or not the check (head) before delete
- add exclusion of NoSuchKey error if check is false
Package Request :
- integer option capabilities to configure the request inteface
- use httpcli option to get httpcli (keep custom function to get an *http.client)
- extend function to mode manage the request
- Reword Const (timeout + errors)
- Remove old request interface
- Add new request interface to make a request, send it, parse a result model and check response status
- Add function to skip DNS resolution for http client connection
Change
- Bump dependancies
- Fix function update (use Version function instead of implement into the update function)
- Add func VersionList to list all version id with contents
- Add func VersionAdd to add new version into the policy as default version
- Add func VersionDel to delete one version of the policy
- Policy : add function Get to retrieve Policy Type with all information of the policy
- Policy : add function GetVersion to retrieve PolicyVersion Type and policy document
- Policy : add function CompareUpdate to retrieve the policy, compare doc and if different update the policy with the new doc
- 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