* fix: refactoring
* chore: add google-cloud-storage and google-cloud-auth deps
* feat: add GCS provider config model
* feat: add GCS credential, client, and stream-source helpers
StreamSource bridges build_stream's Send-only byte stream into the SDK's
StreamingSource (which send_buffered requires to be Send+Sync+'static) via a
bounded mpsc channel, avoiding any change to the shared UploadStream type.
* feat: implement GCS StorageProvider upload
* feat: register google-cloud-storage provider in factory
* test: GCS upload roundtrip against fake-gcs-server
* fix: format GCS bucket as projects/_/buckets/<name> in upload_with_client
write_object rejects the bare bucket id with "malformed bucket name"; the
production provider passed config.bucket_name unformatted, so real uploads
would always fail. Format once in upload_with_client so prod and the
fake-gcs-server test share the corrected path.
* style: cargo fmt GCS provider files
* fix: gcs
* fix: tests and refactoring, add justfile instead of makefile
* chore: add tiberius dependency for MSSQL support
* feat: add Mssql variant to DbType enum and config validation
* feat: add MSSQL domain adapter with tiberius ping and sqlpackage backup/restore
* feat: install sqlpackage in Docker base and prod stages
* feat: add MSSQL service to docker-compose and config examples
* fix: log backup errors instead of silently discarding them
* fix: use dotnet-install.sh instead of Microsoft apt feed (SHA1 key rejected by Debian Trixie)
* fix: add /TrustServerCertificate:true to sqlpackage commands for self-signed certs
* fix: use connection string with TrustServerCertificate for sqlpackage
* fix: use user database in MSSQL config example (system databases cannot be exported)
* feat: add seed-mssql task and seed script
* fix: docker-compose.yml
* fix: s3 port type mismatch, add string_or_number_to_string deserializer
* fix: adding some tests
* fix: adding some tests
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
* fix: working on pipeline
---------
Co-authored-by: charlesgauthereau <charles.gauthereau@soluce-technologies.com>
* feat: new workflow CI
* feat: new workflow CI
* feat: new workflow CI
* feat: new workflow CI
* feat: new workflow CI
* feat: new workflow CI
* fix: docker.yml
* fix: docker.yml
* fix: docker.yml
* fix: docker.yml
---------
Co-authored-by: charlesgauthereau <charles.gauthereau@soluce-technologies.com>