v1

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Admin_PutRole_FullMethodName           = "/v1.Admin/PutRole"
	Admin_DeleteRole_FullMethodName        = "/v1.Admin/DeleteRole"
	Admin_GetRole_FullMethodName           = "/v1.Admin/GetRole"
	Admin_ListRoles_FullMethodName         = "/v1.Admin/ListRoles"
	Admin_PutRoleBinding_FullMethodName    = "/v1.Admin/PutRoleBinding"
	Admin_DeleteRoleBinding_FullMethodName = "/v1.Admin/DeleteRoleBinding"
	Admin_GetRoleBinding_FullMethodName    = "/v1.Admin/GetRoleBinding"
	Admin_ListRoleBindings_FullMethodName  = "/v1.Admin/ListRoleBindings"
	Admin_PutGroup_FullMethodName          = "/v1.Admin/PutGroup"
	Admin_DeleteGroup_FullMethodName       = "/v1.Admin/DeleteGroup"
	Admin_GetGroup_FullMethodName          = "/v1.Admin/GetGroup"
	Admin_ListGroups_FullMethodName        = "/v1.Admin/ListGroups"
	Admin_PutNetworkACL_FullMethodName     = "/v1.Admin/PutNetworkACL"
	Admin_DeleteNetworkACL_FullMethodName  = "/v1.Admin/DeleteNetworkACL"
	Admin_GetNetworkACL_FullMethodName     = "/v1.Admin/GetNetworkACL"
	Admin_ListNetworkACLs_FullMethodName   = "/v1.Admin/ListNetworkACLs"
	Admin_PutRoute_FullMethodName          = "/v1.Admin/PutRoute"
	Admin_DeleteRoute_FullMethodName       = "/v1.Admin/DeleteRoute"
	Admin_GetRoute_FullMethodName          = "/v1.Admin/GetRoute"
	Admin_ListRoutes_FullMethodName        = "/v1.Admin/ListRoutes"
	Admin_PutEdge_FullMethodName           = "/v1.Admin/PutEdge"
	Admin_DeleteEdge_FullMethodName        = "/v1.Admin/DeleteEdge"
	Admin_GetEdge_FullMethodName           = "/v1.Admin/GetEdge"
	Admin_ListEdges_FullMethodName         = "/v1.Admin/ListEdges"
)
View Source
const (
	Mesh_GetNode_FullMethodName      = "/v1.Mesh/GetNode"
	Mesh_ListNodes_FullMethodName    = "/v1.Mesh/ListNodes"
	Mesh_GetMeshGraph_FullMethodName = "/v1.Mesh/GetMeshGraph"
)
View Source
const (
	Node_Join_FullMethodName                 = "/v1.Node/Join"
	Node_Leave_FullMethodName                = "/v1.Node/Leave"
	Node_GetStatus_FullMethodName            = "/v1.Node/GetStatus"
	Node_Snapshot_FullMethodName             = "/v1.Node/Snapshot"
	Node_NegotiateDataChannel_FullMethodName = "/v1.Node/NegotiateDataChannel"
)
View Source
const (
	Plugin_GetInfo_FullMethodName         = "/v1.Plugin/GetInfo"
	Plugin_Configure_FullMethodName       = "/v1.Plugin/Configure"
	Plugin_Store_FullMethodName           = "/v1.Plugin/Store"
	Plugin_RestoreSnapshot_FullMethodName = "/v1.Plugin/RestoreSnapshot"
	Plugin_Authenticate_FullMethodName    = "/v1.Plugin/Authenticate"
	Plugin_Emit_FullMethodName            = "/v1.Plugin/Emit"
)
View Source
const (
	PeerDiscovery_ListPeers_FullMethodName = "/v1.PeerDiscovery/ListPeers"
)
View Source
const (
	WebRTC_StartDataChannel_FullMethodName = "/v1.WebRTC/StartDataChannel"
)

Variables

View Source
var (
	EdgeAttributes_name = map[int32]string{
		0: "EDGE_ATTRIBUTE_UNKNOWN",
		1: "EDGE_ATTRIBUTE_ICE",
	}
	EdgeAttributes_value = map[string]int32{
		"EDGE_ATTRIBUTE_UNKNOWN": 0,
		"EDGE_ATTRIBUTE_ICE":     1,
	}
)

Enum value maps for EdgeAttributes.

View Source
var (
	ACLAction_name = map[int32]string{
		0: "ACTION_UNKNOWN",
		1: "ACTION_ACCEPT",
		2: "ACTION_DENY",
	}
	ACLAction_value = map[string]int32{
		"ACTION_UNKNOWN": 0,
		"ACTION_ACCEPT":  1,
		"ACTION_DENY":    2,
	}
)

Enum value maps for ACLAction.

View Source
var (
	ClusterStatus_name = map[int32]string{
		0: "CLUSTER_STATUS_UNKNOWN",
		1: "CLUSTER_LEADER",
		2: "CLUSTER_VOTER",
		3: "CLUSTER_NON_VOTER",
	}
	ClusterStatus_value = map[string]int32{
		"CLUSTER_STATUS_UNKNOWN": 0,
		"CLUSTER_LEADER":         1,
		"CLUSTER_VOTER":          2,
		"CLUSTER_NON_VOTER":      3,
	}
)

Enum value maps for ClusterStatus.

View Source
var (
	Feature_name = map[int32]string{
		0: "FEATURE_NONE",
		1: "NODES",
		2: "LEADER_PROXY",
		3: "MESH_API",
		4: "ADMIN_API",
		5: "PEER_DISCOVERY",
		6: "METRICS",
		7: "ICE_NEGOTIATION",
		8: "TURN_SERVER",
		9: "MESH_DNS",
	}
	Feature_value = map[string]int32{
		"FEATURE_NONE":    0,
		"NODES":           1,
		"LEADER_PROXY":    2,
		"MESH_API":        3,
		"ADMIN_API":       4,
		"PEER_DISCOVERY":  5,
		"METRICS":         6,
		"ICE_NEGOTIATION": 7,
		"TURN_SERVER":     8,
		"MESH_DNS":        9,
	}
)

Enum value maps for Feature.

View Source
var (
	DataChannel_name = map[int32]string{
		0: "CHANNELS",
		1: "CONNECTIONS",
	}
	DataChannel_value = map[string]int32{
		"CHANNELS":    0,
		"CONNECTIONS": 1,
	}
)

Enum value maps for DataChannel.

View Source
var (
	PluginCapability_name = map[int32]string{
		0: "PLUGIN_CAPABILITY_UNKNOWN",
		1: "PLUGIN_CAPABILITY_STORE",
		2: "PLUGIN_CAPABILITY_AUTH",
		3: "PLUGIN_CAPABILITY_WATCH",
	}
	PluginCapability_value = map[string]int32{
		"PLUGIN_CAPABILITY_UNKNOWN": 0,
		"PLUGIN_CAPABILITY_STORE":   1,
		"PLUGIN_CAPABILITY_AUTH":    2,
		"PLUGIN_CAPABILITY_WATCH":   3,
	}
)

Enum value maps for PluginCapability.

View Source
var (
	WatchEvent_name = map[int32]string{
		0: "WATCH_EVENT_UNKNOWN",
		1: "WATCH_EVENT_NODE_JOIN",
		2: "WATCH_EVENT_NODE_LEAVE",
		3: "WATCH_EVENT_LEADER_CHANGE",
	}
	WatchEvent_value = map[string]int32{
		"WATCH_EVENT_UNKNOWN":       0,
		"WATCH_EVENT_NODE_JOIN":     1,
		"WATCH_EVENT_NODE_LEAVE":    2,
		"WATCH_EVENT_LEADER_CHANGE": 3,
	}
)

Enum value maps for WatchEvent.

View Source
var (
	RaftCommandType_name = map[int32]string{
		0: "UNKNOWN",
		1: "QUERY",
		2: "EXECUTE",
	}
	RaftCommandType_value = map[string]int32{
		"UNKNOWN": 0,
		"QUERY":   1,
		"EXECUTE": 2,
	}
)

Enum value maps for RaftCommandType.

View Source
var (
	SQLParameterType_name = map[int32]string{
		0: "SQL_PARAM_UNKNOWN",
		1: "SQL_PARAM_INT64",
		2: "SQL_PARAM_DOUBLE",
		3: "SQL_PARAM_BOOL",
		4: "SQL_PARAM_BYTES",
		5: "SQL_PARAM_STRING",
		6: "SQL_PARAM_TIME",
		7: "SQL_PARAM_NULL",
	}
	SQLParameterType_value = map[string]int32{
		"SQL_PARAM_UNKNOWN": 0,
		"SQL_PARAM_INT64":   1,
		"SQL_PARAM_DOUBLE":  2,
		"SQL_PARAM_BOOL":    3,
		"SQL_PARAM_BYTES":   4,
		"SQL_PARAM_STRING":  5,
		"SQL_PARAM_TIME":    6,
		"SQL_PARAM_NULL":    7,
	}
)

Enum value maps for SQLParameterType.

View Source
var (
	RuleResource_name = map[int32]string{
		0:   "RESOURCE_UNKNOWN",
		1:   "RESOURCE_VOTES",
		2:   "RESOURCE_ROLES",
		3:   "RESOURCE_ROLE_BINDINGS",
		4:   "RESOURCE_GROUPS",
		5:   "RESOURCE_NETWORK_ACLS",
		6:   "RESOURCE_ROUTES",
		7:   "RESOURCE_DATA_CHANNELS",
		8:   "RESOURCE_EDGES",
		999: "RESOURCE_ALL",
	}
	RuleResource_value = map[string]int32{
		"RESOURCE_UNKNOWN":       0,
		"RESOURCE_VOTES":         1,
		"RESOURCE_ROLES":         2,
		"RESOURCE_ROLE_BINDINGS": 3,
		"RESOURCE_GROUPS":        4,
		"RESOURCE_NETWORK_ACLS":  5,
		"RESOURCE_ROUTES":        6,
		"RESOURCE_DATA_CHANNELS": 7,
		"RESOURCE_EDGES":         8,
		"RESOURCE_ALL":           999,
	}
)

Enum value maps for RuleResource.

View Source
var (
	RuleVerb_name = map[int32]string{
		0:   "VERB_UNKNOWN",
		1:   "VERB_PUT",
		2:   "VERB_GET",
		3:   "VERB_DELETE",
		999: "VERB_ALL",
	}
	RuleVerb_value = map[string]int32{
		"VERB_UNKNOWN": 0,
		"VERB_PUT":     1,
		"VERB_GET":     2,
		"VERB_DELETE":  3,
		"VERB_ALL":     999,
	}
)

Enum value maps for RuleVerb.

View Source
var (
	SubjectType_name = map[int32]string{
		0:   "SUBJECT_UNKNOWN",
		1:   "SUBJECT_NODE",
		2:   "SUBJECT_USER",
		3:   "SUBJECT_GROUP",
		999: "SUBJECT_ALL",
	}
	SubjectType_value = map[string]int32{
		"SUBJECT_UNKNOWN": 0,
		"SUBJECT_NODE":    1,
		"SUBJECT_USER":    2,
		"SUBJECT_GROUP":   3,
		"SUBJECT_ALL":     999,
	}
)

Enum value maps for SubjectType.

View Source
var Admin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Admin",
	HandlerType: (*AdminServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "PutRole",
			Handler:    _Admin_PutRole_Handler,
		},
		{
			MethodName: "DeleteRole",
			Handler:    _Admin_DeleteRole_Handler,
		},
		{
			MethodName: "GetRole",
			Handler:    _Admin_GetRole_Handler,
		},
		{
			MethodName: "ListRoles",
			Handler:    _Admin_ListRoles_Handler,
		},
		{
			MethodName: "PutRoleBinding",
			Handler:    _Admin_PutRoleBinding_Handler,
		},
		{
			MethodName: "DeleteRoleBinding",
			Handler:    _Admin_DeleteRoleBinding_Handler,
		},
		{
			MethodName: "GetRoleBinding",
			Handler:    _Admin_GetRoleBinding_Handler,
		},
		{
			MethodName: "ListRoleBindings",
			Handler:    _Admin_ListRoleBindings_Handler,
		},
		{
			MethodName: "PutGroup",
			Handler:    _Admin_PutGroup_Handler,
		},
		{
			MethodName: "DeleteGroup",
			Handler:    _Admin_DeleteGroup_Handler,
		},
		{
			MethodName: "GetGroup",
			Handler:    _Admin_GetGroup_Handler,
		},
		{
			MethodName: "ListGroups",
			Handler:    _Admin_ListGroups_Handler,
		},
		{
			MethodName: "PutNetworkACL",
			Handler:    _Admin_PutNetworkACL_Handler,
		},
		{
			MethodName: "DeleteNetworkACL",
			Handler:    _Admin_DeleteNetworkACL_Handler,
		},
		{
			MethodName: "GetNetworkACL",
			Handler:    _Admin_GetNetworkACL_Handler,
		},
		{
			MethodName: "ListNetworkACLs",
			Handler:    _Admin_ListNetworkACLs_Handler,
		},
		{
			MethodName: "PutRoute",
			Handler:    _Admin_PutRoute_Handler,
		},
		{
			MethodName: "DeleteRoute",
			Handler:    _Admin_DeleteRoute_Handler,
		},
		{
			MethodName: "GetRoute",
			Handler:    _Admin_GetRoute_Handler,
		},
		{
			MethodName: "ListRoutes",
			Handler:    _Admin_ListRoutes_Handler,
		},
		{
			MethodName: "PutEdge",
			Handler:    _Admin_PutEdge_Handler,
		},
		{
			MethodName: "DeleteEdge",
			Handler:    _Admin_DeleteEdge_Handler,
		},
		{
			MethodName: "GetEdge",
			Handler:    _Admin_GetEdge_Handler,
		},
		{
			MethodName: "ListEdges",
			Handler:    _Admin_ListEdges_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/admin.proto",
}

Admin_ServiceDesc is the grpc.ServiceDesc for Admin service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_v1_admin_proto protoreflect.FileDescriptor
View Source
var File_v1_mesh_proto protoreflect.FileDescriptor
View Source
var File_v1_network_acls_proto protoreflect.FileDescriptor
View Source
var File_v1_node_proto protoreflect.FileDescriptor
View Source
var File_v1_peer_discovery_proto protoreflect.FileDescriptor
View Source
var File_v1_plugin_proto protoreflect.FileDescriptor
View Source
var File_v1_raft_proto protoreflect.FileDescriptor
View Source
var File_v1_rbac_proto protoreflect.FileDescriptor
View Source
var File_v1_webrtc_proto protoreflect.FileDescriptor
View Source
var Mesh_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Mesh",
	HandlerType: (*MeshServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetNode",
			Handler:    _Mesh_GetNode_Handler,
		},
		{
			MethodName: "ListNodes",
			Handler:    _Mesh_ListNodes_Handler,
		},
		{
			MethodName: "GetMeshGraph",
			Handler:    _Mesh_GetMeshGraph_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/mesh.proto",
}

Mesh_ServiceDesc is the grpc.ServiceDesc for Mesh service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Node_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Node",
	HandlerType: (*NodeServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Join",
			Handler:    _Node_Join_Handler,
		},
		{
			MethodName: "Leave",
			Handler:    _Node_Leave_Handler,
		},
		{
			MethodName: "GetStatus",
			Handler:    _Node_GetStatus_Handler,
		},
		{
			MethodName: "Snapshot",
			Handler:    _Node_Snapshot_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "NegotiateDataChannel",
			Handler:       _Node_NegotiateDataChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "v1/node.proto",
}

Node_ServiceDesc is the grpc.ServiceDesc for Node service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var PeerDiscovery_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.PeerDiscovery",
	HandlerType: (*PeerDiscoveryServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListPeers",
			Handler:    _PeerDiscovery_ListPeers_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/peer_discovery.proto",
}

