Conversation
…ort DTOs and options
…storage opt-in - move FileStorageService/YamlObjectStorageService/StoragePathResolver into SquidStd.Storage - add AddFileStorage opt-in registration; drop RegisterStorageServices from core - FileSecretStore references SquidStd.Storage.Services for FileStorageService - split the mixed storage/secret test file: storage -> tests/Storage, secrets -> tests/Security - update RegisterDefaultServicesExtensionsTests for opt-in storage
- MinioContainerFixture + S3StorageServiceTests (roundtrip/missing/exists-delete/ctor) - make S3StorageService IDisposable (disposes the MinIO client and bucket lock, fixes CA1001)
…vice and providers
…cy in core READMEs
Contributor
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Comment on lines
+110
to
+113
| catch (Exception ex) | ||
| { | ||
| return (check.Name, HealthCheckResult.Unhealthy(ex.Message, ex) with { Duration = stopwatch.Elapsed }); | ||
| } |
| var health = app.Services.GetRequiredService<HealthCheckService>(); | ||
| var report = await health.CheckHealthAsync(); | ||
|
|
||
| Assert.True(report.Entries.ContainsKey("alpha")); |
| var report = await health.CheckHealthAsync(); | ||
|
|
||
| Assert.True(report.Entries.ContainsKey("alpha")); | ||
| Assert.True(report.Entries.ContainsKey("beta")); |
… on local IDisposable' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… on local IDisposable' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… on local IDisposable' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
| [Fact] | ||
| public async Task AddFileStorage_ResolvesAndRoundTrips() | ||
| { | ||
| var root = Path.Combine(Path.GetTempPath(), "squidstd-storage-" + Guid.NewGuid().ToString("N")); |
The CodeQL autofix wrapped the MinioClient builder in 'using var', which broke the subsequent reassignment (CS1656). Move construction into a static CreateClient helper that returns the built client (owned by _client and disposed in Dispose), so the reassignment is valid and the IDisposable escapes the method.
|
|
||
| private static IMinioClient CreateClient(S3StorageOptions options) | ||
| { | ||
| var minio = new MinioClient() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release candidate from
develop. Adds three feature areas plus documentation.IHealthCheck/IHealthCheckServicewith a parallel aggregator (per-check timeout + exception isolation),RegisterHealthChecksService().SquidStd.Storage.Abstractions, moved the file/YAML provider intoSquidStd.Storage(opt-inAddFileStorage), and added an S3/MinIO providerSquidStd.Storage.S3(AddS3Storage). AddedListKeysAsync(streaming, prefix filter) across all providers.AddSquidStdHealthChecks()maps every SquidStdIHealthCheckinto the standardMicrosoft.Extensions.Diagnostics.HealthCheckssystem, exposed viaapp.MapHealthChecks(...).Notable changes
RegisterCoreServices);FileSecretStorekeeps working by constructingFileStorageServiceinternally.SquidStd.Storage.Abstractions,SquidStd.Storage,SquidStd.Storage.S3.Test plan
dotnet build SquidStd.slnx— succeeds.dotnet test— 517 passed, 0 failed (incl. Testcontainers integration tests for RabbitMQ, Redis, MinIO; requires Docker).