54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using StellaOps.Doctor.Models;
|
|
using StellaOps.Doctor.Plugins;
|
|
using StellaOps.Doctor.Plugins.Integration.Checks;
|
|
|
|
namespace StellaOps.Doctor.Plugins.Integration;
|
|
|
|
/// <summary>
|
|
/// Plugin for external integration diagnostics.
|
|
/// </summary>
|
|
public sealed class IntegrationPlugin : IDoctorPlugin
|
|
{
|
|
/// <inheritdoc />
|
|
public string PluginId => "stellaops.doctor.integration";
|
|
|
|
/// <inheritdoc />
|
|
public string DisplayName => "External Integrations";
|
|
|
|
/// <inheritdoc />
|
|
public DoctorCategory Category => DoctorCategory.Integration;
|
|
|
|
/// <inheritdoc />
|
|
public Version Version => new(1, 0, 0);
|
|
|
|
/// <inheritdoc />
|
|
public Version MinEngineVersion => new(1, 0, 0);
|
|
|
|
/// <inheritdoc />
|
|
public bool IsAvailable(IServiceProvider services) => true;
|
|
|
|
/// <inheritdoc />
|
|
public IReadOnlyList<IDoctorCheck> GetChecks(DoctorPluginContext context) =>
|
|
[
|
|
new OciRegistryCheck(),
|
|
new RegistryReferrersApiCheck(),
|
|
new RegistryCapabilityProbeCheck(),
|
|
new RegistryPushAuthorizationCheck(),
|
|
new RegistryPullAuthorizationCheck(),
|
|
new RegistryCredentialsCheck(),
|
|
new ObjectStorageCheck(),
|
|
new SmtpCheck(),
|
|
new SlackWebhookCheck(),
|
|
new TeamsWebhookCheck(),
|
|
new GitProviderCheck(),
|
|
new LdapConnectivityCheck(),
|
|
new OidcProviderCheck(),
|
|
new CiSystemConnectivityCheck(),
|
|
new SecretsManagerConnectivityCheck(),
|
|
new IntegrationWebhookHealthCheck()
|
|
];
|
|
|
|
/// <inheritdoc />
|
|
public Task InitializeAsync(DoctorPluginContext context, CancellationToken ct) => Task.CompletedTask;
|
|
}
|