Deprecate MongoDB support in AOC verification CLI
Removes legacy MongoDB options and code paths from the AOC verification command, enforcing PostgreSQL as the required backend. Updates environment examples and documentation to reflect Valkey and RustFS as defaults, replacing Redis and MinIO references.
This commit is contained in:
@@ -17,13 +17,12 @@ public static class VerifyCommand
|
||||
IsRequired = true
|
||||
};
|
||||
|
||||
var mongoOption = new Option<string?>(
|
||||
aliases: ["--mongo", "-m"],
|
||||
description: "MongoDB connection string (legacy support)");
|
||||
|
||||
var postgresOption = new Option<string?>(
|
||||
var postgresOption = new Option<string>(
|
||||
aliases: ["--postgres", "-p"],
|
||||
description: "PostgreSQL connection string");
|
||||
description: "PostgreSQL connection string")
|
||||
{
|
||||
IsRequired = true
|
||||
};
|
||||
|
||||
var outputOption = new Option<string?>(
|
||||
aliases: ["--output", "-o"],
|
||||
@@ -50,7 +49,6 @@ public static class VerifyCommand
|
||||
var command = new Command("verify", "Verify AOC compliance for documents since a given point")
|
||||
{
|
||||
sinceOption,
|
||||
mongoOption,
|
||||
postgresOption,
|
||||
outputOption,
|
||||
ndjsonOption,
|
||||
@@ -62,8 +60,7 @@ public static class VerifyCommand
|
||||
command.SetHandler(async (context) =>
|
||||
{
|
||||
var since = context.ParseResult.GetValueForOption(sinceOption)!;
|
||||
var mongo = context.ParseResult.GetValueForOption(mongoOption);
|
||||
var postgres = context.ParseResult.GetValueForOption(postgresOption);
|
||||
var postgres = context.ParseResult.GetValueForOption(postgresOption)!;
|
||||
var output = context.ParseResult.GetValueForOption(outputOption);
|
||||
var ndjson = context.ParseResult.GetValueForOption(ndjsonOption);
|
||||
var tenant = context.ParseResult.GetValueForOption(tenantOption);
|
||||
@@ -73,7 +70,6 @@ public static class VerifyCommand
|
||||
var options = new VerifyOptions
|
||||
{
|
||||
Since = since,
|
||||
MongoConnectionString = mongo,
|
||||
PostgresConnectionString = postgres,
|
||||
OutputPath = output,
|
||||
NdjsonPath = ndjson,
|
||||
@@ -95,17 +91,11 @@ public static class VerifyCommand
|
||||
{
|
||||
Console.WriteLine($"AOC Verify starting...");
|
||||
Console.WriteLine($" Since: {options.Since}");
|
||||
Console.WriteLine($" PostgreSQL: {options.PostgresConnectionString}");
|
||||
Console.WriteLine($" Tenant: {options.Tenant ?? "(all)"}");
|
||||
Console.WriteLine($" Dry run: {options.DryRun}");
|
||||
}
|
||||
|
||||
// Validate connection string is provided
|
||||
if (string.IsNullOrEmpty(options.MongoConnectionString) && string.IsNullOrEmpty(options.PostgresConnectionString))
|
||||
{
|
||||
Console.Error.WriteLine("Error: Either --mongo or --postgres connection string is required");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (options.DryRun)
|
||||
{
|
||||
Console.WriteLine("Dry run mode - configuration validated successfully");
|
||||
|
||||
@@ -3,8 +3,7 @@ namespace StellaOps.Aoc.Cli.Models;
|
||||
public sealed class VerifyOptions
|
||||
{
|
||||
public required string Since { get; init; }
|
||||
public string? MongoConnectionString { get; init; }
|
||||
public string? PostgresConnectionString { get; init; }
|
||||
public required string PostgresConnectionString { get; init; }
|
||||
public string? OutputPath { get; init; }
|
||||
public string? NdjsonPath { get; init; }
|
||||
public string? Tenant { get; init; }
|
||||
|
||||
@@ -22,17 +22,8 @@ public sealed class AocVerificationService
|
||||
// Parse the since parameter
|
||||
var sinceTimestamp = ParseSinceParameter(options.Since);
|
||||
|
||||
// Route to appropriate database verification
|
||||
if (!string.IsNullOrEmpty(options.PostgresConnectionString))
|
||||
{
|
||||
await VerifyPostgresAsync(options.PostgresConnectionString, sinceTimestamp, options.Tenant, result, cancellationToken);
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(options.MongoConnectionString))
|
||||
{
|
||||
// MongoDB support - for legacy verification
|
||||
// Note: The codebase is transitioning to PostgreSQL
|
||||
await VerifyMongoAsync(options.MongoConnectionString, sinceTimestamp, options.Tenant, result, cancellationToken);
|
||||
}
|
||||
// Verify PostgreSQL database
|
||||
await VerifyPostgresAsync(options.PostgresConnectionString, sinceTimestamp, options.Tenant, result, cancellationToken);
|
||||
|
||||
stopwatch.Stop();
|
||||
result.DurationMs = stopwatch.ElapsedMilliseconds;
|
||||
@@ -237,20 +228,4 @@ public sealed class AocVerificationService
|
||||
Console.WriteLine("Note: excititor.vex_documents table not found (may not be initialized)");
|
||||
}
|
||||
}
|
||||
|
||||
private Task VerifyMongoAsync(
|
||||
string connectionString,
|
||||
DateTimeOffset since,
|
||||
string? tenant,
|
||||
VerificationResult result,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
// MongoDB support is deprecated - log warning and return empty result
|
||||
Console.WriteLine("Warning: MongoDB verification is deprecated. The codebase is transitioning to PostgreSQL.");
|
||||
Console.WriteLine(" Use --postgres instead of --mongo for production verification.");
|
||||
|
||||
// For backwards compatibility during transition, we don't fail
|
||||
// but we also don't perform actual MongoDB queries
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user