Add tests and implement StubBearer authentication for Signer endpoints
- Created SignerEndpointsTests to validate the SignDsse and VerifyReferrers endpoints. - Implemented StubBearerAuthenticationDefaults and StubBearerAuthenticationHandler for token-based authentication. - Developed ConcelierExporterClient for managing Trivy DB settings and export operations. - Added TrivyDbSettingsPageComponent for UI interactions with Trivy DB settings, including form handling and export triggering. - Implemented styles and HTML structure for Trivy DB settings page. - Created NotifySmokeCheck tool for validating Redis event streams and Notify deliveries.
This commit is contained in:
		@@ -1,5 +1,6 @@
 | 
			
		||||
using System.Threading;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Microsoft.Extensions.DependencyInjection;
 | 
			
		||||
using Microsoft.Extensions.Hosting;
 | 
			
		||||
using Microsoft.Extensions.Logging;
 | 
			
		||||
using Microsoft.Extensions.Options;
 | 
			
		||||
@@ -10,24 +11,25 @@ namespace StellaOps.Authority.Plugin.Standard.Bootstrap;
 | 
			
		||||
internal sealed class StandardPluginBootstrapper : IHostedService
 | 
			
		||||
{
 | 
			
		||||
    private readonly string pluginName;
 | 
			
		||||
    private readonly IOptionsMonitor<StandardPluginOptions> optionsMonitor;
 | 
			
		||||
    private readonly StandardUserCredentialStore credentialStore;
 | 
			
		||||
    private readonly IServiceScopeFactory scopeFactory;
 | 
			
		||||
    private readonly ILogger<StandardPluginBootstrapper> logger;
 | 
			
		||||
 | 
			
		||||
    public StandardPluginBootstrapper(
 | 
			
		||||
        string pluginName,
 | 
			
		||||
        IOptionsMonitor<StandardPluginOptions> optionsMonitor,
 | 
			
		||||
        StandardUserCredentialStore credentialStore,
 | 
			
		||||
        IServiceScopeFactory scopeFactory,
 | 
			
		||||
        ILogger<StandardPluginBootstrapper> logger)
 | 
			
		||||
    {
 | 
			
		||||
        this.pluginName = pluginName;
 | 
			
		||||
        this.optionsMonitor = optionsMonitor;
 | 
			
		||||
        this.credentialStore = credentialStore;
 | 
			
		||||
        this.scopeFactory = scopeFactory;
 | 
			
		||||
        this.logger = logger;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public async Task StartAsync(CancellationToken cancellationToken)
 | 
			
		||||
    {
 | 
			
		||||
        using var scope = scopeFactory.CreateScope();
 | 
			
		||||
        var optionsMonitor = scope.ServiceProvider.GetRequiredService<IOptionsMonitor<StandardPluginOptions>>();
 | 
			
		||||
        var credentialStore = scope.ServiceProvider.GetRequiredService<StandardUserCredentialStore>();
 | 
			
		||||
 | 
			
		||||
        var options = optionsMonitor.Get(pluginName);
 | 
			
		||||
        if (options.BootstrapUser is null || !options.BootstrapUser.IsConfigured)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user