PeerDiscovery_ServiceDesc is the grpc.ServiceDesc for PeerDiscovery service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Plugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Plugin",
	HandlerType: (*PluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetInfo",
			Handler:    _Plugin_GetInfo_Handler,
		},
		{
			MethodName: "Configure",
			Handler:    _Plugin_Configure_Handler,
		},
		{
			MethodName: "Store",
			Handler:    _Plugin_Store_Handler,
		},
		{
			MethodName: "RestoreSnapshot",
			Handler:    _Plugin_RestoreSnapshot_Handler,
		},
		{
			MethodName: "Authenticate",
			Handler:    _Plugin_Authenticate_Handler,
		},
		{
			MethodName: "Emit",
			Handler:    _Plugin_Emit_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/plugin.proto",
}

Plugin_ServiceDesc is the grpc.ServiceDesc for Plugin service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var WebRTC_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.WebRTC",
	HandlerType: (*WebRTCServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StartDataChannel",
			Handler:       _WebRTC_StartDataChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "v1/webrtc.proto",
}

WebRTC_ServiceDesc is the grpc.ServiceDesc for WebRTC service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterAdminServer

func RegisterAdminServer(s grpc.ServiceRegistrar, srv AdminServer)

func RegisterMeshServer

func RegisterMeshServer(s grpc.ServiceRegistrar, srv MeshServer)

func RegisterNodeServer

func RegisterNodeServer(s grpc.ServiceRegistrar, srv NodeServer)

func RegisterPeerDiscoveryServer

func RegisterPeerDiscoveryServer(s grpc.ServiceRegistrar, srv PeerDiscoveryServer)

func RegisterPluginServer

func RegisterPluginServer(s grpc.ServiceRegistrar, srv PluginServer)

func RegisterWebRTCServer

func RegisterWebRTCServer(s grpc.ServiceRegistrar, srv WebRTCServer)

Types

type ACLAction

type ACLAction int32

ACLAction is the action to take when a request matches an ACL.

const (
	// ACTION_UNKNOWN is the default action for ACLs. It is synonymous with ACTION_DENY.
	ACLAction_ACTION_UNKNOWN ACLAction = 0
	// ACTION_ACCEPT allows the request to proceed.
	ACLAction_ACTION_ACCEPT ACLAction = 1
	// ACTION_DENY denies the request.
	ACLAction_ACTION_DENY ACLAction = 2
)

func (ACLAction) Descriptor

func (ACLAction) Descriptor() protoreflect.EnumDescriptor

func (ACLAction) Enum

func (x ACLAction) Enum() *ACLAction

func (ACLAction) EnumDescriptor deprecated

func (ACLAction) EnumDescriptor() ([]byte, []int)

Deprecated: Use ACLAction.Descriptor instead.

func (ACLAction) Number

func (x ACLAction) Number() protoreflect.EnumNumber

func (ACLAction) String

func (x ACLAction) String() string

func (ACLAction) Type

type AdminClient

