PlatformNightlyMigrationDrillCommand
extends Command
in package
Runs a non-destructive nightly migration drill for staging/canary tenants.
Table of Contents
Constants
- ENABLE_ENV : mixed = 'KMP_ENABLE_NIGHTLY_MIGRATION_DRILL'
- JOB_TYPE : mixed = 'nightly_migration_drill'
- PLATFORM_CONNECTION : mixed = 'platform'
Methods
- defaultName() : string
- execute() : int
- buildOptionParser() : ConsoleOptionParser
- drillTenant() : bool
- Run status and dry-run probes for a tenant.
- runTenantCommand() : int
- assertExecutionAllowed() : void
- Fail closed unless both the command flag and environment gate are present.
- assertReleaseCompatibility() : void
- assertSelector() : void
- Validate that exactly one target selector was supplied.
- baseParameters() : array<string, mixed>
- finishJob() : void
- insertJob() : void
- Insert the aggregate drill job before checks begin.
- now() : DateTime
- Return the current UTC timestamp.
- platform() : Connection
- Get the platform metadata connection.
- resolveTenants() : array<int, TenantMetadata>
- resultParameters() : array<string, mixed>
- scrubError() : string
- Remove secret-like values from command errors before storing them.
Constants
ENABLE_ENV
private
mixed
ENABLE_ENV
= 'KMP_ENABLE_NIGHTLY_MIGRATION_DRILL'
JOB_TYPE
private
mixed
JOB_TYPE
= 'nightly_migration_drill'
PLATFORM_CONNECTION
private
mixed
PLATFORM_CONNECTION
= 'platform'
Methods
defaultName()
public
static defaultName() : string
Tags
Return values
stringexecute()
public
execute(Arguments $args, ConsoleIo $io) : int
Parameters
- $args : Arguments
- $io : ConsoleIo
Tags
Return values
intbuildOptionParser()
protected
buildOptionParser(ConsoleOptionParser $parser) : ConsoleOptionParser
Parameters
- $parser : ConsoleOptionParser
Tags
Return values
ConsoleOptionParserdrillTenant()
Run status and dry-run probes for a tenant.
protected
drillTenant(TenantMetadata $tenant, Arguments $args, ConsoleIo $io) : bool
Parameters
- $tenant : TenantMetadata
- $args : Arguments
- $io : ConsoleIo
Return values
boolrunTenantCommand()
protected
runTenantCommand(array<int, string> $commandArgs, ConsoleIo $io) : int
Parameters
- $commandArgs : array<int, string>
- $io : ConsoleIo
Return values
intassertExecutionAllowed()
Fail closed unless both the command flag and environment gate are present.
private
assertExecutionAllowed(Arguments $args) : void
Parameters
- $args : Arguments
assertReleaseCompatibility()
private
assertReleaseCompatibility(array<int, TenantMetadata> $tenants, ReleaseManifest $manifest) : void
Parameters
- $tenants : array<int, TenantMetadata>
- $manifest : ReleaseManifest
assertSelector()
Validate that exactly one target selector was supplied.
private
assertSelector(Arguments $args) : void
Parameters
- $args : Arguments
baseParameters()
private
baseParameters(Arguments $args) : array<string, mixed>
Parameters
- $args : Arguments
Return values
array<string, mixed>finishJob()
private
finishJob(string $jobId, string $status, array<string, mixed> $parameters[, string|null $lastError = null ]) : void
Parameters
- $jobId : string
- $status : string
- $parameters : array<string, mixed>
- $lastError : string|null = null
insertJob()
Insert the aggregate drill job before checks begin.
private
insertJob(string $jobId, Arguments $args) : void
Parameters
- $jobId : string
- $args : Arguments
now()
Return the current UTC timestamp.
private
now() : DateTime
Return values
DateTimeplatform()
Get the platform metadata connection.
private
platform() : Connection
Return values
ConnectionresolveTenants()
private
resolveTenants(Arguments $args) : array<int, TenantMetadata>
Parameters
- $args : Arguments
Return values
array<int, TenantMetadata>resultParameters()
private
resultParameters(Arguments $args, array<int, TenantMetadata> $tenants, string $manifestVersion, int $completed, int $failed) : array<string, mixed>
Parameters
- $args : Arguments
- $tenants : array<int, TenantMetadata>
- $manifestVersion : string
- $completed : int
- $failed : int
Return values
array<string, mixed>scrubError()
Remove secret-like values from command errors before storing them.
private
scrubError(string $message) : string
Parameters
- $message : string