- Add ConsoleSessionStore for managing console session state including tenants, profile, and token information. - Create OperatorContextService to manage operator context for orchestrator actions. - Implement OperatorMetadataInterceptor to enrich HTTP requests with operator context metadata. - Develop ConsoleProfileComponent to display user profile and session details, including tenant information and access tokens. - Add corresponding HTML and SCSS for ConsoleProfileComponent to enhance UI presentation. - Write unit tests for ConsoleProfileComponent to ensure correct rendering and functionality.
88 lines
2.4 KiB
C#
88 lines
2.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using StellaOps.Auth.Abstractions;
|
|
using System.IO;
|
|
|
|
namespace StellaOps.Cli.Configuration;
|
|
|
|
public sealed class StellaOpsCliOptions
|
|
{
|
|
public string ApiKey { get; set; } = string.Empty;
|
|
|
|
public string BackendUrl { get; set; } = string.Empty;
|
|
|
|
public string ConcelierUrl { get; set; } = string.Empty;
|
|
|
|
public string ScannerCacheDirectory { get; set; } = "scanners";
|
|
|
|
public string ResultsDirectory { get; set; } = "results";
|
|
|
|
public string DefaultRunner { get; set; } = "docker";
|
|
|
|
public string ScannerSignaturePublicKeyPath { get; set; } = string.Empty;
|
|
|
|
public int ScannerDownloadAttempts { get; set; } = 3;
|
|
|
|
public int ScanUploadAttempts { get; set; } = 3;
|
|
|
|
public StellaOpsCliAuthorityOptions Authority { get; set; } = new();
|
|
|
|
public StellaOpsCliOfflineOptions Offline { get; set; } = new();
|
|
|
|
public StellaOpsCliPluginOptions Plugins { get; set; } = new();
|
|
}
|
|
|
|
public sealed class StellaOpsCliAuthorityOptions
|
|
{
|
|
public string Url { get; set; } = string.Empty;
|
|
|
|
public string ClientId { get; set; } = string.Empty;
|
|
|
|
public string? ClientSecret { get; set; }
|
|
|
|
public string Username { get; set; } = string.Empty;
|
|
|
|
public string? Password { get; set; }
|
|
|
|
public string Scope { get; set; } = StellaOpsScopes.ConcelierJobsTrigger;
|
|
|
|
public string OperatorReason { get; set; } = string.Empty;
|
|
|
|
public string OperatorTicket { get; set; } = string.Empty;
|
|
|
|
public string TokenCacheDirectory { get; set; } = string.Empty;
|
|
|
|
public StellaOpsCliAuthorityResilienceOptions Resilience { get; set; } = new();
|
|
}
|
|
|
|
public sealed class StellaOpsCliAuthorityResilienceOptions
|
|
{
|
|
public bool? EnableRetries { get; set; }
|
|
|
|
public IList<TimeSpan> RetryDelays { get; set; } = new List<TimeSpan>();
|
|
|
|
public bool? AllowOfflineCacheFallback { get; set; }
|
|
|
|
public TimeSpan? OfflineCacheTolerance { get; set; }
|
|
}
|
|
|
|
public sealed class StellaOpsCliOfflineOptions
|
|
{
|
|
public string KitsDirectory { get; set; } = "offline-kits";
|
|
|
|
public string? MirrorUrl { get; set; }
|
|
}
|
|
|
|
public sealed class StellaOpsCliPluginOptions
|
|
{
|
|
public string BaseDirectory { get; set; } = string.Empty;
|
|
|
|
public string Directory { get; set; } = "plugins/cli";
|
|
|
|
public IList<string> SearchPatterns { get; set; } = new List<string>();
|
|
|
|
public IList<string> PluginOrder { get; set; } = new List<string>();
|
|
|
|
public string ManifestSearchPattern { get; set; } = "*.manifest.json";
|
|
}
|