Documentation ¶
Index ¶
- type API
- func (api *API) Close() error
- func (api *API) CreateKeyspace(ctx context.Context, req *vtadminpb.CreateKeyspaceRequest) (*vtadminpb.CreateKeyspaceResponse, error)
- func (api *API) CreateShard(ctx context.Context, req *vtadminpb.CreateShardRequest) (*vtctldatapb.CreateShardResponse, error)
- func (api *API) DeleteKeyspace(ctx context.Context, req *vtadminpb.DeleteKeyspaceRequest) (*vtctldatapb.DeleteKeyspaceResponse, error)
- func (api *API) DeleteShards(ctx context.Context, req *vtadminpb.DeleteShardsRequest) (*vtctldatapb.DeleteShardsResponse, error)
- func (api *API) DeleteTablet(ctx context.Context, req *vtadminpb.DeleteTabletRequest) (*vtadminpb.DeleteTabletResponse, error)
- func (api *API) EjectDynamicCluster(key string, value any)
- func (api *API) EmergencyFailoverShard(ctx context.Context, req *vtadminpb.EmergencyFailoverShardRequest) (*vtadminpb.EmergencyFailoverShardResponse, error)
- func (api *API) FindSchema(ctx context.Context, req *vtadminpb.FindSchemaRequest) (*vtadminpb.Schema, error)
- func (api *API) GetBackups(ctx context.Context, req *vtadminpb.GetBackupsRequest) (*vtadminpb.GetBackupsResponse, error)
- func (api *API) GetCellInfos(ctx context.Context, req *vtadminpb.GetCellInfosRequest) (*vtadminpb.GetCellInfosResponse, error)
- func (api *API) GetCellsAliases(ctx context.Context, req *vtadminpb.GetCellsAliasesRequest) (*vtadminpb.GetCellsAliasesResponse, error)
- func (api *API) GetClusters(ctx context.Context, req *vtadminpb.GetClustersRequest) (*vtadminpb.GetClustersResponse, error)
- func (api *API) GetGates(ctx context.Context, req *vtadminpb.GetGatesRequest) (*vtadminpb.GetGatesResponse, error)
- func (api *API) GetKeyspace(ctx context.Context, req *vtadminpb.GetKeyspaceRequest) (*vtadminpb.Keyspace, error)
- func (api *API) GetKeyspaces(ctx context.Context, req *vtadminpb.GetKeyspacesRequest) (*vtadminpb.GetKeyspacesResponse, error)
- func (api *API) GetSchema(ctx context.Context, req *vtadminpb.GetSchemaRequest) (*vtadminpb.Schema, error)
- func (api *API) GetSchemas(ctx context.Context, req *vtadminpb.GetSchemasRequest) (*vtadminpb.GetSchemasResponse, error)
- func (api *API) GetShardReplicationPositions(ctx context.Context, req *vtadminpb.GetShardReplicationPositionsRequest) (*vtadminpb.GetShardReplicationPositionsResponse, error)
- func (api *API) GetSrvVSchema(ctx context.Context, req *vtadminpb.GetSrvVSchemaRequest) (*vtadminpb.SrvVSchema, error)
- func (api *API) GetSrvVSchemas(ctx context.Context, req *vtadminpb.GetSrvVSchemasRequest) (*vtadminpb.GetSrvVSchemasResponse, error)
- func (api *API) GetTablet(ctx context.Context, req *vtadminpb.GetTabletRequest) (*vtadminpb.Tablet, error)
- func (api *API) GetTablets(ctx context.Context, req *vtadminpb.GetTabletsRequest) (*vtadminpb.GetTabletsResponse, error)
- func (api *API) GetVSchema(ctx context.Context, req *vtadminpb.GetVSchemaRequest) (*vtadminpb.VSchema, error)
- func (api *API) GetVSchemas(ctx context.Context, req *vtadminpb.GetVSchemasRequest) (*vtadminpb.GetVSchemasResponse, error)
- func (api *API) GetVtctlds(ctx context.Context, req *vtadminpb.GetVtctldsRequest) (*vtadminpb.GetVtctldsResponse, error)
- func (api *API) GetWorkflow(ctx context.Context, req *vtadminpb.GetWorkflowRequest) (*vtadminpb.Workflow, error)
- func (api *API) GetWorkflows(ctx context.Context, req *vtadminpb.GetWorkflowsRequest) (*vtadminpb.GetWorkflowsResponse, error)
- func (api *API) Handler() http.Handler
- func (api *API) ListenAndServe() error
- func (api *API) PingTablet(ctx context.Context, req *vtadminpb.PingTabletRequest) (*vtadminpb.PingTabletResponse, error)
- func (api *API) PlannedFailoverShard(ctx context.Context, req *vtadminpb.PlannedFailoverShardRequest) (*vtadminpb.PlannedFailoverShardResponse, error)
- func (api *API) RefreshState(ctx context.Context, req *vtadminpb.RefreshStateRequest) (*vtadminpb.RefreshStateResponse, error)
- func (api *API) RefreshTabletReplicationSource(ctx context.Context, req *vtadminpb.RefreshTabletReplicationSourceRequest) (*vtadminpb.RefreshTabletReplicationSourceResponse, error)
- func (api *API) ReloadSchemas(ctx context.Context, req *vtadminpb.ReloadSchemasRequest) (*vtadminpb.ReloadSchemasResponse, error)
- func (api *API) RunHealthCheck(ctx context.Context, req *vtadminpb.RunHealthCheckRequest) (*vtadminpb.RunHealthCheckResponse, error)
- func (api *API) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (api *API) SetReadOnly(ctx context.Context, req *vtadminpb.SetReadOnlyRequest) (*vtadminpb.SetReadOnlyResponse, error)
- func (api *API) SetReadWrite(ctx context.Context, req *vtadminpb.SetReadWriteRequest) (*vtadminpb.SetReadWriteResponse, error)
- func (api *API) StartReplication(ctx context.Context, req *vtadminpb.StartReplicationRequest) (*vtadminpb.StartReplicationResponse, error)
- func (api *API) StopReplication(ctx context.Context, req *vtadminpb.StopReplicationRequest) (*vtadminpb.StopReplicationResponse, error)
- func (api *API) TabletExternallyPromoted(ctx context.Context, req *vtadminpb.TabletExternallyPromotedRequest) (*vtadminpb.TabletExternallyPromotedResponse, error)
- func (api *API) VTExplain(ctx context.Context, req *vtadminpb.VTExplainRequest) (*vtadminpb.VTExplainResponse, error)
- func (api *API) ValidateKeyspace(ctx context.Context, req *vtadminpb.ValidateKeyspaceRequest) (*vtctldatapb.ValidateKeyspaceResponse, error)
- func (api *API) ValidateSchemaKeyspace(ctx context.Context, req *vtadminpb.ValidateSchemaKeyspaceRequest) (*vtctldatapb.ValidateSchemaKeyspaceResponse, error)
- func (api *API) ValidateVersionKeyspace(ctx context.Context, req *vtadminpb.ValidateVersionKeyspaceRequest) (*vtctldatapb.ValidateVersionKeyspaceResponse, error)
- func (api *API) WithCluster(c *cluster.Cluster, id string) dynamic.API
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct { vtadminpb.UnimplementedVTAdminServer // contains filtered or unexported fields }
API is the main entrypoint for the vtadmin server. It implements vtadminpb.VTAdminServer.
func NewAPI ¶
NewAPI returns a new API, configured to service the given set of clusters, and configured with the given options.
func (*API) Close ¶ added in v0.13.0
Close closes all the clusters in an API concurrently. Its primary function is to gracefully shutdown cache background goroutines to avoid data races in tests, but needs to be exported to be called by those tests. It does not have any production use case.
func (*API) CreateKeyspace ¶ added in v0.12.0
func (api *API) CreateKeyspace(ctx context.Context, req *vtadminpb.CreateKeyspaceRequest) (*vtadminpb.CreateKeyspaceResponse, error)
CreateKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) CreateShard ¶ added in v0.13.0
func (api *API) CreateShard(ctx context.Context, req *vtadminpb.CreateShardRequest) (*vtctldatapb.CreateShardResponse, error)
CreateShard is part of the vtadminpb.VTAdminServer interface.
func (*API) DeleteKeyspace ¶ added in v0.12.0
func (api *API) DeleteKeyspace(ctx context.Context, req *vtadminpb.DeleteKeyspaceRequest) (*vtctldatapb.DeleteKeyspaceResponse, error)
DeleteKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) DeleteShards ¶ added in v0.13.0
func (api *API) DeleteShards(ctx context.Context, req *vtadminpb.DeleteShardsRequest) (*vtctldatapb.DeleteShardsResponse, error)
DeleteShards is part of the vtadminpb.VTAdminServer interface.
func (*API) DeleteTablet ¶ added in v0.13.0
func (api *API) DeleteTablet(ctx context.Context, req *vtadminpb.DeleteTabletRequest) (*vtadminpb.DeleteTabletResponse, error)
DeleteTablet is part of the vtadminpb.VTAdminServer interface.
func (*API) EjectDynamicCluster ¶ added in v0.13.0
func (*API) EmergencyFailoverShard ¶ added in v0.14.0
func (api *API) EmergencyFailoverShard(ctx context.Context, req *vtadminpb.EmergencyFailoverShardRequest) (*vtadminpb.EmergencyFailoverShardResponse, error)
EmergencyFailoverShard is part of the vtadminpb.VTAdminServer interface.
func (*API) FindSchema ¶ added in v0.10.0
func (api *API) FindSchema(ctx context.Context, req *vtadminpb.FindSchemaRequest) (*vtadminpb.Schema, error)
FindSchema is part of the vtadminpb.VTAdminServer interface.
func (*API) GetBackups ¶ added in v0.11.0
func (api *API) GetBackups(ctx context.Context, req *vtadminpb.GetBackupsRequest) (*vtadminpb.GetBackupsResponse, error)
GetBackups is part of the vtadminpb.VTAdminServer interface.
func (*API) GetCellInfos ¶ added in v0.14.0
func (api *API) GetCellInfos(ctx context.Context, req *vtadminpb.GetCellInfosRequest) (*vtadminpb.GetCellInfosResponse, error)
GetCellInfos is part of the vtadminpb.VTAdminServer interface.
func (*API) GetCellsAliases ¶ added in v0.14.0
func (api *API) GetCellsAliases(ctx context.Context, req *vtadminpb.GetCellsAliasesRequest) (*vtadminpb.GetCellsAliasesResponse, error)
GetCellsAliases is part of the vtadminpb.VTAdminServer interface.
func (*API) GetClusters ¶ added in v0.10.0
func (api *API) GetClusters(ctx context.Context, req *vtadminpb.GetClustersRequest) (*vtadminpb.GetClustersResponse, error)
GetClusters is part of the vtadminpb.VTAdminServer interface.
func (*API) GetGates ¶
func (api *API) GetGates(ctx context.Context, req *vtadminpb.GetGatesRequest) (*vtadminpb.GetGatesResponse, error)
GetGates is part of the vtadminpb.VTAdminServer interface.
func (*API) GetKeyspace ¶ added in v0.11.0
func (api *API) GetKeyspace(ctx context.Context, req *vtadminpb.GetKeyspaceRequest) (*vtadminpb.Keyspace, error)
GetKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) GetKeyspaces ¶ added in v0.10.0
func (api *API) GetKeyspaces(ctx context.Context, req *vtadminpb.GetKeyspacesRequest) (*vtadminpb.GetKeyspacesResponse, error)
GetKeyspaces is part of the vtadminpb.VTAdminServer interface.
func (*API) GetSchema ¶ added in v0.10.0
func (api *API) GetSchema(ctx context.Context, req *vtadminpb.GetSchemaRequest) (*vtadminpb.Schema, error)
GetSchema is part of the vtadminpb.VTAdminServer interface.
func (*API) GetSchemas ¶ added in v0.10.0
func (api *API) GetSchemas(ctx context.Context, req *vtadminpb.GetSchemasRequest) (*vtadminpb.GetSchemasResponse, error)
GetSchemas is part of the vtadminpb.VTAdminServer interface.
func (*API) GetShardReplicationPositions ¶ added in v0.12.0
func (api *API) GetShardReplicationPositions(ctx context.Context, req *vtadminpb.GetShardReplicationPositionsRequest) (*vtadminpb.GetShardReplicationPositionsResponse, error)
GetShardReplicationPositions is part of the vtadminpb.VTAdminServer interface.
func (*API) GetSrvVSchema ¶ added in v0.11.0
func (api *API) GetSrvVSchema(ctx context.Context, req *vtadminpb.GetSrvVSchemaRequest) (*vtadminpb.SrvVSchema, error)
GetSrvVSchema is part of the vtadminpb.VTAdminServer interface.
func (*API) GetSrvVSchemas ¶ added in v0.11.0
func (api *API) GetSrvVSchemas(ctx context.Context, req *vtadminpb.GetSrvVSchemasRequest) (*vtadminpb.GetSrvVSchemasResponse, error)
GetSrvVSchemas is part of the vtadminpb.VTAdminServer interface.
func (*API) GetTablet ¶
func (api *API) GetTablet(ctx context.Context, req *vtadminpb.GetTabletRequest) (*vtadminpb.Tablet, error)
GetTablet is part of the vtadminpb.VTAdminServer interface.
func (*API) GetTablets ¶
func (api *API) GetTablets(ctx context.Context, req *vtadminpb.GetTabletsRequest) (*vtadminpb.GetTabletsResponse, error)
GetTablets is part of the vtadminpb.VTAdminServer interface.
func (*API) GetVSchema ¶ added in v0.10.0
func (api *API) GetVSchema(ctx context.Context, req *vtadminpb.GetVSchemaRequest) (*vtadminpb.VSchema, error)
GetVSchema is part of the vtadminpb.VTAdminServer interface.
func (*API) GetVSchemas ¶ added in v0.10.0
func (api *API) GetVSchemas(ctx context.Context, req *vtadminpb.GetVSchemasRequest) (*vtadminpb.GetVSchemasResponse, error)
GetVSchemas is part of the vtadminpb.VTAdminServer interface.
func (*API) GetVtctlds ¶ added in v0.12.0
func (api *API) GetVtctlds(ctx context.Context, req *vtadminpb.GetVtctldsRequest) (*vtadminpb.GetVtctldsResponse, error)
GetVtctlds is part of the vtadminpb.VTAdminServer interface.
func (*API) GetWorkflow ¶ added in v0.10.0
func (api *API) GetWorkflow(ctx context.Context, req *vtadminpb.GetWorkflowRequest) (*vtadminpb.Workflow, error)
GetWorkflow is part of the vtadminpb.VTAdminServer interface.
func (*API) GetWorkflows ¶ added in v0.10.0
func (api *API) GetWorkflows(ctx context.Context, req *vtadminpb.GetWorkflowsRequest) (*vtadminpb.GetWorkflowsResponse, error)
GetWorkflows is part of the vtadminpb.VTAdminServer interface.
func (*API) ListenAndServe ¶
ListenAndServe starts serving this API on the configured Addr (see grpcserver.Options) until shutdown or irrecoverable error occurs.
func (*API) PingTablet ¶ added in v0.13.0
func (api *API) PingTablet(ctx context.Context, req *vtadminpb.PingTabletRequest) (*vtadminpb.PingTabletResponse, error)
PingTablet is part of the vtadminpb.VTAdminServer interface.
func (*API) PlannedFailoverShard ¶ added in v0.14.0
func (api *API) PlannedFailoverShard(ctx context.Context, req *vtadminpb.PlannedFailoverShardRequest) (*vtadminpb.PlannedFailoverShardResponse, error)
PlannedFailoverShard is part of the vtadminpb.VTAdminServer interface.
func (*API) RefreshState ¶ added in v0.13.0
func (api *API) RefreshState(ctx context.Context, req *vtadminpb.RefreshStateRequest) (*vtadminpb.RefreshStateResponse, error)
RefreshState is part of the vtadminpb.VTAdminServer interface.
func (*API) RefreshTabletReplicationSource ¶ added in v0.14.0
func (api *API) RefreshTabletReplicationSource(ctx context.Context, req *vtadminpb.RefreshTabletReplicationSourceRequest) (*vtadminpb.RefreshTabletReplicationSourceResponse, error)
RefreshTabletReplicationSource is part of the vtadminpb.VTAdminServer interface.
func (*API) ReloadSchemas ¶ added in v0.14.0
func (api *API) ReloadSchemas(ctx context.Context, req *vtadminpb.ReloadSchemasRequest) (*vtadminpb.ReloadSchemasResponse, error)
ReloadSchemas is part of the vtadminpb.VTAdminServer interface.
func (*API) RunHealthCheck ¶ added in v0.13.0
func (api *API) RunHealthCheck(ctx context.Context, req *vtadminpb.RunHealthCheckRequest) (*vtadminpb.RunHealthCheckResponse, error)
RunHealthCheck is part of the vtadminpb.VTAdminServer interface.
func (*API) ServeHTTP ¶ added in v0.13.0
func (api *API) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP serves all routes matching path "/api" (see above) It first processes cookies, and acts accordingly Primarily, it sets up a dynamic API if HttpOpts.EnableDynamicClusters is set to true.
func (*API) SetReadOnly ¶ added in v0.14.0
func (api *API) SetReadOnly(ctx context.Context, req *vtadminpb.SetReadOnlyRequest) (*vtadminpb.SetReadOnlyResponse, error)
SetReadOnly is part of the vtadminpb.VTAdminServer interface.
func (*API) SetReadWrite ¶ added in v0.14.0
func (api *API) SetReadWrite(ctx context.Context, req *vtadminpb.SetReadWriteRequest) (*vtadminpb.SetReadWriteResponse, error)
SetReadWrite is part of the vtadminpb.VTAdminServer interface.
func (*API) StartReplication ¶ added in v0.13.0
func (api *API) StartReplication(ctx context.Context, req *vtadminpb.StartReplicationRequest) (*vtadminpb.StartReplicationResponse, error)
StartReplication is part of the vtadminpb.VTAdminServer interface.
func (*API) StopReplication ¶ added in v0.13.0
func (api *API) StopReplication(ctx context.Context, req *vtadminpb.StopReplicationRequest) (*vtadminpb.StopReplicationResponse, error)
StopReplication is part of the vtadminpb.VTAdminServer interface.
func (*API) TabletExternallyPromoted ¶ added in v0.14.0
func (api *API) TabletExternallyPromoted(ctx context.Context, req *vtadminpb.TabletExternallyPromotedRequest) (*vtadminpb.TabletExternallyPromotedResponse, error)
TabletExternallyPromoted is part of the vtadminpb.VTAdminServer interface.
func (*API) VTExplain ¶ added in v0.10.0
func (api *API) VTExplain(ctx context.Context, req *vtadminpb.VTExplainRequest) (*vtadminpb.VTExplainResponse, error)
VTExplain is part of the vtadminpb.VTAdminServer interface.
func (*API) ValidateKeyspace ¶ added in v0.14.0
func (api *API) ValidateKeyspace(ctx context.Context, req *vtadminpb.ValidateKeyspaceRequest) (*vtctldatapb.ValidateKeyspaceResponse, error)
ValidateKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) ValidateSchemaKeyspace ¶ added in v0.14.0
func (api *API) ValidateSchemaKeyspace(ctx context.Context, req *vtadminpb.ValidateSchemaKeyspaceRequest) (*vtctldatapb.ValidateSchemaKeyspaceResponse, error)
ValidateSchemaKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) ValidateVersionKeyspace ¶ added in v0.14.0
func (api *API) ValidateVersionKeyspace(ctx context.Context, req *vtadminpb.ValidateVersionKeyspaceRequest) (*vtctldatapb.ValidateVersionKeyspaceResponse, error)
ValidateVersionKeyspace is part of the vtadminpb.VTAdminServer interface.
func (*API) WithCluster ¶ added in v0.14.0
WithCluster returns a dynamic API with the given cluster. If `c` is non-nil, it is used as the selected cluster. If the cluster is nil, then a cluster with the given id is retrieved from the API and used in the dynamic API.
Callers must ensure that: 1. If c is non-nil, c.ID == id. 2. id is non-empty.
Note that using dynamic.ClusterFromString ensures both of these preconditions.
type Options ¶ added in v0.12.0
type Options struct { GRPCOpts grpcserver.Options HTTPOpts vtadminhttp.Options RBAC *rbac.Config // EnableDynamicClusters makes it so that clients can pass clusters dynamically // in a session-like way, either via HTTP cookies or gRPC metadata. EnableDynamicClusters bool }
Options wraps the configuration options for different components of the vtadmin API.
Directories ¶
Path | Synopsis |
---|---|
Package cache provides a generic key/value cache with support for background filling.
|
Package cache provides a generic key/value cache with support for background filling. |
discovery/fakediscovery
Package fakediscovery provides a fake, in-memory discovery implementation.
|
Package fakediscovery provides a fake, in-memory discovery implementation. |
internal/caches/schemacache
Package schemacache provides wrapper functions for interacting with instances of the generic (vtadmin/cache).Cache that store schemas.
|
Package schemacache provides wrapper functions for interacting with instances of the generic (vtadmin/cache).Cache that store schemas. |
resolver
Package resolver provides a discovery-based resolver for VTAdmin clusters.
|
Package resolver provides a discovery-based resolver for VTAdmin clusters. |
internal
|
|
backoff
Package backoff implements different backoff strategies for retrying failed operations in VTAdmin.
|
Package backoff implements different backoff strategies for retrying failed operations in VTAdmin. |
rand
Package rand provides functions mirroring math/rand that are safe for concurrent use, seeded independently of math/rand's global source.
|
Package rand provides functions mirroring math/rand that are safe for concurrent use, seeded independently of math/rand's global source. |
Package rbac provides role-based access control for vtadmin API endpoints.
|
Package rbac provides role-based access control for vtadmin API endpoints. |
Package sort provides convenience wrappers for sorting various vtadmin types.
|
Package sort provides convenience wrappers for sorting various vtadmin types. |
Package vtadminproto provides helper functions for working with vtadminpb protobuf types.
|
Package vtadminproto provides helper functions for working with vtadminpb protobuf types. |
fakevtsql
Package fakevtsql provides an interface for mocking out sql.DB responses in tests that depend on a vtsql.DB instance.
|
Package fakevtsql provides an interface for mocking out sql.DB responses in tests that depend on a vtsql.DB instance. |