168 lines
5.5 KiB
JSON
168 lines
5.5 KiB
JSON
{
|
|
"apiVersion": "apiextensions.k8s.io/v1",
|
|
"kind": "CustomResourceDefinition",
|
|
"metadata": {
|
|
"name": "mysqlreplicacrds.flowercore.io"
|
|
},
|
|
"spec": {
|
|
"group": "flowercore.io",
|
|
"names": {
|
|
"kind": "MySqlReplicaCrd",
|
|
"listKind": "MySqlReplicaCrdList",
|
|
"plural": "mysqlreplicacrds",
|
|
"singular": "mysqlreplicacrd",
|
|
"shortNames": [
|
|
"mysqlreplica",
|
|
"mysqlrepl"
|
|
]
|
|
},
|
|
"scope": "Namespaced",
|
|
"versions": [
|
|
{
|
|
"name": "v1",
|
|
"served": true,
|
|
"storage": true,
|
|
"schema": {
|
|
"openAPIV3Schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"spec": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"description": "Reserved for ADR-039 action dispatch. The replica reconciler is declarative \u2014 promote / failover go through the MySQL Manager Web API instead."
|
|
},
|
|
"labels": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"description": "Replica topology fields carried as labels (primary-instance, replica-instance, replication-user, replication-user-secret, auto-failover)."
|
|
}
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phase": {
|
|
"type": "string",
|
|
"description": "Replication phase (Pending, Configuring, Running, Degraded, Failed, Promoted)."
|
|
},
|
|
"lastApplied": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "UTC timestamp of the last successful reconcile."
|
|
},
|
|
"currentSourceHost": {
|
|
"type": "string",
|
|
"description": "SOURCE_HOST currently configured on the replica."
|
|
},
|
|
"currentSourcePort": {
|
|
"type": "integer",
|
|
"description": "SOURCE_PORT currently configured on the replica."
|
|
},
|
|
"secondsBehindSource": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Seconds_Behind_Source from SHOW REPLICA STATUS."
|
|
},
|
|
"replicaIoRunning": {
|
|
"type": "string",
|
|
"description": "Replica_IO_Running (Yes/No/Connecting)."
|
|
},
|
|
"replicaSqlRunning": {
|
|
"type": "string",
|
|
"description": "Replica_SQL_Running."
|
|
},
|
|
"lastError": {
|
|
"type": "string",
|
|
"description": "Most recent IO / SQL error text."
|
|
},
|
|
"lastAction": {
|
|
"type": "string"
|
|
},
|
|
"lastActionStatus": {
|
|
"type": "string"
|
|
},
|
|
"lastActionTimestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"ready": {
|
|
"type": "string"
|
|
},
|
|
"retryCount": {
|
|
"type": "integer"
|
|
},
|
|
"nextRetryAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"conditions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"lastTransitionTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"subresources": {
|
|
"status": {}
|
|
},
|
|
"additionalPrinterColumns": [
|
|
{
|
|
"name": "Phase",
|
|
"type": "string",
|
|
"jsonPath": ".status.phase"
|
|
},
|
|
{
|
|
"name": "Source",
|
|
"type": "string",
|
|
"jsonPath": ".status.currentSourceHost"
|
|
},
|
|
{
|
|
"name": "Lag",
|
|
"type": "integer",
|
|
"jsonPath": ".status.secondsBehindSource"
|
|
},
|
|
{
|
|
"name": "Ready",
|
|
"type": "string",
|
|
"jsonPath": ".status.ready"
|
|
},
|
|
{
|
|
"name": "Age",
|
|
"type": "date",
|
|
"jsonPath": ".metadata.creationTimestamp"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|