type AdminClient interface {
	// PutRole creates or updates a role.
	PutRole(ctx context.Context, in *Role, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteRole deletes a role.
	DeleteRole(ctx context.Context, in *Role, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetRole gets a role.
	GetRole(ctx context.Context, in *Role, opts ...grpc.CallOption) (*Role, error)
	// ListRoles gets all roles.
	ListRoles(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Roles, error)
	// PutRoleBinding creates or updates a role binding.
	PutRoleBinding(ctx context.Context, in *RoleBinding, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteRoleBinding deletes a role binding.
	DeleteRoleBinding(ctx context.Context, in *RoleBinding, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetRoleBinding gets a role binding.
	GetRoleBinding(ctx context.Context, in *RoleBinding, opts ...grpc.CallOption) (*RoleBinding, error)
	// ListRoleBindings gets all role bindings.
	ListRoleBindings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RoleBindings, error)
	// PutGroup creates or updates a group.
	PutGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteGroup deletes a group.
	DeleteGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetGroup gets a group.
	GetGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Group, error)
	// ListGroups gets all groups.
	ListGroups(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Groups, error)
	// PutNetworkACL creates or updates a network ACL.
	PutNetworkACL(ctx context.Context, in *NetworkACL, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteNetworkACL deletes a network ACL.
	DeleteNetworkACL(ctx context.Context, in *NetworkACL, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetNetworkACL gets a network ACL.
	GetNetworkACL(ctx context.Context, in *NetworkACL, opts ...grpc.CallOption) (*NetworkACL, error)
	// ListNetworkACLs gets all network ACLs.
	ListNetworkACLs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NetworkACLs, error)
	// PutRoute creates or updates a route.
	PutRoute(ctx context.Context, in *Route, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteRoute deletes a route.
	DeleteRoute(ctx context.Context, in *Route, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetRoute gets a route.
	GetRoute(ctx context.Context, in *Route, opts ...grpc.CallOption) (*Route, error)
	// ListRoutes gets all routes.
	ListRoutes(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Routes, error)
	// PutEdge creates or updates an edge between two nodes.
	PutEdge(ctx context.Context, in *MeshEdge, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// DeleteEdge deletes an edge between two nodes.
	DeleteEdge(ctx context.Context, in *MeshEdge, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetEdge gets an edge between two nodes.
	GetEdge(ctx context.Context, in *MeshEdge, opts ...grpc.CallOption) (*MeshEdge, error)
	// ListEdges gets all current edges.
	ListEdges(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MeshEdges, error)
}

AdminClient is the client API for Admin service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewAdminClient

func NewAdminClient(cc grpc.ClientConnInterface) AdminClient

type AdminServer

type AdminServer interface {
	// PutRole creates or updates a role.
	PutRole(context.Context, *Role) (*emptypb.Empty, error)
	// DeleteRole deletes a role.
	DeleteRole(context.Context, *Role) (*emptypb.Empty, error)
	// GetRole gets a role.
	GetRole(context.Context, *Role) (*Role, error)
	// ListRoles gets all roles.
	ListRoles(context.Context, *emptypb.Empty) (*Roles, error)
	// PutRoleBinding creates or updates a role binding.
	PutRoleBinding(context.Context, *RoleBinding) (*emptypb.Empty, error)
	// DeleteRoleBinding deletes a role binding.
	DeleteRoleBinding(context.Context, *RoleBinding) (*emptypb.Empty, error)
	// GetRoleBinding gets a role binding.
	GetRoleBinding(context.Context, *RoleBinding) (*RoleBinding, error)
	// ListRoleBindings gets all role bindings.
	ListRoleBindings(context.Context, *emptypb.Empty) (*RoleBindings, error)
	// PutGroup creates or updates a group.
	PutGroup(context.Context, *Group) (*emptypb.Empty, error)
	// DeleteGroup deletes a group.
	DeleteGroup(context.Context, *Group) (*emptypb.Empty, error)
	// GetGroup gets a group.
	GetGroup(context.Context, *Group) (*Group, error)
	// ListGroups gets all groups.
	ListGroups(context.Context, *emptypb.Empty) (*Groups, error)
	// PutNetworkACL creates or updates a network ACL.
	PutNetworkACL(context.Context, *NetworkACL) (*emptypb.Empty, error)
	// DeleteNetworkACL deletes a network ACL.
	DeleteNetworkACL(context.Context, *NetworkACL) (*emptypb.Empty, error)
	// GetNetworkACL gets a network ACL.
	GetNetworkACL(context.Context, *NetworkACL) (*NetworkACL, error)
	// ListNetworkACLs gets all network ACLs.
	ListNetworkACLs(context.Context, *emptypb.Empty) (*NetworkACLs, error)
	// PutRoute creates or updates a route.
	PutRoute(context.Context, *Route) (*emptypb.Empty, error)
	// DeleteRoute deletes a route.
	DeleteRoute(context.Context, *Route) (*emptypb.Empty, error)
	// GetRoute gets a route.
	GetRoute(context.Context, *Route) (*Route, error)
	// ListRoutes gets all routes.
	ListRoutes(context.Context, *emptypb.Empty) (*Routes, error)
	// PutEdge creates or updates an edge between two nodes.
	PutEdge(context.Context, *MeshEdge) (*emptypb.Empty, error)
	// DeleteEdge deletes an edge between two nodes.
	DeleteEdge(context.Context, *MeshEdge) (*emptypb.Empty, error)
	// GetEdge gets an edge between two nodes.
	GetEdge(context.Context, *MeshEdge) (*MeshEdge, error)
	// ListEdges gets all current edges.
	ListEdges(context.Context, *emptypb.Empty) (*MeshEdges, error)
	// contains filtered or unexported methods
}

AdminServer is the server API for Admin service. All implementations must embed UnimplementedAdminServer for forward compatibility

type AuthenticationRequest

type AuthenticationRequest struct {

	// headers are the headers of the request.
	Headers map[string]string `` /* 155-byte string literal not displayed */
	// certificates are the DER encoded certificates of the request.
	Certificates [][]byte `protobuf:"bytes,2,rep,name=certificates,proto3" json:"certificates,omitempty"`
	// contains filtered or unexported fields
}

AuthenticationRequest is the message containing an authentication request.

func (*AuthenticationRequest) Descriptor deprecated

func (*AuthenticationRequest) Descriptor() ([]byte, []int)

Deprecated: Use AuthenticationRequest.ProtoReflect.Descriptor instead.

func (*AuthenticationRequest) GetCertificates

func (x *AuthenticationRequest) GetCertificates() [][]byte

func (*AuthenticationRequest) GetHeaders

func (x *AuthenticationRequest) GetHeaders() map[string]string

func (*AuthenticationRequest) ProtoMessage

func (*AuthenticationRequest) ProtoMessage()

func (*AuthenticationRequest) ProtoReflect

func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message

func (*AuthenticationRequest) Reset

func (x *AuthenticationRequest) Reset()

func (*AuthenticationRequest) String

func (x *AuthenticationRequest) String() string

type AuthenticationResponse

type AuthenticationResponse struct {

	// id is the id of the authenticated user.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

AuthenticationResponse is the message containing an authentication response.

func (*AuthenticationResponse) Descriptor deprecated

func (*AuthenticationResponse) Descriptor() ([]byte, []int)

Deprecated: Use AuthenticationResponse.ProtoReflect.Descriptor instead.

func (*AuthenticationResponse) GetId

func (x *AuthenticationResponse) GetId() string

func (*AuthenticationResponse) ProtoMessage

func (*AuthenticationResponse) ProtoMessage()

func (*AuthenticationResponse) ProtoReflect

func (x *AuthenticationResponse) ProtoReflect() protoreflect.Message

func (*AuthenticationResponse) Reset

func (x *AuthenticationResponse) Reset()

func (*AuthenticationResponse) String

func (x *AuthenticationResponse) String() string

type ClusterStatus

type ClusterStatus int32

ClusterStatus is the status of the node in the cluster.

const (
	// CLUSTER_STATUS_UNKNOWN is the default status.
	ClusterStatus_CLUSTER_STATUS_UNKNOWN ClusterStatus = 0
	// CLUSTER_LEADER is the status for the leader node.
	ClusterStatus_CLUSTER_LEADER ClusterStatus = 1
	// CLUSTER_VOTER is the status for a voter node.
	ClusterStatus_CLUSTER_VOTER ClusterStatus = 2
	// CLUSTER_NON_VOTER is the status for a non-voter node.
	ClusterStatus_CLUSTER_NON_VOTER ClusterStatus = 3
)

func (ClusterStatus) Descriptor

func (ClusterStatus) Enum

func (x ClusterStatus) Enum() *ClusterStatus

func (ClusterStatus) EnumDescriptor deprecated

func (ClusterStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use ClusterStatus.Descriptor instead.

func (ClusterStatus) Number

func (ClusterStatus) String

func (x ClusterStatus) String() string

func (ClusterStatus) Type

type DataChannel

type DataChannel int32

DataChannel are the data channels used when communicating over ICE with a node.

const (
	// CHANNELS is the data channel used for negotiating new channels.
	// This is the first channel that is opened. The ID of the channel
	// should be 0.
	DataChannel_CHANNELS DataChannel = 0
	// CONNECTIONS is the data channel used for negotiating new connections.
	// This is a channel that is opened for each incoming connection from a
	// client. The ID should start at 0 and be incremented for each new connection.
	DataChannel_CONNECTIONS DataChannel = 1
)

func (DataChannel) Descriptor

func (DataChannel) Enum

func (x DataChannel) Enum() *DataChannel

func (DataChannel) EnumDescriptor deprecated

func (DataChannel) EnumDescriptor() ([]byte, []int)

Deprecated: Use DataChannel.Descriptor instead.

func (DataChannel) Number

func (x DataChannel) Number() protoreflect.EnumNumber

func (DataChannel) String

func (x DataChannel) String() string

func (DataChannel) Type

type DataChannelNegotiation

type DataChannelNegotiation struct {

	// proto is the protocol of the traffic.
	Proto string `protobuf:"bytes,1,opt,name=proto,proto3" json:"proto,omitempty"`
	// src is the address of the client that initiated the request.
	Src string `protobuf:"bytes,2,opt,name=src,proto3" json:"src,omitempty"`
	// dst is the destination address of the traffic.
	Dst string `protobuf:"bytes,3,opt,name=dst,proto3" json:"dst,omitempty"`
	// port is the destination port of the traffic.
	Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
	// offer is the offer for the node to use as its local description.
	Offer string `protobuf:"bytes,5,opt,name=offer,proto3" json:"offer,omitempty"`
	// answer is the answer for the node to use as its remote description.
	Answer string `protobuf:"bytes,6,opt,name=answer,proto3" json:"answer,omitempty"`
	// candidate is an ICE candidate.
	Candidate string `protobuf:"bytes,7,opt,name=candidate,proto3" json:"candidate,omitempty"`
	// stun_servers is the list of STUN servers to use.
	StunServers []string `protobuf:"bytes,8,rep,name=stun_servers,json=stunServers,proto3" json:"stun_servers,omitempty"`
	// contains filtered or unexported fields
}

DataChannelNegotiation is the message for communicating data channels to nodes.

func (*DataChannelNegotiation) Descriptor deprecated

func (*DataChannelNegotiation) Descriptor() ([]byte, []int)

Deprecated: Use DataChannelNegotiation.ProtoReflect.Descriptor instead.

func (*DataChannelNegotiation) GetAnswer

func (x *DataChannelNegotiation) GetAnswer() string

func (*DataChannelNegotiation) GetCandidate

func (x *DataChannelNegotiation) GetCandidate() string

func (*DataChannelNegotiation) GetDst

func (x *DataChannelNegotiation) GetDst() string

func (*DataChannelNegotiation) GetOffer

func (x *DataChannelNegotiation) GetOffer() string

func (*DataChannelNegotiation) GetPort

func (x *DataChannelNegotiation) GetPort() uint32

func (*DataChannelNegotiation) GetProto

func (x *DataChannelNegotiation) GetProto() string

func (*DataChannelNegotiation) GetSrc

func (x *DataChannelNegotiation) GetSrc() string

func (*DataChannelNegotiation) GetStunServers

func (x *DataChannelNegotiation) GetStunServers() []string

func (*DataChannelNegotiation) ProtoMessage

func (*DataChannelNegotiation) ProtoMessage()

func (*DataChannelNegotiation) ProtoReflect

func (x *DataChannelNegotiation) ProtoReflect() protoreflect.Message

func (*DataChannelNegotiation) Reset

func (x *DataChannelNegotiation) Reset()

func (*DataChannelNegotiation) String

func (x *DataChannelNegotiation) String() string

type DataChannelOffer

type DataChannelOffer struct {

	// offer is the offer.
	Offer string `protobuf:"bytes,1,opt,name=offer,proto3" json:"offer,omitempty"`
	// stun_servers is the list of STUN servers to use.
	StunServers []string `protobuf:"bytes,2,rep,name=stun_servers,json=stunServers,proto3" json:"stun_servers,omitempty"`
	// candidate is an ICE candidate.
	Candidate string `protobuf:"bytes,3,opt,name=candidate,proto3" json:"candidate,omitempty"`
	// contains filtered or unexported fields
}

DataChannelOffer is an offer for a data channel. Candidates are sent after the offer is sent.

func (*DataChannelOffer) Descriptor deprecated

func (*DataChannelOffer) Descriptor() ([]byte, []int)

Deprecated: Use DataChannelOffer.ProtoReflect.Descriptor instead.

func (*DataChannelOffer) GetCandidate

func (x *DataChannelOffer) GetCandidate() string

func (*DataChannelOffer) GetOffer

func (x *DataChannelOffer) GetOffer() string

func (*DataChannelOffer) GetStunServers

func (x *DataChannelOffer) GetStunServers() []string

func (*DataChannelOffer) ProtoMessage

func (*DataChannelOffer) ProtoMessage()

func (*DataChannelOffer) ProtoReflect

func (x *DataChannelOffer) ProtoReflect() protoreflect.Message

func (*DataChannelOffer) Reset

func (x *DataChannelOffer) Reset()

func (*DataChannelOffer) String

func (x *DataChannelOffer) String() string

type DataSnapshot added in v0.1.3

type DataSnapshot struct {

	// term is the term of the log entry.
	Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"`
	// index is the index of the log entry.
	Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	// data is the snapshot of the data.
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

DataSnapshot is the message containing a snapshot of the data.

func (*DataSnapshot) Descriptor deprecated added in v0.1.3

func (*DataSnapshot) Descriptor() ([]byte, []int)

Deprecated: Use DataSnapshot.ProtoReflect.Descriptor instead.

func (*DataSnapshot) GetData added in v0.1.3

func (x *DataSnapshot) GetData() []byte

func (*DataSnapshot) GetIndex added in v0.1.3

func (x *DataSnapshot) GetIndex() uint64

func (*DataSnapshot) GetTerm added in v0.1.3

func (x *DataSnapshot) GetTerm() uint64

func (*DataSnapshot) ProtoMessage added in v0.1.3

func (*DataSnapshot) ProtoMessage()

func (*DataSnapshot) ProtoReflect added in v0.1.3

func (x *DataSnapshot) ProtoReflect() protoreflect.Message

func (*DataSnapshot) Reset added in v0.1.3

func (x *DataSnapshot) Reset()

func (*DataSnapshot) String added in v0.1.3

func (x *DataSnapshot) String() string

type EdgeAttributes added in v0.1.3

type EdgeAttributes int32

EdgeAttributes are pre-defined edge attributes. They should be used as their string values.

const (
	// EDGE_ATTRIBUTE_UNKNOWN is an unknown edge attribute.
	EdgeAttributes_EDGE_ATTRIBUTE_UNKNOWN EdgeAttributes = 0
	// EDGE_ATTRIBUTE_ICE is an ICE edge attribute.
	EdgeAttributes_EDGE_ATTRIBUTE_ICE EdgeAttributes = 1
)

func (EdgeAttributes) Descriptor added in v0.1.3

func (EdgeAttributes) Enum added in v0.1.3

func (x EdgeAttributes) Enum() *EdgeAttributes

func (EdgeAttributes) EnumDescriptor deprecated added in v0.1.3

func (EdgeAttributes) EnumDescriptor() ([]byte, []int)

Deprecated: Use EdgeAttributes.Descriptor instead.

func (EdgeAttributes) Number added in v0.1.3

func (EdgeAttributes) String added in v0.1.3

func (x EdgeAttributes) String() string

func (EdgeAttributes) Type added in v0.1.3

type Event

type Event struct {

	// type is the type of the watch event.
	Type WatchEvent `protobuf:"varint,1,opt,name=type,proto3,enum=v1.WatchEvent" json:"type,omitempty"`
	// event is the data of the watch event.
	//
	// Types that are assignable to Event:
	//
	//	*Event_Node
	Event isEvent_Event `protobuf_oneof:"event"`
	// contains filtered or unexported fields
}

Event is the message containing a watch event.

func (*Event) Descriptor deprecated

func (*Event) Descriptor() ([]byte, []int)

Deprecated: Use Event.ProtoReflect.Descriptor instead.

func (*Event) GetEvent

func (m *Event) GetEvent() isEvent_Event

func (*Event) GetNode

func (x *Event) GetNode() *MeshNode

func (*Event) GetType

func (x *Event) GetType() WatchEvent

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) ProtoReflect

func (x *Event) ProtoReflect() protoreflect.Message

func (*Event) Reset

func (x *Event) Reset()

func (*Event) String

func (x *Event) String() string

type Event_Node

type Event_Node struct {
	// node is the node that the event is about.
	Node *MeshNode `protobuf:"bytes,2,opt,name=node,proto3,oneof"`
}

type Feature

type Feature int32

Feature is a list of features supported by a node.

const (
	// FEATURE_NONE is the default feature set.
	Feature_FEATURE_NONE Feature = 0
	// NODES is the feature for nodes. This is always supported.
	Feature_NODES Feature = 1
	// LEADER_PROXY is the feature for leader proxying.
	Feature_LEADER_PROXY Feature = 2
	// MESH_API is the feature for the mesh API.
	Feature_MESH_API Feature = 3
	// ADMIN_API is the feature for the admin API.
	Feature_ADMIN_API Feature = 4
	// PEER_DISCOVERY is the feature for peer discovery.
	Feature_PEER_DISCOVERY Feature = 5
	// METRICS is the feature for exposing metrics.
	Feature_METRICS Feature = 6
	// ICE_NEGOTIATION is the feature for ICE negotiation.
	Feature_ICE_NEGOTIATION Feature = 7
	// TURN_SERVER is the feature for TURN server.
	Feature_TURN_SERVER Feature = 8
	// MESH_DNS is the feature for mesh DNS.
	Feature_MESH_DNS Feature = 9
)

func (Feature) Descriptor

func (Feature) Descriptor() protoreflect.EnumDescriptor

func (Feature) Enum

func (x Feature) Enum() *Feature

func (Feature) EnumDescriptor deprecated

func (Feature) EnumDescriptor() ([]byte, []int)

Deprecated: Use Feature.Descriptor instead.

func (Feature) Number

func (x Feature) Number() protoreflect.EnumNumber

func (Feature) String

func (x Feature) String() string

func (Feature) Type

func (Feature) Type() protoreflect.EnumType

type GetNodeRequest

type GetNodeRequest struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

GetNodeRequest is a request to get a node.

func (*GetNodeRequest) Descriptor deprecated

func (*GetNodeRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetNodeRequest.ProtoReflect.Descriptor instead.

func (*GetNodeRequest) GetId

func (x *GetNodeRequest) GetId() string

func (*GetNodeRequest) ProtoMessage

func (*GetNodeRequest) ProtoMessage()

func (*GetNodeRequest) ProtoReflect

func (x *GetNodeRequest) ProtoReflect() protoreflect.Message

func (*GetNodeRequest) Reset

func (x *GetNodeRequest) Reset()

func (*GetNodeRequest) String

func (x *GetNodeRequest) String() string

type GetStatusRequest

type GetStatusRequest struct {

	// id is the ID of the node. If unset, the status of the
	// local node is returned.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

GetStatusRequest is a request to get the status of a node.

func (*GetStatusRequest) Descriptor deprecated

func (*GetStatusRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead.

func (*GetStatusRequest) GetId

func (x *GetStatusRequest) GetId() string

func (*GetStatusRequest) ProtoMessage

func (*GetStatusRequest) ProtoMessage()

func (*GetStatusRequest) ProtoReflect

func (x *GetStatusRequest) ProtoReflect() protoreflect.Message

func (*GetStatusRequest) Reset

func (x *GetStatusRequest) Reset()

func (*GetStatusRequest) String

func (x *GetStatusRequest) String() string

type Group

type Group struct {

	// name is the name of the group.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// subjects is the list of subjects in the group.
	Subjects []*Subject `protobuf:"bytes,2,rep,name=subjects,proto3" json:"subjects,omitempty"`
	// contains filtered or unexported fields
}

Group is a group of subjects.

func (*Group) Descriptor deprecated

func (*Group) Descriptor() ([]byte, []int)

Deprecated: Use Group.ProtoReflect.Descriptor instead.

func (*Group) GetName

func (x *Group) GetName() string

func (*Group) GetSubjects

func (x *Group) GetSubjects() []*Subject

func (*Group) ProtoMessage

func (*Group) ProtoMessage()

func (*Group) ProtoReflect

func (x *Group) ProtoReflect() protoreflect.Message

func (*Group) Reset

func (x *Group) Reset()

func (*Group) String

func (x *Group) String() string

type Groups

type Groups struct {

	// items is the list of groups.
	Items []*Group `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

Groups is a list of groups.

func (*Groups) Descriptor deprecated

func (*Groups) Descriptor() ([]byte, []int)

Deprecated: Use Groups.ProtoReflect.Descriptor instead.

func (*Groups) GetItems

func (x *Groups) GetItems() []*Group

func (*Groups) ProtoMessage

func (*Groups) ProtoMessage()

func (*Groups) ProtoReflect

func (x *Groups) ProtoReflect() protoreflect.Message

func (*Groups) Reset

func (x *Groups) Reset()

func (*Groups) String

func (x *Groups) String() string

type InterfaceMetrics

type InterfaceMetrics struct {

	// device_name is the name of the device.
	DeviceName string `protobuf:"bytes,1,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	// public_key is the public key of the node.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// address_v4 is the IPv4 address of the node.
	AddressV4 string `protobuf:"bytes,3,opt,name=address_v4,json=addressV4,proto3" json:"address_v4,omitempty"`
	// address_v6 is the IPv6 address of the node.
	AddressV6 string `protobuf:"bytes,4,opt,name=address_v6,json=addressV6,proto3" json:"address_v6,omitempty"`
	// type is the type of interface being used for wireguard.
	Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`
	// listen_port is the port wireguard is listening on.
	ListenPort int32 `protobuf:"varint,6,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
	// total_receive_bytes is the total number of bytes received.
	TotalReceiveBytes uint64 `protobuf:"varint,7,opt,name=total_receive_bytes,json=totalReceiveBytes,proto3" json:"total_receive_bytes,omitempty"`
	// total_transmit_bytes is the total number of bytes transmitted.
	TotalTransmitBytes uint64 `protobuf:"varint,8,opt,name=total_transmit_bytes,json=totalTransmitBytes,proto3" json:"total_transmit_bytes,omitempty"`
	// num_peers is the number of peers connected to the node.
	NumPeers int32 `protobuf:"varint,9,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"`
	// peers are the per-peer statistics.
	Peers []*PeerMetrics `protobuf:"bytes,10,rep,name=peers,proto3" json:"peers,omitempty"`
	// contains filtered or unexported fields
}

InterfaceMetrics is the metrics for the WireGuard interface on a node.

func (*InterfaceMetrics) Descriptor deprecated

func (*InterfaceMetrics) Descriptor() ([]byte, []int)

Deprecated: Use InterfaceMetrics.ProtoReflect.Descriptor instead.

func (*InterfaceMetrics) GetAddressV4

func (x *InterfaceMetrics) GetAddressV4() string

func (*InterfaceMetrics) GetAddressV6

func (x *InterfaceMetrics) GetAddressV6() string

func (*InterfaceMetrics) GetDeviceName

func (x *InterfaceMetrics) GetDeviceName() string

func (*InterfaceMetrics) GetListenPort

func (x *InterfaceMetrics) GetListenPort() int32

func (*InterfaceMetrics) GetNumPeers

func (x *InterfaceMetrics) GetNumPeers() int32

func (*InterfaceMetrics) GetPeers

func (x *InterfaceMetrics) GetPeers() []*PeerMetrics

func (*InterfaceMetrics) GetPublicKey

func (x *InterfaceMetrics) GetPublicKey() string

func (*InterfaceMetrics) GetTotalReceiveBytes

func (x *InterfaceMetrics) GetTotalReceiveBytes() uint64

func (*InterfaceMetrics) GetTotalTransmitBytes

func (x *InterfaceMetrics) GetTotalTransmitBytes() uint64

func (*InterfaceMetrics) GetType

func (x *InterfaceMetrics) GetType() string

func (*InterfaceMetrics) ProtoMessage

func (*InterfaceMetrics) ProtoMessage()

func (*InterfaceMetrics) ProtoReflect

func (x *InterfaceMetrics) ProtoReflect() protoreflect.Message

func (*InterfaceMetrics) Reset

func (x *InterfaceMetrics) Reset()

func (*InterfaceMetrics) String

func (x *InterfaceMetrics) String() string

type JoinRequest

type JoinRequest struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// public_key is the public wireguard key of the node to broadcast to peers.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// raft_port is the Raft listen port of the node.
	RaftPort int32 `protobuf:"varint,3,opt,name=raft_port,json=raftPort,proto3" json:"raft_port,omitempty"`
	// grpc_port is the gRPC listen port of the node.
	GrpcPort int32 `protobuf:"varint,4,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	// primary_endpoint is a routable address for the node. If left unset,
	// the node is assumed to be behind a NAT and not directly accessible.
	PrimaryEndpoint string `protobuf:"bytes,6,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints is a list of WireGuard endpoints for the node.
	WireguardEndpoints []string `protobuf:"bytes,7,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the node.
	ZoneAwarenessId string `protobuf:"bytes,8,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// assign_ipv4 is whether an IPv4 address should be assigned to the node.
	AssignIpv4 bool `protobuf:"varint,9,opt,name=assign_ipv4,json=assignIpv4,proto3" json:"assign_ipv4,omitempty"`
	// prefer_raft_ipv6 is whether IPv6 should be preferred over IPv4 for raft communication.
	// This is only used if assign_ipv4 is true.
	PreferRaftIpv6 bool `protobuf:"varint,10,opt,name=prefer_raft_ipv6,json=preferRaftIpv6,proto3" json:"prefer_raft_ipv6,omitempty"`
	// as_voter is whether the node should receive a vote in elections. The request
	// will be denied if the node is not allowed to vote.
	AsVoter bool `protobuf:"varint,11,opt,name=as_voter,json=asVoter,proto3" json:"as_voter,omitempty"`
	// routes is a list of routes to advertise to peers. The request will be denied
	// if the node is not allowed to put routes.
	Routes []string `protobuf:"bytes,12,rep,name=routes,proto3" json:"routes,omitempty"`
	// direct_peers is a list of extra peers that should be connected to directly over ICE.
	// The request will be denied if the node is not allowed to put data channels or edges.
	// The default joining behavior creates non-ICE links between the caller and the joiner.
	// If the caller has a primary endpoint, the joiner will link the caller to all
	// other nodes with a primary endpoint. If the caller has a zone awareness ID,
	// the joiner will link the caller to all other nodes with the same zone awareness ID
	// that also have a primary endpoint.
	DirectPeers []string `protobuf:"bytes,13,rep,name=direct_peers,json=directPeers,proto3" json:"direct_peers,omitempty"`
	// contains filtered or unexported fields
}

JoinRequest is a request to join the cluster.

func (*JoinRequest) Descriptor deprecated

func (*JoinRequest) Descriptor() ([]byte, []int)

Deprecated: Use JoinRequest.ProtoReflect.Descriptor instead.

func (*JoinRequest) GetAsVoter

func (x *JoinRequest) GetAsVoter() bool

func (*JoinRequest) GetAssignIpv4

func (x *JoinRequest) GetAssignIpv4() bool

func (*JoinRequest) GetDirectPeers added in v0.1.3

func (x *JoinRequest) GetDirectPeers() []string

func (*JoinRequest) GetGrpcPort

func (x *JoinRequest) GetGrpcPort() int32

func (*JoinRequest) GetId

func (x *JoinRequest) GetId() string

func (*JoinRequest) GetPreferRaftIpv6

func (x *JoinRequest) GetPreferRaftIpv6() bool

func (*JoinRequest) GetPrimaryEndpoint

func (x *JoinRequest) GetPrimaryEndpoint() string

func (*JoinRequest) GetPublicKey

func (x *JoinRequest) GetPublicKey() string

func (*JoinRequest) GetRaftPort

func (x *JoinRequest) GetRaftPort() int32

func (*JoinRequest) GetRoutes

func (x *JoinRequest) GetRoutes() []string

func (*JoinRequest) GetWireguardEndpoints

func (x *JoinRequest) GetWireguardEndpoints() []string

func (*JoinRequest) GetZoneAwarenessId

func (x *JoinRequest) GetZoneAwarenessId() string

func (*JoinRequest) ProtoMessage

func (*JoinRequest) ProtoMessage()

func (*JoinRequest) ProtoReflect

func (x *JoinRequest) ProtoReflect() protoreflect.Message

func (*JoinRequest) Reset

func (x *JoinRequest) Reset()

func (*JoinRequest) String

func (x *JoinRequest) String() string

type JoinResponse

type JoinResponse struct {

	// address_ipv4 is the private IPv4 wireguard address of the node
	// in CIDR format representing the network. This is only set if
	// assign_ipv4 was set in the request or no network_ipv6 was provided.
	// The bits are set to the network bits of the Mesh IPv4 network.
	AddressIpv4 string `protobuf:"bytes,1,opt,name=address_ipv4,json=addressIpv4,proto3" json:"address_ipv4,omitempty"`
	// address_ipv6 is the IPv6 network assigned to the node.
	AddressIpv6 string `protobuf:"bytes,2,opt,name=address_ipv6,json=addressIpv6,proto3" json:"address_ipv6,omitempty"`
	// network_ipv6 is the IPv6 network of the Mesh.
	NetworkIpv6 string `protobuf:"bytes,3,opt,name=network_ipv6,json=networkIpv6,proto3" json:"network_ipv6,omitempty"`
	// peers is a list of wireguard peers to connect to.
	Peers []*WireGuardPeer `protobuf:"bytes,4,rep,name=peers,proto3" json:"peers,omitempty"`
	// ice_servers is a list of public nodes that can be used to negotiate
	// ICE connections if required. This may only be populated when one of
	// the peers has the ICE flag set. This must be set if the requestor
	// specifies direct_peers.
	IceServers []string `protobuf:"bytes,5,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"`
	// contains filtered or unexported fields
}

JoinResponse is a response to a join request.

func (*JoinResponse) Descriptor deprecated

func (*JoinResponse) Descriptor() ([]byte, []int)

Deprecated: Use JoinResponse.ProtoReflect.Descriptor instead.

func (*JoinResponse) GetAddressIpv4

func (x *JoinResponse) GetAddressIpv4() string

func (*JoinResponse) GetAddressIpv6

func (x *JoinResponse) GetAddressIpv6() string

func (*JoinResponse) GetIceServers added in v0.1.3

func (x *JoinResponse) GetIceServers() []string

func (*JoinResponse) GetNetworkIpv6

func (x *JoinResponse) GetNetworkIpv6() string

func (*JoinResponse) GetPeers

func (x *JoinResponse) GetPeers() []*WireGuardPeer

func (*JoinResponse) ProtoMessage

func (*JoinResponse) ProtoMessage()

func (*JoinResponse) ProtoReflect

func (x *JoinResponse) ProtoReflect() protoreflect.Message

func (*JoinResponse) Reset

func (x *JoinResponse) Reset()

func (*JoinResponse) String

func (x *JoinResponse) String() string

type LeaveRequest

type LeaveRequest struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

LeaveRequest is a request to leave the cluster.

func (*LeaveRequest) Descriptor deprecated

func (*LeaveRequest) Descriptor() ([]byte, []int)

Deprecated: Use LeaveRequest.ProtoReflect.Descriptor instead.

func (*LeaveRequest) GetId

func (x *LeaveRequest) GetId() string

func (*LeaveRequest) ProtoMessage

func (*LeaveRequest) ProtoMessage()

func (*LeaveRequest) ProtoReflect

func (x *LeaveRequest) ProtoReflect() protoreflect.Message

func (*LeaveRequest) Reset

func (x *LeaveRequest) Reset()

func (*LeaveRequest) String

func (x *LeaveRequest) String() string

type ListRaftPeersResponse

type ListRaftPeersResponse struct {

	// Peers is the list of peers.
	Peers []*RaftPeer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"`
	// contains filtered or unexported fields
}

ListRaftPeersResponse is the response to ListPeers.

func (*ListRaftPeersResponse) Descriptor deprecated

func (*ListRaftPeersResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListRaftPeersResponse.ProtoReflect.Descriptor instead.

func (*ListRaftPeersResponse) GetPeers

func (x *ListRaftPeersResponse) GetPeers() []*RaftPeer

func (*ListRaftPeersResponse) ProtoMessage

func (*ListRaftPeersResponse) ProtoMessage()

func (*ListRaftPeersResponse) ProtoReflect

func (x *ListRaftPeersResponse) ProtoReflect() protoreflect.Message

func (*ListRaftPeersResponse) Reset

func (x *ListRaftPeersResponse) Reset()

func (*ListRaftPeersResponse) String

func (x *ListRaftPeersResponse) String() string

type MeshClient

type MeshClient interface {
	// GetNode gets a node by ID.
	GetNode(ctx context.Context, in *GetNodeRequest, opts ...grpc.CallOption) (*MeshNode, error)
	// ListNodes lists all nodes.
	ListNodes(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NodeList, error)
	// GetMeshGraph fetches the mesh graph. It returns a list of nodes,
	// edges, and a rendering in the dot format.
	GetMeshGraph(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*MeshGraph, error)
}

MeshClient is the client API for Mesh service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewMeshClient

func NewMeshClient(cc grpc.ClientConnInterface) MeshClient

type MeshEdge

type MeshEdge struct {

	// source is the source node.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	// target is the target node.
	Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// weight is the weight of the edge.
	Weight int32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"`
	// attributes is a list of attributes for the edge.
	Attributes map[string]string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

MeshEdge is an edge between two nodes.

func (*MeshEdge) Descriptor deprecated

func (*MeshEdge) Descriptor() ([]byte, []int)

Deprecated: Use MeshEdge.ProtoReflect.Descriptor instead.

func (*MeshEdge) GetAttributes added in v0.1.3

func (x *MeshEdge) GetAttributes() map[string]string

func (*MeshEdge) GetSource

func (x *MeshEdge) GetSource() string

func (*MeshEdge) GetTarget

func (x *MeshEdge) GetTarget() string

func (*MeshEdge) GetWeight

func (x *MeshEdge) GetWeight() int32

func (*MeshEdge) ProtoMessage

func (*MeshEdge) ProtoMessage()

func (*MeshEdge) ProtoReflect

func (x *MeshEdge) ProtoReflect() protoreflect.Message

func (*MeshEdge) Reset

func (x *MeshEdge) Reset()

func (*MeshEdge) String

func (x *MeshEdge) String() string

type MeshEdges added in v0.1.3

type MeshEdges struct {

	// items is the list of edges.
	Items []*MeshEdge `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

MeshEdges is a list of edges.

func (*MeshEdges) Descriptor deprecated added in v0.1.3

func (*MeshEdges) Descriptor() ([]byte, []int)

Deprecated: Use MeshEdges.ProtoReflect.Descriptor instead.

func (*MeshEdges) GetItems added in v0.1.3

func (x *MeshEdges) GetItems() []*MeshEdge

func (*MeshEdges) ProtoMessage added in v0.1.3

func (*MeshEdges) ProtoMessage()

func (*MeshEdges) ProtoReflect added in v0.1.3

func (x *MeshEdges) ProtoReflect() protoreflect.Message

func (*MeshEdges) Reset added in v0.1.3

func (x *MeshEdges) Reset()

func (*MeshEdges) String added in v0.1.3

func (x *MeshEdges) String() string

type MeshGraph

type MeshGraph struct {

	// nodes is the list of nodes.
	Nodes []string `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	// edges is the list of edges.
	Edges []*MeshEdge `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"`
	// dot is the DOT representation of the graph.
	Dot string `protobuf:"bytes,3,opt,name=dot,proto3" json:"dot,omitempty"`
	// contains filtered or unexported fields
}

MeshGraph is a graph of nodes.

func (*MeshGraph) Descriptor deprecated

func (*MeshGraph) Descriptor() ([]byte, []int)

Deprecated: Use MeshGraph.ProtoReflect.Descriptor instead.

func (*MeshGraph) GetDot

func (x *MeshGraph) GetDot() string

func (*MeshGraph) GetEdges

func (x *MeshGraph) GetEdges() []*MeshEdge

func (*MeshGraph) GetNodes

func (x *MeshGraph) GetNodes() []string

func (*MeshGraph) ProtoMessage

func (*MeshGraph) ProtoMessage()

func (*MeshGraph) ProtoReflect

func (x *MeshGraph) ProtoReflect() protoreflect.Message

func (*MeshGraph) Reset

func (x *MeshGraph) Reset()

func (*MeshGraph) String

func (x *MeshGraph) String() string

type MeshNode

type MeshNode struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// primary_endpoint is the primary endpoint of the node.
	PrimaryEndpoint string `protobuf:"bytes,2,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints is a list of WireGuard endpoints for the node.
	WireguardEndpoints []string `protobuf:"bytes,3,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the node.
	ZoneAwarenessId string `protobuf:"bytes,4,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// raft_port is the Raft listen port of the node.
	RaftPort int32 `protobuf:"varint,5,opt,name=raft_port,json=raftPort,proto3" json:"raft_port,omitempty"`
	// grpc_port is the gRPC listen port of the node.
	GrpcPort int32 `protobuf:"varint,6,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	// public_key is the public key of the node.
	PublicKey string `protobuf:"bytes,8,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// private_ipv4 is the private IPv4 address of the node.
	PrivateIpv4 string `protobuf:"bytes,9,opt,name=private_ipv4,json=privateIpv4,proto3" json:"private_ipv4,omitempty"`
	// private_ipv6 is the private IPv6 address of the node.
	PrivateIpv6 string `protobuf:"bytes,10,opt,name=private_ipv6,json=privateIpv6,proto3" json:"private_ipv6,omitempty"`
	// updated_at is the last time the node joined the cluster.
	UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// created_at is the creation time for the node.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// cluster_status is the status of the node in the cluster.
	ClusterStatus ClusterStatus `protobuf:"varint,13,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// contains filtered or unexported fields
}

MeshNode is a node that has been registered with the controller.

func (*MeshNode) Descriptor deprecated

func (*MeshNode) Descriptor() ([]byte, []int)

Deprecated: Use MeshNode.ProtoReflect.Descriptor instead.

func (*MeshNode) GetClusterStatus

func (x *MeshNode) GetClusterStatus() ClusterStatus

func (*MeshNode) GetCreatedAt

func (x *MeshNode) GetCreatedAt() *timestamppb.Timestamp

func (*MeshNode) GetGrpcPort

func (x *MeshNode) GetGrpcPort() int32

func (*MeshNode) GetId

func (x *MeshNode) GetId() string

func (*MeshNode) GetPrimaryEndpoint

func (x *MeshNode) GetPrimaryEndpoint() string

func (*MeshNode) GetPrivateIpv4

func (x *MeshNode) GetPrivateIpv4() string

func (*MeshNode) GetPrivateIpv6

func (x *MeshNode) GetPrivateIpv6() string

func (*MeshNode) GetPublicKey

func (x *MeshNode) GetPublicKey() string

func (*MeshNode) GetRaftPort

func (x *MeshNode) GetRaftPort() int32

func (*MeshNode) GetUpdatedAt

func (x *MeshNode) GetUpdatedAt() *timestamppb.Timestamp

func (*MeshNode) GetWireguardEndpoints

func (x *MeshNode) GetWireguardEndpoints() []string

func (*MeshNode) GetZoneAwarenessId

func (x *MeshNode) GetZoneAwarenessId() string

func (*MeshNode) ProtoMessage

func (*MeshNode) ProtoMessage()

func (*MeshNode) ProtoReflect

func (x *MeshNode) ProtoReflect() protoreflect.Message

func (*MeshNode) Reset

func (x *MeshNode) Reset()

func (*MeshNode) String

func (x *MeshNode) String() string

type MeshServer

type MeshServer interface {
	// GetNode gets a node by ID.
	GetNode(context.Context, *GetNodeRequest) (*MeshNode, error)
	// ListNodes lists all nodes.
	ListNodes(context.Context, *emptypb.Empty) (*NodeList, error)
	// GetMeshGraph fetches the mesh graph. It returns a list of nodes,
	// edges, and a rendering in the dot format.
	GetMeshGraph(context.Context, *emptypb.Empty) (*MeshGraph, error)
	// contains filtered or unexported methods
}

MeshServer is the server API for Mesh service. All implementations must embed UnimplementedMeshServer for forward compatibility

type NetworkACL

type NetworkACL struct {

	// name is the name of the ACL.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// priority is the priority of the ACL. ACLs with higher priority are evaluated first.
	Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
	// action is the action to take when a request matches the ACL.
	Action ACLAction `protobuf:"varint,3,opt,name=action,proto3,enum=v1.ACLAction" json:"action,omitempty"`
	// source_nodes is a list of source nodes to match against. If empty, all nodes are matched. Groups
	// can be specified with the prefix "group:".
	SourceNodes []string `protobuf:"bytes,4,rep,name=source_nodes,json=sourceNodes,proto3" json:"source_nodes,omitempty"`
	// destination_nodes is a list of destination nodes to match against. If empty, all nodes are matched.
	DestinationNodes []string `protobuf:"bytes,5,rep,name=destination_nodes,json=destinationNodes,proto3" json:"destination_nodes,omitempty"`
	// source_cidrs is a list of source CIDRs to match against. If empty, all CIDRs are matched.
	SourceCidrs []string `protobuf:"bytes,6,rep,name=source_cidrs,json=sourceCidrs,proto3" json:"source_cidrs,omitempty"`
	// destination_cidrs is a list of destination CIDRs to match against. If empty, all CIDRs are matched.
	DestinationCidrs []string `protobuf:"bytes,7,rep,name=destination_cidrs,json=destinationCidrs,proto3" json:"destination_cidrs,omitempty"`
	// protocols is a list of protocols to match against. If empty, all protocols are matched.
	// Protocols can be specified by name or number.
	Protocols []string `protobuf:"bytes,8,rep,name=protocols,proto3" json:"protocols,omitempty"`
	// ports is a list of ports to match against. If empty, all ports are matched.
	Ports []uint32 `protobuf:"varint,9,rep,packed,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

NetworkACL is a network ACL.

func (*NetworkACL) Descriptor deprecated

func (*NetworkACL) Descriptor() ([]byte, []int)

Deprecated: Use NetworkACL.ProtoReflect.Descriptor instead.

func (*NetworkACL) GetAction

func (x *NetworkACL) GetAction() ACLAction

func (*NetworkACL) GetDestinationCidrs

func (x *NetworkACL) GetDestinationCidrs() []string

func (*NetworkACL) GetDestinationNodes

func (x *NetworkACL) GetDestinationNodes() []string

func (*NetworkACL) GetName

func (x *NetworkACL) GetName() string

func (*NetworkACL) GetPorts

func (x *NetworkACL) GetPorts() []uint32

func (*NetworkACL) GetPriority

func (x *NetworkACL) GetPriority() int32

func (*NetworkACL) GetProtocols

func (x *NetworkACL) GetProtocols() []string

func (*NetworkACL) GetSourceCidrs

func (x *NetworkACL) GetSourceCidrs() []string

func (*NetworkACL) GetSourceNodes

func (x *NetworkACL) GetSourceNodes() []string

func (*NetworkACL) ProtoMessage

func (*NetworkACL) ProtoMessage()

func (*NetworkACL) ProtoReflect

func (x *NetworkACL) ProtoReflect() protoreflect.Message

func (*NetworkACL) Reset

func (x *NetworkACL) Reset()

func (*NetworkACL) String

func (x *NetworkACL) String() string

type NetworkACLs

type NetworkACLs struct {

	// items is the list of network ACLs.
	Items []*NetworkACL `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

NetworkACLs is a list of network ACLs.

func (*NetworkACLs) Descriptor deprecated

func (*NetworkACLs) Descriptor() ([]byte, []int)

Deprecated: Use NetworkACLs.ProtoReflect.Descriptor instead.

func (*NetworkACLs) GetItems

func (x *NetworkACLs) GetItems() []*NetworkACL

func (*NetworkACLs) ProtoMessage

func (*NetworkACLs) ProtoMessage()

func (*NetworkACLs) ProtoReflect

func (x *NetworkACLs) ProtoReflect() protoreflect.Message

func (*NetworkACLs) Reset

func (x *NetworkACLs) Reset()

func (*NetworkACLs) String

func (x *NetworkACLs) String() string

type NetworkAction

type NetworkAction struct {

	// src_node is the source node of the action.
	SrcNode string `protobuf:"bytes,1,opt,name=src_node,json=srcNode,proto3" json:"src_node,omitempty"`
	// src_cidr is the source CIDR of the action.
	SrcCidr string `protobuf:"bytes,2,opt,name=src_cidr,json=srcCidr,proto3" json:"src_cidr,omitempty"`
	// dst_node is the destination node of the action.
	DstNode string `protobuf:"bytes,3,opt,name=dst_node,json=dstNode,proto3" json:"dst_node,omitempty"`
	// dst_cidr is the destination CIDR of the action.
	DstCidr string `protobuf:"bytes,4,opt,name=dst_cidr,json=dstCidr,proto3" json:"dst_cidr,omitempty"`
	// protocol is the protocol of the action.
	Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"`
	// port is the port of the action.
	Port uint32 `protobuf:"varint,6,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

NetworkAction is an action that can be performed on a network resource. It is used by implementations to evaluate network ACLs.

func (*NetworkAction) Descriptor deprecated

func (*NetworkAction) Descriptor() ([]byte, []int)

Deprecated: Use NetworkAction.ProtoReflect.Descriptor instead.

func (*NetworkAction) GetDstCidr

func (x *NetworkAction) GetDstCidr() string

func (*NetworkAction) GetDstNode

func (x *NetworkAction) GetDstNode() string

func (*NetworkAction) GetPort

func (x *NetworkAction) GetPort() uint32

func (*NetworkAction) GetProtocol

func (x *NetworkAction) GetProtocol() string

func (*NetworkAction) GetSrcCidr

func (x *NetworkAction) GetSrcCidr() string

func (*NetworkAction) GetSrcNode

func (x *NetworkAction) GetSrcNode() string

func (*NetworkAction) ProtoMessage

func (*NetworkAction) ProtoMessage()

func (*NetworkAction) ProtoReflect

func (x *NetworkAction) ProtoReflect() protoreflect.Message

func (*NetworkAction) Reset

func (x *NetworkAction) Reset()

func (*NetworkAction) String

func (x *NetworkAction) String() string

type NodeClient

type NodeClient interface {
	// Join is used to join a node to the mesh. The joining node will be added to the mesh
	// as an observer, and will be able to query the mesh state, but will not be able to vote
	// in elections. To join as a voter pass the as_voter flag.
	Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error)
	// Leave is used to remove a node from the mesh. The node will be removed from the mesh
	// and will no longer be able to query the mesh state or vote in elections.
	Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetStatus gets the status of a node in the cluster.
	GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, error)
	// Snapshot is used to create a snapshot of the current state of the mesh. The snapshot
	// can be used to restore the mesh state.
	Snapshot(ctx context.Context, in *SnapshotRequest, opts ...grpc.CallOption) (*SnapshotResponse, error)
	// NegotiateDataChannel is used to negotiate a WebRTC connection between a webmesh client
	// and a node in the cluster. The handling server will send the target node the source address,
	// the destination for traffic, and STUN/TURN servers to use for the negotiation. The node
	// responds with an offer to be forwarded to the client. When the handler receives an answer
	// from the client, it forwards it to the node. Once the node receives the answer, the stream
	// can optionally be used to exchange ICE candidates.
	NegotiateDataChannel(ctx context.Context, opts ...grpc.CallOption) (Node_NegotiateDataChannelClient, error)
}

NodeClient is the client API for Node service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewNodeClient

func NewNodeClient(cc grpc.ClientConnInterface) NodeClient

type NodeList

type NodeList struct {

	// nodes is the list of nodes.
	Nodes []*MeshNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	// contains filtered or unexported fields
}

NodeList is a list of nodes.

func (*NodeList) Descriptor deprecated

func (*NodeList) Descriptor() ([]byte, []int)

Deprecated: Use NodeList.ProtoReflect.Descriptor instead.

func (*NodeList) GetNodes

func (x *NodeList) GetNodes() []*MeshNode

func (*NodeList) ProtoMessage

func (*NodeList) ProtoMessage()

func (*NodeList) ProtoReflect

func (x *NodeList) ProtoReflect() protoreflect.Message

func (*NodeList) Reset

func (x *NodeList) Reset()

func (*NodeList) String

func (x *NodeList) String() string

type NodeServer

type NodeServer interface {
	// Join is used to join a node to the mesh. The joining node will be added to the mesh
	// as an observer, and will be able to query the mesh state, but will not be able to vote
	// in elections. To join as a voter pass the as_voter flag.
	Join(context.Context, *JoinRequest) (*JoinResponse, error)
	// Leave is used to remove a node from the mesh. The node will be removed from the mesh
	// and will no longer be able to query the mesh state or vote in elections.
	Leave(context.Context, *LeaveRequest) (*emptypb.Empty, error)
	// GetStatus gets the status of a node in the cluster.
	GetStatus(context.Context, *GetStatusRequest) (*Status, error)
	// Snapshot is used to create a snapshot of the current state of the mesh. The snapshot
	// can be used to restore the mesh state.
	Snapshot(context.Context, *SnapshotRequest) (*SnapshotResponse, error)
	// NegotiateDataChannel is used to negotiate a WebRTC connection between a webmesh client
	// and a node in the cluster. The handling server will send the target node the source address,
	// the destination for traffic, and STUN/TURN servers to use for the negotiation. The node
	// responds with an offer to be forwarded to the client. When the handler receives an answer
	// from the client, it forwards it to the node. Once the node receives the answer, the stream
	// can optionally be used to exchange ICE candidates.
	NegotiateDataChannel(Node_NegotiateDataChannelServer) error
	// contains filtered or unexported methods
}

NodeServer is the server API for Node service. All implementations must embed UnimplementedNodeServer for forward compatibility

type Node_NegotiateDataChannelClient

type Node_NegotiateDataChannelClient interface {
	Send(*DataChannelNegotiation) error
	Recv() (*DataChannelNegotiation, error)
	grpc.ClientStream
}

type Node_NegotiateDataChannelServer

type Node_NegotiateDataChannelServer interface {
	Send(*DataChannelNegotiation) error
	Recv() (*DataChannelNegotiation, error)
	grpc.ServerStream
}

type PeerDiscoveryClient

type PeerDiscoveryClient interface {
	// ListPeers returns a list of public peers currently known to the mesh.
	ListPeers(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListRaftPeersResponse, error)
}

PeerDiscoveryClient is the client API for PeerDiscovery service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type PeerDiscoveryServer

type PeerDiscoveryServer interface {
	// ListPeers returns a list of public peers currently known to the mesh.
	ListPeers(context.Context, *emptypb.Empty) (*ListRaftPeersResponse, error)
	// contains filtered or unexported methods
}

PeerDiscoveryServer is the server API for PeerDiscovery service. All implementations must embed UnimplementedPeerDiscoveryServer for forward compatibility

type PeerMetrics

type PeerMetrics struct {

	// public_key is the public key of the peer.
	PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// endpoint is the connected endpoint of the peer.
	Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// persistent_keep_alive is the persistent keep alive interval for the peer.
	PersistentKeepAlive string `protobuf:"bytes,3,opt,name=persistent_keep_alive,json=persistentKeepAlive,proto3" json:"persistent_keep_alive,omitempty"`
	// last_handshake_time is the last handshake time for the peer.
	LastHandshakeTime string `protobuf:"bytes,4,opt,name=last_handshake_time,json=lastHandshakeTime,proto3" json:"last_handshake_time,omitempty"`
	// allowed_ips is the list of allowed IPs for the peer.
	AllowedIps []string `protobuf:"bytes,5,rep,name=allowed_ips,json=allowedIps,proto3" json:"allowed_ips,omitempty"`
	// protocol_version is the version of the wireguard protocol negotiated with the peer.
	ProtocolVersion int64 `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// receive_bytes is the bytes received from the peer.
	ReceiveBytes uint64 `protobuf:"varint,7,opt,name=receive_bytes,json=receiveBytes,proto3" json:"receive_bytes,omitempty"`
	// transmit_bytes is the bytes transmitted to the peer.
	TransmitBytes uint64 `protobuf:"varint,8,opt,name=transmit_bytes,json=transmitBytes,proto3" json:"transmit_bytes,omitempty"`
	// contains filtered or unexported fields
}

PeerMetrics are the metrics for a node's peer.

func (*PeerMetrics) Descriptor deprecated

func (*PeerMetrics) Descriptor() ([]byte, []int)

Deprecated: Use PeerMetrics.ProtoReflect.Descriptor instead.

func (*PeerMetrics) GetAllowedIps

func (x *PeerMetrics) GetAllowedIps() []string

func (*PeerMetrics) GetEndpoint

func (x *PeerMetrics) GetEndpoint() string

func (*PeerMetrics) GetLastHandshakeTime

func (x *PeerMetrics) GetLastHandshakeTime() string

func (*PeerMetrics) GetPersistentKeepAlive

func (x *PeerMetrics) GetPersistentKeepAlive() string

func (*PeerMetrics) GetProtocolVersion

func (x *PeerMetrics) GetProtocolVersion() int64

func (*PeerMetrics) GetPublicKey

func (x *PeerMetrics) GetPublicKey() string

func (*PeerMetrics) GetReceiveBytes

func (x *PeerMetrics) GetReceiveBytes() uint64

func (*PeerMetrics) GetTransmitBytes

func (x *PeerMetrics) GetTransmitBytes() uint64

func (*PeerMetrics) ProtoMessage

func (*PeerMetrics) ProtoMessage()

func (*PeerMetrics) ProtoReflect

func (x *PeerMetrics) ProtoReflect() protoreflect.Message

func (*PeerMetrics) Reset

func (x *PeerMetrics) Reset()

func (*PeerMetrics) String

func (x *PeerMetrics) String() string

type PluginCapability

type PluginCapability int32

PluginCapability is the capabilities of a plugin.

const (
	// PLUGIN_CAPABILITY_UNKNOWN is the default value of PluginCapability.
	PluginCapability_PLUGIN_CAPABILITY_UNKNOWN PluginCapability = 0
	// PLUGIN_CAPABILITY_STORE indicates that the plugin is a raft store plugin.
	PluginCapability_PLUGIN_CAPABILITY_STORE PluginCapability = 1
	// PLUGIN_CAPABILITY_AUTH indicates that the plugin is an auth plugin.
	PluginCapability_PLUGIN_CAPABILITY_AUTH PluginCapability = 2
	// PLUGIN_CAPABILITY_WATCH indicates that the plugin wants to receive watch events.
	PluginCapability_PLUGIN_CAPABILITY_WATCH PluginCapability = 3
)

func (PluginCapability) Descriptor

func (PluginCapability) Enum

func (PluginCapability) EnumDescriptor deprecated

func (PluginCapability) EnumDescriptor() ([]byte, []int)

Deprecated: Use PluginCapability.Descriptor instead.

func (PluginCapability) Number

func (PluginCapability) String

func (x PluginCapability) String() string

func (PluginCapability) Type

type PluginClient

type PluginClient interface {
	// GetInfo returns the information for the plugin.
	GetInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
	// Configure configures the plugin.
	Configure(ctx context.Context, in *PluginConfiguration, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Store dispatches a Raft log entry for storage.
	Store(ctx context.Context, in *StoreLogRequest, opts ...grpc.CallOption) (*RaftApplyResponse, error)
	// RestoreSnapshot should drop any existing state and restore from the snapshot.
	RestoreSnapshot(ctx context.Context, in *DataSnapshot, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Authenticate authenticates a request.
	Authenticate(ctx context.Context, in *AuthenticationRequest, opts ...grpc.CallOption) (*AuthenticationResponse, error)
	// Emit handles a watch event.
	Emit(ctx context.Context, in *Event, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

PluginClient is the client API for Plugin service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewPluginClient

func NewPluginClient(cc grpc.ClientConnInterface) PluginClient

type PluginConfiguration

type PluginConfiguration struct {

	// Config is the configuration of the plugin.
	Config *structpb.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

PluginConfiguration is the message containing the configuration of a plugin.

func (*PluginConfiguration) Descriptor deprecated

func (*PluginConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use PluginConfiguration.ProtoReflect.Descriptor instead.

func (*PluginConfiguration) GetConfig

func (x *PluginConfiguration) GetConfig() *structpb.Struct

func (*PluginConfiguration) ProtoMessage

func (*PluginConfiguration) ProtoMessage()

func (*PluginConfiguration) ProtoReflect

func (x *PluginConfiguration) ProtoReflect() protoreflect.Message

func (*PluginConfiguration) Reset

func (x *PluginConfiguration) Reset()

func (*PluginConfiguration) String

func (x *PluginConfiguration) String() string

type PluginInfo

type PluginInfo struct {

	// Name is the name of the plugin.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Version is the version of the plugin.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Description is the description of the plugin.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Capabilities is the capabilities of the plugin.
	Capabilities []PluginCapability `protobuf:"varint,5,rep,packed,name=capabilities,proto3,enum=v1.PluginCapability" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

PluginInfo is the information of a plugin.

func (*PluginInfo) Descriptor deprecated

func (*PluginInfo) Descriptor() ([]byte, []int)

Deprecated: Use PluginInfo.ProtoReflect.Descriptor instead.

func (*PluginInfo) GetCapabilities

func (x *PluginInfo) GetCapabilities() []PluginCapability

func (*PluginInfo) GetDescription

func (x *PluginInfo) GetDescription() string

func (*PluginInfo) GetName

func (x *PluginInfo) GetName() string

func (*PluginInfo) GetVersion

func (x *PluginInfo) GetVersion() string

func (*PluginInfo) ProtoMessage

func (*PluginInfo) ProtoMessage()

func (*PluginInfo) ProtoReflect

func (x *PluginInfo) ProtoReflect() protoreflect.Message

func (*PluginInfo) Reset

func (x *PluginInfo) Reset()

func (*PluginInfo) String

func (x *PluginInfo) String() string

type PluginServer

type PluginServer interface {
	// GetInfo returns the information for the plugin.
	GetInfo(context.Context, *emptypb.Empty) (*PluginInfo, error)
	// Configure configures the plugin.
	Configure(context.Context, *PluginConfiguration) (*emptypb.Empty, error)
	// Store dispatches a Raft log entry for storage.
	Store(context.Context, *StoreLogRequest) (*RaftApplyResponse, error)
	// RestoreSnapshot should drop any existing state and restore from the snapshot.
	RestoreSnapshot(context.Context, *DataSnapshot) (*emptypb.Empty, error)
	// Authenticate authenticates a request.
	Authenticate(context.Context, *AuthenticationRequest) (*AuthenticationResponse, error)
	// Emit handles a watch event.
	Emit(context.Context, *Event) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

PluginServer is the server API for Plugin service. All implementations must embed UnimplementedPluginServer for forward compatibility

type RBACAction

type RBACAction struct {

	// resource is the resource on which the action is performed.
	Resource RuleResource `protobuf:"varint,1,opt,name=resource,proto3,enum=v1.RuleResource" json:"resource,omitempty"`
	// resource_name is the name of the resource on which the action is
	// performed.
	ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
	// verb is the verb that is performed on the resource.
	Verb RuleVerb `protobuf:"varint,3,opt,name=verb,proto3,enum=v1.RuleVerb" json:"verb,omitempty"`
	// contains filtered or unexported fields
}

RBACAction is an action that can be performed on a resource. It is used by implementations to evaluate rules.

func (*RBACAction) Descriptor deprecated

func (*RBACAction) Descriptor() ([]byte, []int)

Deprecated: Use RBACAction.ProtoReflect.Descriptor instead.

func (*RBACAction) GetResource

func (x *RBACAction) GetResource() RuleResource

func (*RBACAction) GetResourceName

func (x *RBACAction) GetResourceName() string

func (*RBACAction) GetVerb

func (x *RBACAction) GetVerb() RuleVerb

func (*RBACAction) ProtoMessage

func (*RBACAction) ProtoMessage()

func (*RBACAction) ProtoReflect

func (x *RBACAction) ProtoReflect() protoreflect.Message

func (*RBACAction) Reset

func (x *RBACAction) Reset()

func (*RBACAction) String

func (x *RBACAction) String() string

type RaftApplyResponse

type RaftApplyResponse struct {

	// time is the total time it took to apply the log entry.
	Time string `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	// query is the query result of the log entry.
	QueryResult *SQLQueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
	// exec is the exec result of the log entry.
	ExecResult *SQLExecResult `protobuf:"bytes,3,opt,name=exec_result,json=execResult,proto3" json:"exec_result,omitempty"`
	// error is an error that occurred during the apply.
	Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

RaftApplyResponse is the response to an apply request. It contains the result of applying the log entry.

func (*RaftApplyResponse) Descriptor deprecated

func (*RaftApplyResponse) Descriptor() ([]byte, []int)

Deprecated: Use RaftApplyResponse.ProtoReflect.Descriptor instead.

func (*RaftApplyResponse) GetError

func (x *RaftApplyResponse) GetError() string

func (*RaftApplyResponse) GetExecResult

func (x *RaftApplyResponse) GetExecResult() *SQLExecResult

func (*RaftApplyResponse) GetQueryResult

func (x *RaftApplyResponse) GetQueryResult() *SQLQueryResult

func (*RaftApplyResponse) GetTime

func (x *RaftApplyResponse) GetTime() string

func (*RaftApplyResponse) ProtoMessage

func (*RaftApplyResponse) ProtoMessage()

func (*RaftApplyResponse) ProtoReflect

func (x *RaftApplyResponse) ProtoReflect() protoreflect.Message

func (*RaftApplyResponse) Reset

func (x *RaftApplyResponse) Reset()

func (*RaftApplyResponse) String

func (x *RaftApplyResponse) String() string

type RaftCommandType

type RaftCommandType int32

RaftCommandType is the type of command being sent to the Raft log.

const (
	// UNKNOWN is the unknown command type.
	RaftCommandType_UNKNOWN RaftCommandType = 0
	// QUERY is the query command type.
	RaftCommandType_QUERY RaftCommandType = 1
	// EXECUTE is the execute command type.
	RaftCommandType_EXECUTE RaftCommandType = 2
)

func (RaftCommandType) Descriptor

func (RaftCommandType) Enum

func (x RaftCommandType) Enum() *RaftCommandType

func (RaftCommandType) EnumDescriptor deprecated

func (RaftCommandType) EnumDescriptor() ([]byte, []int)

Deprecated: Use RaftCommandType.Descriptor instead.

func (RaftCommandType) Number

func (RaftCommandType) String

func (x RaftCommandType) String() string

func (RaftCommandType) Type

type RaftLogEntry

type RaftLogEntry struct {

	// type is the type of the log entry.
	Type RaftCommandType `protobuf:"varint,1,opt,name=type,proto3,enum=v1.RaftCommandType" json:"type,omitempty"`
	// data is the data of the log entry.
	// sql_query is the SQL query of the log entry.
	SqlQuery *SQLQuery `protobuf:"bytes,2,opt,name=sql_query,json=sqlQuery,proto3" json:"sql_query,omitempty"`
	// sql_exec is the SQL exec of the log entry.
	SqlExec *SQLExec `protobuf:"bytes,3,opt,name=sql_exec,json=sqlExec,proto3" json:"sql_exec,omitempty"`
	// contains filtered or unexported fields
}

RaftLogEntry is the data of an entry in the Raft log.

func (*RaftLogEntry) Descriptor deprecated

func (*RaftLogEntry) Descriptor() ([]byte, []int)

Deprecated: Use RaftLogEntry.ProtoReflect.Descriptor instead.

func (*RaftLogEntry) GetSqlExec

func (x *RaftLogEntry) GetSqlExec() *SQLExec

func (*RaftLogEntry) GetSqlQuery

func (x *RaftLogEntry) GetSqlQuery() *SQLQuery

func (*RaftLogEntry) GetType

func (x *RaftLogEntry) GetType() RaftCommandType

func (*RaftLogEntry) ProtoMessage

func (*RaftLogEntry) ProtoMessage()

func (*RaftLogEntry) ProtoReflect

func (x *RaftLogEntry) ProtoReflect() protoreflect.Message

func (*RaftLogEntry) Reset

func (x *RaftLogEntry) Reset()

func (*RaftLogEntry) String

func (x *RaftLogEntry) String() string

type RaftPeer

type RaftPeer struct {

	// ID is the ID of the peer.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Address is the public gRPC address of the peer.
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// Voter is whether the peer is a voter.
	Voter bool `protobuf:"varint,3,opt,name=voter,proto3" json:"voter,omitempty"`
	// Leader is whether the peer is the leader.
	Leader bool `protobuf:"varint,4,opt,name=leader,proto3" json:"leader,omitempty"`
	// contains filtered or unexported fields
}

RaftPeer is a peer in the Raft cluster.

func (*RaftPeer) Descriptor deprecated

func (*RaftPeer) Descriptor() ([]byte, []int)

Deprecated: Use RaftPeer.ProtoReflect.Descriptor instead.

func (*RaftPeer) GetAddress

func (x *RaftPeer) GetAddress() string

func (*RaftPeer) GetId

func (x *RaftPeer) GetId() string

func (*RaftPeer) GetLeader

func (x *RaftPeer) GetLeader() bool

func (*RaftPeer) GetVoter

func (x *RaftPeer) GetVoter() bool

func (*RaftPeer) ProtoMessage

func (*RaftPeer) ProtoMessage()

func (*RaftPeer) ProtoReflect

func (x *RaftPeer) ProtoReflect() protoreflect.Message

func (*RaftPeer) Reset

func (x *RaftPeer) Reset()

func (*RaftPeer) String

func (x *RaftPeer) String() string

type Role

type Role struct {

	// name is the name of the role.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// rules is the list of rules that apply to the role.
	Rules []*Rule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
	// contains filtered or unexported fields
}

Role is a role that can be assigned to a subject.

func (*Role) Descriptor deprecated

func (*Role) Descriptor() ([]byte, []int)

Deprecated: Use Role.ProtoReflect.Descriptor instead.

func (*Role) GetName

func (x *Role) GetName() string

func (*Role) GetRules

func (x *Role) GetRules() []*Rule

func (*Role) ProtoMessage

func (*Role) ProtoMessage()

func (*Role) ProtoReflect

func (x *Role) ProtoReflect() protoreflect.Message

func (*Role) Reset

func (x *Role) Reset()

func (*Role) String

func (x *Role) String() string

type RoleBinding

type RoleBinding struct {

	// name is the name of the role binding.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// role is the name of the role to which the binding applies.
	Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
	// subjects is the list of subjects to which the binding applies.
	Subjects []*Subject `protobuf:"bytes,3,rep,name=subjects,proto3" json:"subjects,omitempty"`
	// contains filtered or unexported fields
}

RoleBinding is a binding of a role to one or more subjects.

func (*RoleBinding) Descriptor deprecated

func (*RoleBinding) Descriptor() ([]byte, []int)

Deprecated: Use RoleBinding.ProtoReflect.Descriptor instead.

func (*RoleBinding) GetName

func (x *RoleBinding) GetName() string

func (*RoleBinding) GetRole

func (x *RoleBinding) GetRole() string

func (*RoleBinding) GetSubjects

func (x *RoleBinding) GetSubjects() []*Subject

func (*RoleBinding) ProtoMessage

func (*RoleBinding) ProtoMessage()

func (*RoleBinding) ProtoReflect

func (x *RoleBinding) ProtoReflect() protoreflect.Message

func (*RoleBinding) Reset

func (x *RoleBinding) Reset()

func (*RoleBinding) String

func (x *RoleBinding) String() string

type RoleBindings

type RoleBindings struct {

	// items is the list of role bindings.
	Items []*RoleBinding `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

RoleBindings is a list of role bindings.

func (*RoleBindings) Descriptor deprecated

func (*RoleBindings) Descriptor() ([]byte, []int)

Deprecated: Use RoleBindings.ProtoReflect.Descriptor instead.

func (*RoleBindings) GetItems

func (x *RoleBindings) GetItems() []*RoleBinding

func (*RoleBindings) ProtoMessage

func (*RoleBindings) ProtoMessage()

func (*RoleBindings) ProtoReflect

func (x *RoleBindings) ProtoReflect() protoreflect.Message

func (*RoleBindings) Reset

func (x *RoleBindings) Reset()

func (*RoleBindings) String

func (x *RoleBindings) String() string

type Roles

type Roles struct {

	// items is the list of roles.
	Items []*Role `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

Roles is a list of roles.

func (*Roles) Descriptor deprecated

func (*Roles) Descriptor() ([]byte, []int)

Deprecated: Use Roles.ProtoReflect.Descriptor instead.

func (*Roles) GetItems

func (x *Roles) GetItems() []*Role

func (*Roles) ProtoMessage

func (*Roles) ProtoMessage()

func (*Roles) ProtoReflect

func (x *Roles) ProtoReflect() protoreflect.Message

func (*Roles) Reset

func (x *Roles) Reset()

func (*Roles) String

func (x *Roles) String() string

type Route

type Route struct {

	// name is the name of the route.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// node is the node that broadcasts the route. A group can be specified with the prefix "group:".
	Node string `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
	// destination_cidrs are the destination CIDRs of the route.
	DestinationCidrs []string `protobuf:"bytes,3,rep,name=destination_cidrs,json=destinationCidrs,proto3" json:"destination_cidrs,omitempty"`
	// next_hop_node is an optional node that is used as the next hop for the route.
	NextHopNode string `protobuf:"bytes,4,opt,name=next_hop_node,json=nextHopNode,proto3" json:"next_hop_node,omitempty"`
	// contains filtered or unexported fields
}

Route is a route that is broadcasted by one or more nodes.

func (*Route) Descriptor deprecated

func (*Route) Descriptor() ([]byte, []int)

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetDestinationCidrs

func (x *Route) GetDestinationCidrs() []string

func (*Route) GetName

func (x *Route) GetName() string

func (*Route) GetNextHopNode

func (x *Route) GetNextHopNode() string

func (*Route) GetNode

func (x *Route) GetNode() string

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect

func (x *Route) ProtoReflect() protoreflect.Message

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

type Routes

type Routes struct {

	// items is the list of routes.
	Items []*Route `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// contains filtered or unexported fields
}

Routes is a list of routes.

func (*Routes) Descriptor deprecated

func (*Routes) Descriptor() ([]byte, []int)

Deprecated: Use Routes.ProtoReflect.Descriptor instead.

func (*Routes) GetItems

func (x *Routes) GetItems() []*Route

func (*Routes) ProtoMessage

func (*Routes) ProtoMessage()

func (*Routes) ProtoReflect

func (x *Routes) ProtoReflect() protoreflect.Message

func (*Routes) Reset

func (x *Routes) Reset()

func (*Routes) String

func (x *Routes) String() string

type Rule

type Rule struct {

	// resources is the resources to which the rule applies.
	Resources []RuleResource `protobuf:"varint,1,rep,packed,name=resources,proto3,enum=v1.RuleResource" json:"resources,omitempty"`
	// resource_names is the list of resource names to which the rule applies.
	ResourceNames []string `protobuf:"bytes,2,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"`
	// verbs is the list of verbs that apply to the resource.
	Verbs []RuleVerb `protobuf:"varint,3,rep,packed,name=verbs,proto3,enum=v1.RuleVerb" json:"verbs,omitempty"`
	// contains filtered or unexported fields
}

Rule is a rule that applies to a resource.

func (*Rule) Descriptor deprecated

func (*Rule) Descriptor() ([]byte, []int)

Deprecated: Use Rule.ProtoReflect.Descriptor instead.

func (*Rule) GetResourceNames

func (x *Rule) GetResourceNames() []string

func (*Rule) GetResources

func (x *Rule) GetResources() []RuleResource

func (*Rule) GetVerbs

func (x *Rule) GetVerbs() []RuleVerb

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) ProtoReflect

func (x *Rule) ProtoReflect() protoreflect.Message

func (*Rule) Reset

func (x *Rule) Reset()

func (*Rule) String

func (x *Rule) String() string

type RuleResource

type RuleResource int32

RuleResource is the resource type for a rule.

const (
	// RESOURCE_UNKNOWN is an unknown resource.
	RuleResource_RESOURCE_UNKNOWN RuleResource = 0
	// RESOURCE_VOTES is the resource for voting in raft elections. The only
	// verb evaluated for this resource is PUT.
	RuleResource_RESOURCE_VOTES RuleResource = 1
	// RESOURCE_ROLES is the resource for managing roles.
	RuleResource_RESOURCE_ROLES RuleResource = 2
	// RESOURCE_ROLE_BINDINGS is the resource for managing role bindings.
	RuleResource_RESOURCE_ROLE_BINDINGS RuleResource = 3
	// RESOURCE_GROUPS is the resource for managing groups.
	RuleResource_RESOURCE_GROUPS RuleResource = 4
	// RESOURCE_NETWORK_ACLS is the resource for managing network ACLs.
	RuleResource_RESOURCE_NETWORK_ACLS RuleResource = 5
	// RESOURCE_ROUTES is the resource for managing routes.
	RuleResource_RESOURCE_ROUTES RuleResource = 6
	// RESOURCE_DATA_CHANNELS is the resource for creating data channels.
	RuleResource_RESOURCE_DATA_CHANNELS RuleResource = 7
	// RESOURCE_EDGES is the resource for managing edges.
	RuleResource_RESOURCE_EDGES RuleResource = 8
	// RESOURCE_ALL is a wildcard resource that matches all resources.
	RuleResource_RESOURCE_ALL RuleResource = 999
)

func (RuleResource) Descriptor

func (RuleResource) Enum

func (x RuleResource) Enum() *RuleResource

func (RuleResource) EnumDescriptor deprecated

func (RuleResource) EnumDescriptor() ([]byte, []int)

Deprecated: Use RuleResource.Descriptor instead.

func (RuleResource) Number

func (RuleResource) String

func (x RuleResource) String() string

func (RuleResource) Type

type RuleVerb added in v0.1.3

type RuleVerb int32

RuleVerb is the verb type for a rule.

const (
	// VERB_UNKNOWN is an unknown verb.
	RuleVerb_VERB_UNKNOWN RuleVerb = 0
	// VERB_PUT is the verb for creating or updating a resource.
	RuleVerb_VERB_PUT RuleVerb = 1
	// VERB_GET is the verb for getting a resource.
	RuleVerb_VERB_GET RuleVerb = 2
	// VERB_DELETE is the verb for deleting a resource.
	RuleVerb_VERB_DELETE RuleVerb = 3
	// VERB_ALL is a wildcard verb that matches all verbs.
	RuleVerb_VERB_ALL RuleVerb = 999
)

func (RuleVerb) Descriptor added in v0.1.3

func (RuleVerb) Descriptor() protoreflect.EnumDescriptor

func (RuleVerb) Enum added in v0.1.3

func (x RuleVerb) Enum() *RuleVerb

func (RuleVerb) EnumDescriptor deprecated added in v0.1.3

func (RuleVerb) EnumDescriptor() ([]byte, []int)

Deprecated: Use RuleVerb.Descriptor instead.

func (RuleVerb) Number added in v0.1.3

func (x RuleVerb) Number() protoreflect.EnumNumber

func (RuleVerb) String added in v0.1.3

func (x RuleVerb) String() string

func (RuleVerb) Type added in v0.1.3

type SQLExec

type SQLExec struct {

	// transaction flags whether the exec is a transaction.
	Transaction bool `protobuf:"varint,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	// statement is the statement of the SQL exec.
	Statement *SQLStatement `protobuf:"bytes,2,opt,name=statement,proto3" json:"statement,omitempty"`
	// contains filtered or unexported fields
}

SQLExec is a SQL exec.

func (*SQLExec) Descriptor deprecated

func (*SQLExec) Descriptor() ([]byte, []int)

Deprecated: Use SQLExec.ProtoReflect.Descriptor instead.

func (*SQLExec) GetStatement

func (x *SQLExec) GetStatement() *SQLStatement

func (*SQLExec) GetTransaction

func (x *SQLExec) GetTransaction() bool

func (*SQLExec) ProtoMessage

func (*SQLExec) ProtoMessage()

func (*SQLExec) ProtoReflect

func (x *SQLExec) ProtoReflect() protoreflect.Message

func (*SQLExec) Reset

func (x *SQLExec) Reset()

func (*SQLExec) String

func (x *SQLExec) String() string

type SQLExecResult

type SQLExecResult struct {

	// last_insert_id is the last insert ID.
	LastInsertId int64 `protobuf:"varint,1,opt,name=last_insert_id,json=lastInsertId,proto3" json:"last_insert_id,omitempty"`
	// rows_affected is the number of rows affected.
	RowsAffected int64 `protobuf:"varint,2,opt,name=rows_affected,json=rowsAffected,proto3" json:"rows_affected,omitempty"`
	// contains filtered or unexported fields
}

SQLExecResult is the result of a SQL exec.

func (*SQLExecResult) Descriptor deprecated

func (*SQLExecResult) Descriptor() ([]byte, []int)

Deprecated: Use SQLExecResult.ProtoReflect.Descriptor instead.

func (*SQLExecResult) GetLastInsertId

func (x *SQLExecResult) GetLastInsertId() int64

func (*SQLExecResult) GetRowsAffected

func (x *SQLExecResult) GetRowsAffected() int64

func (*SQLExecResult) ProtoMessage

func (*SQLExecResult) ProtoMessage()

func (*SQLExecResult) ProtoReflect

func (x *SQLExecResult) ProtoReflect() protoreflect.Message

func (*SQLExecResult) Reset

func (x *SQLExecResult) Reset()

func (*SQLExecResult) String

func (x *SQLExecResult) String() string

type SQLParameter

type SQLParameter struct {

	// name is the name of the parameter.
	Name   string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Type   SQLParameterType       `protobuf:"varint,2,opt,name=type,proto3,enum=v1.SQLParameterType" json:"type,omitempty"`
	Int64  int64                  `protobuf:"zigzag64,3,opt,name=int64,proto3" json:"int64,omitempty"`
	Double float64                `protobuf:"fixed64,4,opt,name=double,proto3" json:"double,omitempty"`
	Bool   bool                   `protobuf:"varint,5,opt,name=bool,proto3" json:"bool,omitempty"`
	Bytes  []byte                 `protobuf:"bytes,6,opt,name=bytes,proto3" json:"bytes,omitempty"`
	Str    string                 `protobuf:"bytes,7,opt,name=str,proto3" json:"str,omitempty"`
	Time   *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=time,proto3" json:"time,omitempty"`
	// contains filtered or unexported fields
}

SQLParameter is a parameter of a SQL query.

func (*SQLParameter) Descriptor deprecated

func (*SQLParameter) Descriptor() ([]byte, []int)

Deprecated: Use SQLParameter.ProtoReflect.Descriptor instead.

func (*SQLParameter) GetBool

func (x *SQLParameter) GetBool() bool

func (*SQLParameter) GetBytes

func (x *SQLParameter) GetBytes() []byte

func (*SQLParameter) GetDouble

func (x *SQLParameter) GetDouble() float64

func (*SQLParameter) GetInt64

func (x *SQLParameter) GetInt64() int64

func (*SQLParameter) GetName

func (x *SQLParameter) GetName() string

func (*SQLParameter) GetStr

func (x *SQLParameter) GetStr() string

func (*SQLParameter) GetTime

func (x *SQLParameter) GetTime() *timestamppb.Timestamp

func (*SQLParameter) GetType

func (x *SQLParameter) GetType() SQLParameterType

func (*SQLParameter) ProtoMessage

func (*SQLParameter) ProtoMessage()

func (*SQLParameter) ProtoReflect

func (x *SQLParameter) ProtoReflect() protoreflect.Message

func (*SQLParameter) Reset

func (x *SQLParameter) Reset()

func (*SQLParameter) String

func (x *SQLParameter) String() string

type SQLParameterType

type SQLParameterType int32
const (
	// UNKNOWN is the unknown parameter type.
	SQLParameterType_SQL_PARAM_UNKNOWN SQLParameterType = 0
	// INT64 is the int64 parameter type.
	SQLParameterType_SQL_PARAM_INT64 SQLParameterType = 1
	// DOUBLE is the double parameter type.
	SQLParameterType_SQL_PARAM_DOUBLE SQLParameterType = 2
	// BOOL is the bool parameter type.
	SQLParameterType_SQL_PARAM_BOOL SQLParameterType = 3
	// BYTES is the bytes parameter type.
	SQLParameterType_SQL_PARAM_BYTES SQLParameterType = 4
	// STRING is the string parameter type.
	SQLParameterType_SQL_PARAM_STRING SQLParameterType = 5
	// TIME is the time parameter type.
	SQLParameterType_SQL_PARAM_TIME SQLParameterType = 6
	// NULL is the null parameter type.
	SQLParameterType_SQL_PARAM_NULL SQLParameterType = 7
)

func (SQLParameterType) Descriptor

func (SQLParameterType) Enum

func (SQLParameterType) EnumDescriptor deprecated

func (SQLParameterType) EnumDescriptor() ([]byte, []int)

Deprecated: Use SQLParameterType.Descriptor instead.

func (SQLParameterType) Number

func (SQLParameterType) String

func (x SQLParameterType) String() string

func (SQLParameterType) Type

type SQLQuery

type SQLQuery struct {

	// transaction flags whether the query is a transaction.
	Transaction bool `protobuf:"varint,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
	// statement is the statement of the SQL query.
	Statement *SQLStatement `protobuf:"bytes,2,opt,name=statement,proto3" json:"statement,omitempty"`
	// contains filtered or unexported fields
}

SQLQuery is a SQL query.

func (*SQLQuery) Descriptor deprecated

func (*SQLQuery) Descriptor() ([]byte, []int)

Deprecated: Use SQLQuery.ProtoReflect.Descriptor instead.

func (*SQLQuery) GetStatement

func (x *SQLQuery) GetStatement() *SQLStatement

func (*SQLQuery) GetTransaction

func (x *SQLQuery) GetTransaction() bool

func (*SQLQuery) ProtoMessage

func (*SQLQuery) ProtoMessage()

func (*SQLQuery) ProtoReflect

func (x *SQLQuery) ProtoReflect() protoreflect.Message

func (*SQLQuery) Reset

func (x *SQLQuery) Reset()

func (*SQLQuery) String

func (x *SQLQuery) String() string

type SQLQueryResult

type SQLQueryResult struct {

	// columns is the list of columns.
	Columns []string `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"`
	// types is the list of types.
	Types []string `protobuf:"bytes,2,rep,name=types,proto3" json:"types,omitempty"`
	// values is the list of values.
	Values []*SQLValues `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

SQLQueryResult contains the rows of a SQL query.

func (*SQLQueryResult) Descriptor deprecated

func (*SQLQueryResult) Descriptor() ([]byte, []int)

Deprecated: Use SQLQueryResult.ProtoReflect.Descriptor instead.

func (*SQLQueryResult) GetColumns

func (x *SQLQueryResult) GetColumns() []string

func (*SQLQueryResult) GetTypes

func (x *SQLQueryResult) GetTypes() []string

func (*SQLQueryResult) GetValues

func (x *SQLQueryResult) GetValues() []*SQLValues

func (*SQLQueryResult) ProtoMessage

func (*SQLQueryResult) ProtoMessage()

func (*SQLQueryResult) ProtoReflect

func (x *SQLQueryResult) ProtoReflect() protoreflect.Message

func (*SQLQueryResult) Reset

func (x *SQLQueryResult) Reset()

func (*SQLQueryResult) String

func (x *SQLQueryResult) String() string

type SQLStatement

type SQLStatement struct {

	// sql is the SQL statement.
	Sql string `protobuf:"bytes,1,opt,name=sql,proto3" json:"sql,omitempty"`
	// parameters is the parameters of the SQL statement.
	Parameters []*SQLParameter `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"`
	// contains filtered or unexported fields
}

SQLStatement is a SQL statement.

func (*SQLStatement) Descriptor deprecated

func (*SQLStatement) Descriptor() ([]byte, []int)

Deprecated: Use SQLStatement.ProtoReflect.Descriptor instead.

func (*SQLStatement) GetParameters

func (x *SQLStatement) GetParameters() []*SQLParameter

func (*SQLStatement) GetSql

func (x *SQLStatement) GetSql() string

func (*SQLStatement) ProtoMessage

func (*SQLStatement) ProtoMessage()

func (*SQLStatement) ProtoReflect

func (x *SQLStatement) ProtoReflect() protoreflect.Message

func (*SQLStatement) Reset

func (x *SQLStatement) Reset()

func (*SQLStatement) String

func (x *SQLStatement) String() string

type SQLValues

type SQLValues struct {

	// values is the list of values.
	Values []*SQLParameter `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

SQLValues is a list of values.

func (*SQLValues) Descriptor deprecated

func (*SQLValues) Descriptor() ([]byte, []int)

Deprecated: Use SQLValues.ProtoReflect.Descriptor instead.

func (*SQLValues) GetValues

func (x *SQLValues) GetValues() []*SQLParameter

func (*SQLValues) ProtoMessage

func (*SQLValues) ProtoMessage()

func (*SQLValues) ProtoReflect

func (x *SQLValues) ProtoReflect() protoreflect.Message

func (*SQLValues) Reset

func (x *SQLValues) Reset()

func (*SQLValues) String

func (x *SQLValues) String() string

type SnapshotRequest added in v0.1.3

type SnapshotRequest struct {
	// contains filtered or unexported fields
}

SnapshotRequest is a request to create a snapshot. It is intentionally empty for now as there are no options.

func (*SnapshotRequest) Descriptor deprecated added in v0.1.3

func (*SnapshotRequest) Descriptor() ([]byte, []int)

Deprecated: Use SnapshotRequest.ProtoReflect.Descriptor instead.

func (*SnapshotRequest) ProtoMessage added in v0.1.3

func (*SnapshotRequest) ProtoMessage()

func (*SnapshotRequest) ProtoReflect added in v0.1.3

func (x *SnapshotRequest) ProtoReflect() protoreflect.Message

func (*SnapshotRequest) Reset added in v0.1.3

func (x *SnapshotRequest) Reset()

func (*SnapshotRequest) String added in v0.1.3

func (x *SnapshotRequest) String() string

type SnapshotResponse added in v0.1.3

type SnapshotResponse struct {

	// snapshot is the snapshot data.
	Snapshot []byte `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	// contains filtered or unexported fields
}

SnapshotResponse is a response to a snapshot request.

func (*SnapshotResponse) Descriptor deprecated added in v0.1.3

func (*SnapshotResponse) Descriptor() ([]byte, []int)

Deprecated: Use SnapshotResponse.ProtoReflect.Descriptor instead.

func (*SnapshotResponse) GetSnapshot added in v0.1.3

func (x *SnapshotResponse) GetSnapshot() []byte

func (*SnapshotResponse) ProtoMessage added in v0.1.3

func (*SnapshotResponse) ProtoMessage()

func (*SnapshotResponse) ProtoReflect added in v0.1.3

func (x *SnapshotResponse) ProtoReflect() protoreflect.Message

func (*SnapshotResponse) Reset added in v0.1.3

func (x *SnapshotResponse) Reset()

func (*SnapshotResponse) String added in v0.1.3

func (x *SnapshotResponse) String() string

type StartDataChannelRequest

type StartDataChannelRequest struct {

	// node_id is the ID of the node to send the data to.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// proto is the protocol of the traffic.
	Proto string `protobuf:"bytes,2,opt,name=proto,proto3" json:"proto,omitempty"`
	// dst is the destination address of the traffic.
	Dst string `protobuf:"bytes,3,opt,name=dst,proto3" json:"dst,omitempty"`
	// port is the destination port of the traffic. A port of 0 coupled
	// with the udp protocol indicates forwarding to the WireGuard interface.
	Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
	// answer is the answer to the offer.
	Answer string `protobuf:"bytes,5,opt,name=answer,proto3" json:"answer,omitempty"`
	// candidate is an ICE candidate.
	Candidate string `protobuf:"bytes,6,opt,name=candidate,proto3" json:"candidate,omitempty"`
	// contains filtered or unexported fields
}

StartDataChannelRequest is a request to start a data channel. The answer and candidate fields are populated after the offer is received.

func (*StartDataChannelRequest) Descriptor deprecated

func (*StartDataChannelRequest) Descriptor() ([]byte, []int)

Deprecated: Use StartDataChannelRequest.ProtoReflect.Descriptor instead.

func (*StartDataChannelRequest) GetAnswer

func (x *StartDataChannelRequest) GetAnswer() string

func (*StartDataChannelRequest) GetCandidate

func (x *StartDataChannelRequest) GetCandidate() string

func (*StartDataChannelRequest) GetDst

func (x *StartDataChannelRequest) GetDst() string

func (*StartDataChannelRequest) GetNodeId

func (x *StartDataChannelRequest) GetNodeId() string

func (*StartDataChannelRequest) GetPort

func (x *StartDataChannelRequest) GetPort() uint32

func (*StartDataChannelRequest) GetProto

func (x *StartDataChannelRequest) GetProto() string

func (*StartDataChannelRequest) ProtoMessage

func (*StartDataChannelRequest) ProtoMessage()

func (*StartDataChannelRequest) ProtoReflect

func (x *StartDataChannelRequest) ProtoReflect() protoreflect.Message

func (*StartDataChannelRequest) Reset

func (x *StartDataChannelRequest) Reset()

func (*StartDataChannelRequest) String

func (x *StartDataChannelRequest) String() string

type Status

type Status struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// version is the version of the node.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// commit is the commit of the node.
	Commit string `protobuf:"bytes,3,opt,name=commit,proto3" json:"commit,omitempty"`
	// build_date is the build date of the node.
	BuildDate string `protobuf:"bytes,4,opt,name=build_date,json=buildDate,proto3" json:"build_date,omitempty"`
	// uptime is the uptime of the node.
	Uptime string `protobuf:"bytes,5,opt,name=uptime,proto3" json:"uptime,omitempty"`
	// started_at is the time the node started.
	StartedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	// features is the list of features currently enabled.
	Features []Feature `protobuf:"varint,7,rep,packed,name=features,proto3,enum=v1.Feature" json:"features,omitempty"`
	// cluster_status is the status of the node in the cluster.
	ClusterStatus ClusterStatus `protobuf:"varint,8,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// current_leader is the current leader of the cluster.
	CurrentLeader string `protobuf:"bytes,9,opt,name=current_leader,json=currentLeader,proto3" json:"current_leader,omitempty"`
	// current_term is the current term of the cluster.
	CurrentTerm uint64 `protobuf:"varint,10,opt,name=current_term,json=currentTerm,proto3" json:"current_term,omitempty"`
	// last_log_index is the last log index of the cluster.
	LastLogIndex uint64 `protobuf:"varint,11,opt,name=last_log_index,json=lastLogIndex,proto3" json:"last_log_index,omitempty"`
	// last_applied is the last applied index of the cluster.
	LastApplied uint64 `protobuf:"varint,12,opt,name=last_applied,json=lastApplied,proto3" json:"last_applied,omitempty"`
	// interface_metrics are the metrics for the node's interfaces.
	InterfaceMetrics *InterfaceMetrics `protobuf:"bytes,13,opt,name=interface_metrics,json=interfaceMetrics,proto3" json:"interface_metrics,omitempty"`
	// contains filtered or unexported fields
}

Status represents the status of a node.

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetBuildDate

func (x *Status) GetBuildDate() string

func (*Status) GetClusterStatus

func (x *Status) GetClusterStatus() ClusterStatus

func (*Status) GetCommit

func (x *Status) GetCommit() string

func (*Status) GetCurrentLeader

func (x *Status) GetCurrentLeader() string

func (*Status) GetCurrentTerm

func (x *Status) GetCurrentTerm() uint64

func (*Status) GetFeatures

func (x *Status) GetFeatures() []Feature

func (*Status) GetId

func (x *Status) GetId() string

func (*Status) GetInterfaceMetrics

func (x *Status) GetInterfaceMetrics() *InterfaceMetrics

func (*Status) GetLastApplied

func (x *Status) GetLastApplied() uint64

func (*Status) GetLastLogIndex

func (x *Status) GetLastLogIndex() uint64

func (*Status) GetStartedAt

func (x *Status) GetStartedAt() *timestamppb.Timestamp

func (*Status) GetUptime

func (x *Status) GetUptime() string

func (*Status) GetVersion

func (x *Status) GetVersion() string

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type StoreLogRequest added in v0.1.2

type StoreLogRequest struct {

	// term is the term of the log entry.
	Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"`
	// index is the index of the log entry.
	Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	// log is the log entry.
	Log *RaftLogEntry `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
	// contains filtered or unexported fields
}

StoreLogRequest is the message containing a raft log entry.

func (*StoreLogRequest) Descriptor deprecated added in v0.1.2

func (*StoreLogRequest) Descriptor() ([]byte, []int)

Deprecated: Use StoreLogRequest.ProtoReflect.Descriptor instead.

func (*StoreLogRequest) GetIndex added in v0.1.2

func (x *StoreLogRequest) GetIndex() uint64

func (*StoreLogRequest) GetLog added in v0.1.2

func (x *StoreLogRequest) GetLog() *RaftLogEntry

func (*StoreLogRequest) GetTerm added in v0.1.2

func (x *StoreLogRequest) GetTerm() uint64

func (*StoreLogRequest) ProtoMessage added in v0.1.2

func (*StoreLogRequest) ProtoMessage()

func (*StoreLogRequest) ProtoReflect added in v0.1.2

func (x *StoreLogRequest) ProtoReflect() protoreflect.Message

func (*StoreLogRequest) Reset added in v0.1.2

func (x *StoreLogRequest) Reset()

func (*StoreLogRequest) String added in v0.1.2

func (x *StoreLogRequest) String() string

type Subject

type Subject struct {

	// name is the name of the subject.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// type is the type of the subject.
	Type SubjectType `protobuf:"varint,2,opt,name=type,proto3,enum=v1.SubjectType" json:"type,omitempty"`
	// contains filtered or unexported fields
}

Subject is a subject to which a role can be bound.

func (*Subject) Descriptor deprecated

func (*Subject) Descriptor() ([]byte, []int)

Deprecated: Use Subject.ProtoReflect.Descriptor instead.

func (*Subject) GetName

func (x *Subject) GetName() string

func (*Subject) GetType

func (x *Subject) GetType() SubjectType

func (*Subject) ProtoMessage

func (*Subject) ProtoMessage()

func (*Subject) ProtoReflect

func (x *Subject) ProtoReflect() protoreflect.Message

func (*Subject) Reset

func (x *Subject) Reset()

func (*Subject) String

func (x *Subject) String() string

type SubjectType

type SubjectType int32

SubjectType is the type of a subject.

const (
	// SUBJECT_UNKNOWN is an unknown subject type.
	SubjectType_SUBJECT_UNKNOWN SubjectType = 0
	// SUBJECT_NODE is a subject type for a node.
	SubjectType_SUBJECT_NODE SubjectType = 1
	// SUBJECT_USER is a subject type for a user.
	SubjectType_SUBJECT_USER SubjectType = 2
	// SUBJECT_GROUP is a subject type for a group.
	SubjectType_SUBJECT_GROUP SubjectType = 3
	// SUBJECT_ALL is a wildcard subject type that matches all subject types.
	// It can be used with a subject named '*' to match all subjects.
	SubjectType_SUBJECT_ALL SubjectType = 999
)

func (SubjectType) Descriptor

func (SubjectType) Enum

func (x SubjectType) Enum() *SubjectType

func (SubjectType) EnumDescriptor deprecated

func (SubjectType) EnumDescriptor() ([]byte, []int)

Deprecated: Use SubjectType.Descriptor instead.

func (SubjectType) Number

func (x SubjectType) Number() protoreflect.EnumNumber

func (SubjectType) String

func (x SubjectType) String() string

func (SubjectType) Type

type UnimplementedAdminServer

type UnimplementedAdminServer struct {
}

UnimplementedAdminServer must be embedded to have forward compatible implementations.

func (UnimplementedAdminServer) DeleteEdge added in v0.1.3

func (UnimplementedAdminServer) DeleteGroup

func (UnimplementedAdminServer) DeleteNetworkACL

func (UnimplementedAdminServer) DeleteRole

func (UnimplementedAdminServer) DeleteRoleBinding

func (UnimplementedAdminServer) DeleteRoute

func (UnimplementedAdminServer) GetEdge added in v0.1.3

func (UnimplementedAdminServer) GetGroup

func (UnimplementedAdminServer) GetNetworkACL

func (UnimplementedAdminServer) GetRole

func (UnimplementedAdminServer) GetRoleBinding

func (UnimplementedAdminServer) GetRoute

func (UnimplementedAdminServer) ListEdges added in v0.1.3

func (UnimplementedAdminServer) ListGroups

func (UnimplementedAdminServer) ListNetworkACLs

func (UnimplementedAdminServer) ListRoleBindings

func (UnimplementedAdminServer) ListRoles

func (UnimplementedAdminServer) ListRoutes

func (UnimplementedAdminServer) PutEdge added in v0.1.3

func (UnimplementedAdminServer) PutGroup

func (UnimplementedAdminServer) PutNetworkACL

func (UnimplementedAdminServer) PutRole

func (UnimplementedAdminServer) PutRoleBinding

func (UnimplementedAdminServer) PutRoute

type UnimplementedMeshServer

type UnimplementedMeshServer struct {
}

UnimplementedMeshServer must be embedded to have forward compatible implementations.

func (UnimplementedMeshServer) GetMeshGraph

func (UnimplementedMeshServer) GetNode

func (UnimplementedMeshServer) ListNodes

type UnimplementedNodeServer

type UnimplementedNodeServer struct {
}

UnimplementedNodeServer must be embedded to have forward compatible implementations.

func (UnimplementedNodeServer) GetStatus

func (UnimplementedNodeServer) Join

func (UnimplementedNodeServer) Leave

func (UnimplementedNodeServer) NegotiateDataChannel

func (UnimplementedNodeServer) Snapshot added in v0.1.3

type UnimplementedPeerDiscoveryServer

type UnimplementedPeerDiscoveryServer struct {
}

UnimplementedPeerDiscoveryServer must be embedded to have forward compatible implementations.

func (UnimplementedPeerDiscoveryServer) ListPeers

type UnimplementedPluginServer

type UnimplementedPluginServer struct {
}

UnimplementedPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedPluginServer) Authenticate

func (UnimplementedPluginServer) Configure

func (UnimplementedPluginServer) Emit

func (UnimplementedPluginServer) GetInfo

func (UnimplementedPluginServer) RestoreSnapshot added in v0.1.3

func (UnimplementedPluginServer) Store

type UnimplementedWebRTCServer

type UnimplementedWebRTCServer struct {
}

UnimplementedWebRTCServer must be embedded to have forward compatible implementations.

func (UnimplementedWebRTCServer) StartDataChannel

type UnsafeAdminServer

type UnsafeAdminServer interface {
	// contains filtered or unexported methods
}

UnsafeAdminServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AdminServer will result in compilation errors.

type UnsafeMeshServer

type UnsafeMeshServer interface {
	// contains filtered or unexported methods
}

UnsafeMeshServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to MeshServer will result in compilation errors.

type UnsafeNodeServer

type UnsafeNodeServer interface {
	// contains filtered or unexported methods
}

UnsafeNodeServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to NodeServer will result in compilation errors.

type UnsafePeerDiscoveryServer

type UnsafePeerDiscoveryServer interface {
	// contains filtered or unexported methods
}

UnsafePeerDiscoveryServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PeerDiscoveryServer will result in compilation errors.

type UnsafePluginServer

type UnsafePluginServer interface {
	// contains filtered or unexported methods
}

UnsafePluginServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PluginServer will result in compilation errors.

type UnsafeWebRTCServer

type UnsafeWebRTCServer interface {
	// contains filtered or unexported methods
}

UnsafeWebRTCServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to WebRTCServer will result in compilation errors.

type WatchEvent

type WatchEvent int32

WatchEvent is the type of a watch event.

const (
	// WATCH_EVENT_UNKNOWN is the default value of WatchEvent.
	WatchEvent_WATCH_EVENT_UNKNOWN WatchEvent = 0
	// WATCH_EVENT_NODE_JOIN indicates that a node has joined the cluster.
	WatchEvent_WATCH_EVENT_NODE_JOIN WatchEvent = 1
	// WATCH_EVENT_NODE_LEAVE indicates that a node has left the cluster.
	WatchEvent_WATCH_EVENT_NODE_LEAVE WatchEvent = 2
	// WATCH_EVENT_LEADER_CHANGE indicates that the leader of the cluster has changed.
	WatchEvent_WATCH_EVENT_LEADER_CHANGE WatchEvent = 3
)

func (WatchEvent) Descriptor

func (WatchEvent) Descriptor() protoreflect.EnumDescriptor

func (WatchEvent) Enum

func (x WatchEvent) Enum() *WatchEvent

func (WatchEvent) EnumDescriptor deprecated

func (WatchEvent) EnumDescriptor() ([]byte, []int)

Deprecated: Use WatchEvent.Descriptor instead.

func (WatchEvent) Number

func (x WatchEvent) Number() protoreflect.EnumNumber

func (WatchEvent) String

func (x WatchEvent) String() string

func (WatchEvent) Type

type WebRTCClient

type WebRTCClient interface {
	// StartDataChannel requests a new WebRTC connection to a node.
	// The client speaks first with the request containing the node ID
	// and where forwarded packets should be sent. The server responds
	// with an offer and STUN servers to be used to establish a WebRTC connection.
	// The client should then respond with an answer to the offer that matches the
	// spec of the DataChannel.CHANNELS enum value.
	//
	// After the offer is accepted, the stream can be used to exchange ICE candidates
	// to speed up the connection process.
	StartDataChannel(ctx context.Context, opts ...grpc.CallOption) (WebRTC_StartDataChannelClient, error)
}

WebRTCClient is the client API for WebRTC service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewWebRTCClient

func NewWebRTCClient(cc grpc.ClientConnInterface) WebRTCClient

type WebRTCServer

type WebRTCServer interface {
	// StartDataChannel requests a new WebRTC connection to a node.
	// The client speaks first with the request containing the node ID
	// and where forwarded packets should be sent. The server responds
	// with an offer and STUN servers to be used to establish a WebRTC connection.
	// The client should then respond with an answer to the offer that matches the
	// spec of the DataChannel.CHANNELS enum value.
	//
	// After the offer is accepted, the stream can be used to exchange ICE candidates
	// to speed up the connection process.
	StartDataChannel(WebRTC_StartDataChannelServer) error
	// contains filtered or unexported methods
}

WebRTCServer is the server API for WebRTC service. All implementations must embed UnimplementedWebRTCServer for forward compatibility

type WebRTC_StartDataChannelClient

type WebRTC_StartDataChannelClient interface {
	Send(*StartDataChannelRequest) error
	Recv() (*DataChannelOffer, error)
	grpc.ClientStream
}

type WebRTC_StartDataChannelServer

type WebRTC_StartDataChannelServer interface {
	Send(*DataChannelOffer) error
	Recv() (*StartDataChannelRequest, error)
	grpc.ServerStream
}

type WireGuardPeer

type WireGuardPeer struct {

	// id is the ID of the peer.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// public_key is the public key of the peer.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// primary_endpoint is the primary endpoint of the peer.
	PrimaryEndpoint string `protobuf:"bytes,3,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints are the WireGuard endpoints for the peer, if applicable.
	WireguardEndpoints []string `protobuf:"bytes,4,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the peer.
	ZoneAwarenessId string `protobuf:"bytes,5,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// address_ipv4 is the private IPv4 wireguard address of the peer.
	AddressIpv4 string `protobuf:"bytes,6,opt,name=address_ipv4,json=addressIpv4,proto3" json:"address_ipv4,omitempty"`
	// address_ipv6 is the private IPv6 wireguard address of the peer.
	AddressIpv6 string `protobuf:"bytes,7,opt,name=address_ipv6,json=addressIpv6,proto3" json:"address_ipv6,omitempty"`
	// allowed_ips is the list of allowed IPs for the peer.
	AllowedIps []string `protobuf:"bytes,8,rep,name=allowed_ips,json=allowedIps,proto3" json:"allowed_ips,omitempty"`
	// allowed_routes is the list of allowed routes for the peer.
	AllowedRoutes []string `protobuf:"bytes,9,rep,name=allowed_routes,json=allowedRoutes,proto3" json:"allowed_routes,omitempty"`
	// ice indicates whether the connection to this peer should be
	// established over ICE.
	Ice bool `protobuf:"varint,10,opt,name=ice,proto3" json:"ice,omitempty"`
	// contains filtered or unexported fields
}

WireGuardPeer is a peer in the Wireguard network.

func (*WireGuardPeer) Descriptor deprecated

func (*WireGuardPeer) Descriptor() ([]byte, []int)

Deprecated: Use WireGuardPeer.ProtoReflect.Descriptor instead.

func (*WireGuardPeer) GetAddressIpv4

func (x *WireGuardPeer) GetAddressIpv4() string

func (*WireGuardPeer) GetAddressIpv6

func (x *WireGuardPeer) GetAddressIpv6() string

func (*WireGuardPeer) GetAllowedIps

func (x *WireGuardPeer) GetAllowedIps() []string

func (*WireGuardPeer) GetAllowedRoutes

func (x *WireGuardPeer) GetAllowedRoutes() []string

func (*WireGuardPeer) GetIce added in v0.1.3

func (x *WireGuardPeer) GetIce() bool

func (*WireGuardPeer) GetId

func (x *WireGuardPeer) GetId() string

func (*WireGuardPeer) GetPrimaryEndpoint

func (x *WireGuardPeer) GetPrimaryEndpoint() string

func (*WireGuardPeer) GetPublicKey

func (x *WireGuardPeer) GetPublicKey() string

func (*WireGuardPeer) GetWireguardEndpoints

func (x *WireGuardPeer) GetWireguardEndpoints() []string

func (*WireGuardPeer) GetZoneAwarenessId

func (x *WireGuardPeer) GetZoneAwarenessId() string

func (*WireGuardPeer) ProtoMessage

func (*WireGuardPeer) ProtoMessage()

func (*WireGuardPeer) ProtoReflect

func (x *WireGuardPeer) ProtoReflect() protoreflect.Message

func (*WireGuardPeer) Reset

func (x *WireGuardPeer) Reset()

func (*WireGuardPeer) String

func (x *WireGuardPeer) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL