v1

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2023 License: Apache-2.0 Imports: 12 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 (
	AppDaemon_Connect_FullMethodName     = "/v1.AppDaemon/Connect"
	AppDaemon_Disconnect_FullMethodName  = "/v1.AppDaemon/Disconnect"
	AppDaemon_Query_FullMethodName       = "/v1.AppDaemon/Query"
	AppDaemon_Metrics_FullMethodName     = "/v1.AppDaemon/Metrics"
	AppDaemon_Status_FullMethodName      = "/v1.AppDaemon/Status"
	AppDaemon_Subscribe_FullMethodName   = "/v1.AppDaemon/Subscribe"
	AppDaemon_Publish_FullMethodName     = "/v1.AppDaemon/Publish"
	AppDaemon_AnnounceDHT_FullMethodName = "/v1.AppDaemon/AnnounceDHT"
	AppDaemon_LeaveDHT_FullMethodName    = "/v1.AppDaemon/LeaveDHT"
)
View Source
const (
	Membership_Join_FullMethodName                    = "/v1.Membership/Join"
	Membership_Update_FullMethodName                  = "/v1.Membership/Update"
	Membership_Leave_FullMethodName                   = "/v1.Membership/Leave"
	Membership_SubscribePeers_FullMethodName          = "/v1.Membership/SubscribePeers"
	Membership_Apply_FullMethodName                   = "/v1.Membership/Apply"
	Membership_GetStorageConfiguration_FullMethodName = "/v1.Membership/GetStorageConfiguration"
)
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_GetStatus_FullMethodName            = "/v1.Node/GetStatus"
	Node_NegotiateDataChannel_FullMethodName = "/v1.Node/NegotiateDataChannel"
	Node_ReceiveSignalChannel_FullMethodName = "/v1.Node/ReceiveSignalChannel"
)
View Source
const (
	Plugin_GetInfo_FullMethodName   = "/v1.Plugin/GetInfo"
	Plugin_Configure_FullMethodName = "/v1.Plugin/Configure"
	Plugin_Close_FullMethodName     = "/v1.Plugin/Close"
)
View Source
const (
	IPAMPlugin_Allocate_FullMethodName = "/v1.IPAMPlugin/Allocate"
	IPAMPlugin_Release_FullMethodName  = "/v1.IPAMPlugin/Release"
)
View Source
const (
	StorageProviderPlugin_GetStatus_FullMethodName       = "/v1.StorageProviderPlugin/GetStatus"
	StorageProviderPlugin_Bootstrap_FullMethodName       = "/v1.StorageProviderPlugin/Bootstrap"
	StorageProviderPlugin_AddVoter_FullMethodName        = "/v1.StorageProviderPlugin/AddVoter"
	StorageProviderPlugin_AddObserver_FullMethodName     = "/v1.StorageProviderPlugin/AddObserver"
	StorageProviderPlugin_DemoteVoter_FullMethodName     = "/v1.StorageProviderPlugin/DemoteVoter"
	StorageProviderPlugin_RemovePeer_FullMethodName      = "/v1.StorageProviderPlugin/RemovePeer"
	StorageProviderPlugin_GetLeader_FullMethodName       = "/v1.StorageProviderPlugin/GetLeader"
	StorageProviderPlugin_GetValue_FullMethodName        = "/v1.StorageProviderPlugin/GetValue"
	StorageProviderPlugin_PutValue_FullMethodName        = "/v1.StorageProviderPlugin/PutValue"
	StorageProviderPlugin_DeleteValue_FullMethodName     = "/v1.StorageProviderPlugin/DeleteValue"
	StorageProviderPlugin_ListKeys_FullMethodName        = "/v1.StorageProviderPlugin/ListKeys"
	StorageProviderPlugin_ListValues_FullMethodName      = "/v1.StorageProviderPlugin/ListValues"
	StorageProviderPlugin_SubscribePrefix_FullMethodName = "/v1.StorageProviderPlugin/SubscribePrefix"
)
View Source
const (
	StorageQueryService_Query_FullMethodName     = "/v1.StorageQueryService/Query"
	StorageQueryService_Publish_FullMethodName   = "/v1.StorageQueryService/Publish"
	StorageQueryService_Subscribe_FullMethodName = "/v1.StorageQueryService/Subscribe"
)
View Source
const (
	WebRTC_StartDataChannel_FullMethodName   = "/v1.WebRTC/StartDataChannel"
	WebRTC_StartSignalChannel_FullMethodName = "/v1.WebRTC/StartSignalChannel"
)
View Source
const (
	AuthPlugin_Authenticate_FullMethodName = "/v1.AuthPlugin/Authenticate"
)
View Source
const (
	StorageQuerierPlugin_InjectQuerier_FullMethodName = "/v1.StorageQuerierPlugin/InjectQuerier"
)
View Source
const (
	WatchPlugin_Emit_FullMethodName = "/v1.WatchPlugin/Emit"
)

Variables

View Source
var (
	StatusResponse_ConnectionStatus_name = map[int32]string{
		0: "DISCONNECTED",
		1: "CONNECTING",
		2: "CONNECTED",
	}
	StatusResponse_ConnectionStatus_value = map[string]int32{
		"DISCONNECTED": 0,
		"CONNECTING":   1,
		"CONNECTED":    2,
	}
)

Enum value maps for StatusResponse_ConnectionStatus.

View Source
var (
	ConnectProtocol_name = map[int32]string{
		0: "CONNECT_NATIVE",
		1: "CONNECT_ICE",
		2: "CONNECT_LIBP2P",
	}
	ConnectProtocol_value = map[string]int32{
		"CONNECT_NATIVE": 0,
		"CONNECT_ICE":    1,
		"CONNECT_LIBP2P": 2,
	}
)

Enum value maps for ConnectProtocol.

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_OBSERVER",
		4: "CLUSTER_NODE",
	}
	ClusterStatus_value = map[string]int32{
		"CLUSTER_STATUS_UNKNOWN": 0,
		"CLUSTER_LEADER":         1,
		"CLUSTER_VOTER":          2,
		"CLUSTER_OBSERVER":       3,
		"CLUSTER_NODE":           4,
	}
)

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:  "MEMBERSHIP",
		6:  "METRICS",
		7:  "ICE_NEGOTIATION",
		8:  "TURN_SERVER",
		9:  "MESH_DNS",
		10: "FORWARD_MESH_DNS",
		11: "STORAGE_QUERIER",
		12: "STORAGE_PROVIDER",
	}
	Feature_value = map[string]int32{
		"FEATURE_NONE":     0,
		"NODES":            1,
		"LEADER_PROXY":     2,
		"MESH_API":         3,
		"ADMIN_API":        4,
		"MEMBERSHIP":       5,
		"METRICS":          6,
		"ICE_NEGOTIATION":  7,
		"TURN_SERVER":      8,
		"MESH_DNS":         9,
		"FORWARD_MESH_DNS": 10,
		"STORAGE_QUERIER":  11,
		"STORAGE_PROVIDER": 12,
	}
)

Enum value maps for Feature.

View Source
var (
	EdgeAttribute_name = map[int32]string{
		0: "EDGE_ATTRIBUTE_UNKNOWN",
		1: "EDGE_ATTRIBUTE_NATIVE",
		2: "EDGE_ATTRIBUTE_ICE",
		3: "EDGE_ATTRIBUTE_LIBP2P",
	}
	EdgeAttribute_value = map[string]int32{
		"EDGE_ATTRIBUTE_UNKNOWN": 0,
		"EDGE_ATTRIBUTE_NATIVE":  1,
		"EDGE_ATTRIBUTE_ICE":     2,
		"EDGE_ATTRIBUTE_LIBP2P":  3,
	}
)

Enum value maps for EdgeAttribute.

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 (
	PluginInfo_PluginCapability_name = map[int32]string{
		0: "UNKNOWN",
		1: "STORAGE_PROVIDER",
		2: "AUTH",
		3: "WATCH",
		4: "IPAMV4",
		5: "STORAGE_QUERIER",
	}
	PluginInfo_PluginCapability_value = map[string]int32{
		"UNKNOWN":          0,
		"STORAGE_PROVIDER": 1,
		"AUTH":             2,
		"WATCH":            3,
		"IPAMV4":           4,
		"STORAGE_QUERIER":  5,
	}
)

Enum value maps for PluginInfo_PluginCapability.

View Source
var (
	Event_WatchEvent_name = map[int32]string{
		0: "UNKNOWN",
		1: "NODE_JOIN",
		2: "NODE_LEAVE",
		3: "LEADER_CHANGE",
	}
	Event_WatchEvent_value = map[string]int32{
		"UNKNOWN":       0,
		"NODE_JOIN":     1,
		"NODE_LEAVE":    2,
		"LEADER_CHANGE": 3,
	}
)

Enum value maps for Event_WatchEvent.

View Source
var (
	PluginQuery_QueryCommand_name = map[int32]string{
		0: "UNKNOWN",
		1: "GET",
		2: "LIST",
		3: "ITER",
		4: "PUT",
		5: "DELETE",
		6: "SUBSCRIBE",
	}
	PluginQuery_QueryCommand_value = map[string]int32{
		"UNKNOWN":   0,
		"GET":       1,
		"LIST":      2,
		"ITER":      3,
		"PUT":       4,
		"DELETE":    5,
		"SUBSCRIBE": 6,
	}
)

Enum value maps for PluginQuery_QueryCommand.

View Source
var (
	PrefixEvent_EventType_name = map[int32]string{
		0: "EventTypeUnknown",
		1: "EventTypeUpdated",
		2: "EventTypeRemoved",
	}
	PrefixEvent_EventType_value = map[string]int32{
		"EventTypeUnknown": 0,
		"EventTypeUpdated": 1,
		"EventTypeRemoved": 2,
	}
)

Enum value maps for PrefixEvent_EventType.

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

Enum value maps for RaftCommandType.

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",
		9:   "RESOURCE_OBSERVERS",
		10:  "RESOURCE_PUBSUB",
		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_OBSERVERS":     9,
		"RESOURCE_PUBSUB":        10,
		"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 (
	QueryRequest_QueryCommand_name = map[int32]string{
		0: "UNKNOWN",
		1: "GET",
		2: "LIST",
		3: "ITER",
	}
	QueryRequest_QueryCommand_value = map[string]int32{
		"UNKNOWN": 0,
		"GET":     1,
		"LIST":    2,
		"ITER":    3,
	}
)

Enum value maps for QueryRequest_QueryCommand.

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 AppDaemon_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.AppDaemon",
	HandlerType: (*AppDaemonServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Connect",
			Handler:    _AppDaemon_Connect_Handler,
		},
		{
			MethodName: "Disconnect",
			Handler:    _AppDaemon_Disconnect_Handler,
		},
		{
			MethodName: "Metrics",
			Handler:    _AppDaemon_Metrics_Handler,
		},
		{
			MethodName: "Status",
			Handler:    _AppDaemon_Status_Handler,
		},
		{
			MethodName: "Publish",
			Handler:    _AppDaemon_Publish_Handler,
		},
		{
			MethodName: "AnnounceDHT",
			Handler:    _AppDaemon_AnnounceDHT_Handler,
		},
		{
			MethodName: "LeaveDHT",
			Handler:    _AppDaemon_LeaveDHT_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Query",
			Handler:       _AppDaemon_Query_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _AppDaemon_Subscribe_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "v1/app.proto",
}

AppDaemon_ServiceDesc is the grpc.ServiceDesc for AppDaemon 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 AuthPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.AuthPlugin",
	HandlerType: (*AuthPluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Authenticate",
			Handler:    _AuthPlugin_Authenticate_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/plugin.proto",
}

AuthPlugin_ServiceDesc is the grpc.ServiceDesc for AuthPlugin 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_app_proto protoreflect.FileDescriptor
View Source
var File_v1_members_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_plugin_proto protoreflect.FileDescriptor
View Source
var File_v1_plugin_storage_provider_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_storage_proto protoreflect.FileDescriptor
View Source
var File_v1_webrtc_proto protoreflect.FileDescriptor
View Source
var IPAMPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.IPAMPlugin",
	HandlerType: (*IPAMPluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Allocate",
			Handler:    _IPAMPlugin_Allocate_Handler,
		},
		{
			MethodName: "Release",
			Handler:    _IPAMPlugin_Release_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/plugin.proto",
}

IPAMPlugin_ServiceDesc is the grpc.ServiceDesc for IPAMPlugin 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 Membership_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Membership",
	HandlerType: (*MembershipServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Join",
			Handler:    _Membership_Join_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _Membership_Update_Handler,
		},
		{
			MethodName: "Leave",
			Handler:    _Membership_Leave_Handler,
		},
		{
			MethodName: "Apply",
			Handler:    _Membership_Apply_Handler,
		},
		{
			MethodName: "GetStorageConfiguration",
			Handler:    _Membership_GetStorageConfiguration_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SubscribePeers",
			Handler:       _Membership_SubscribePeers_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "v1/members.proto",
}

Membership_ServiceDesc is the grpc.ServiceDesc for Membership 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 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: "GetStatus",
			Handler:    _Node_GetStatus_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "NegotiateDataChannel",
			Handler:       _Node_NegotiateDataChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "ReceiveSignalChannel",
			Handler:       _Node_ReceiveSignalChannel_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 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: "Close",
			Handler:    _Plugin_Close_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 StorageProviderPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.StorageProviderPlugin",
	HandlerType: (*StorageProviderPluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetStatus",
			Handler:    _StorageProviderPlugin_GetStatus_Handler,
		},
		{
			MethodName: "Bootstrap",
			Handler:    _StorageProviderPlugin_Bootstrap_Handler,
		},
		{
			MethodName: "AddVoter",
			Handler:    _StorageProviderPlugin_AddVoter_Handler,
		},
		{
			MethodName: "AddObserver",
			Handler:    _StorageProviderPlugin_AddObserver_Handler,
		},
		{
			MethodName: "DemoteVoter",
			Handler:    _StorageProviderPlugin_DemoteVoter_Handler,
		},
		{
			MethodName: "RemovePeer",
			Handler:    _StorageProviderPlugin_RemovePeer_Handler,
		},
		{
			MethodName: "GetLeader",
			Handler:    _StorageProviderPlugin_GetLeader_Handler,
		},
		{
			MethodName: "GetValue",
			Handler:    _StorageProviderPlugin_GetValue_Handler,
		},
		{
			MethodName: "PutValue",
			Handler:    _StorageProviderPlugin_PutValue_Handler,
		},
		{
			MethodName: "DeleteValue",
			Handler:    _StorageProviderPlugin_DeleteValue_Handler,
		},
		{
			MethodName: "ListKeys",
			Handler:    _StorageProviderPlugin_ListKeys_Handler,
		},
		{
			MethodName: "ListValues",
			Handler:    _StorageProviderPlugin_ListValues_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SubscribePrefix",
			Handler:       _StorageProviderPlugin_SubscribePrefix_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "v1/plugin_storage_provider.proto",
}

StorageProviderPlugin_ServiceDesc is the grpc.ServiceDesc for StorageProviderPlugin 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 StorageQuerierPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.StorageQuerierPlugin",
	HandlerType: (*StorageQuerierPluginServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "InjectQuerier",
			Handler:       _StorageQuerierPlugin_InjectQuerier_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "v1/plugin.proto",
}

StorageQuerierPlugin_ServiceDesc is the grpc.ServiceDesc for StorageQuerierPlugin 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 StorageQueryService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.StorageQueryService",
	HandlerType: (*StorageQueryServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Publish",
			Handler:    _StorageQueryService_Publish_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Query",
			Handler:       _StorageQueryService_Query_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _StorageQueryService_Subscribe_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "v1/storage.proto",
}

StorageQueryService_ServiceDesc is the grpc.ServiceDesc for StorageQueryService 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 WatchPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.WatchPlugin",
	HandlerType: (*WatchPluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Emit",
			Handler:    _WatchPlugin_Emit_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/plugin.proto",
}

WatchPlugin_ServiceDesc is the grpc.ServiceDesc for WatchPlugin 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,
		},
		{
			StreamName:    "StartSignalChannel",
			Handler:       _WebRTC_StartSignalChannel_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 RegisterAppDaemonServer added in v0.2.2

func RegisterAppDaemonServer(s grpc.ServiceRegistrar, srv AppDaemonServer)

func RegisterAuthPluginServer added in v0.1.4

func RegisterAuthPluginServer(s grpc.ServiceRegistrar, srv AuthPluginServer)

func RegisterIPAMPluginServer added in v0.1.4

func RegisterIPAMPluginServer(s grpc.ServiceRegistrar, srv IPAMPluginServer)

func RegisterMembershipServer added in v0.2.2

func RegisterMembershipServer(s grpc.ServiceRegistrar, srv MembershipServer)

func RegisterMeshServer

func RegisterMeshServer(s grpc.ServiceRegistrar, srv MeshServer)

func RegisterNodeServer

func RegisterNodeServer(s grpc.ServiceRegistrar, srv NodeServer)

func RegisterPluginServer

func RegisterPluginServer(s grpc.ServiceRegistrar, srv PluginServer)

func RegisterStorageProviderPluginServer added in v0.4.0

func RegisterStorageProviderPluginServer(s grpc.ServiceRegistrar, srv StorageProviderPluginServer)

func RegisterStorageQuerierPluginServer added in v0.4.0

func RegisterStorageQuerierPluginServer(s grpc.ServiceRegistrar, srv StorageQuerierPluginServer)

func RegisterStorageQueryServiceServer added in v0.4.0

func RegisterStorageQueryServiceServer(s grpc.ServiceRegistrar, srv StorageQueryServiceServer)

func RegisterWatchPluginServer added in v0.1.4

func RegisterWatchPluginServer(s grpc.ServiceRegistrar, srv WatchPluginServer)

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 AddObserverResponse added in v0.4.0

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

AddObserverResponse is the response object for the AddObserver RPC.

func (*AddObserverResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use AddObserverResponse.ProtoReflect.Descriptor instead.

func (*AddObserverResponse) ProtoMessage added in v0.4.0

func (*AddObserverResponse) ProtoMessage()

func (*AddObserverResponse) ProtoReflect added in v0.4.0

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

func (*AddObserverResponse) Reset added in v0.4.0

func (x *AddObserverResponse) Reset()

func (*AddObserverResponse) String added in v0.4.0

func (x *AddObserverResponse) String() string

type AddVoterResponse added in v0.4.0

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

AddVoterResponse is the response object for the AddVoter RPC.

func (*AddVoterResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use AddVoterResponse.ProtoReflect.Descriptor instead.

func (*AddVoterResponse) ProtoMessage added in v0.4.0

func (*AddVoterResponse) ProtoMessage()

func (*AddVoterResponse) ProtoReflect added in v0.4.0

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

func (*AddVoterResponse) Reset added in v0.4.0

func (x *AddVoterResponse) Reset()

func (*AddVoterResponse) String added in v0.4.0

func (x *AddVoterResponse) String() string

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 AllocateIPRequest added in v0.1.4

type AllocateIPRequest struct {

	// node_id is the node that the IP should be allocated for.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// subnet is the subnet that the IP should be allocated from.
	Subnet string `protobuf:"bytes,2,opt,name=subnet,proto3" json:"subnet,omitempty"`
	// contains filtered or unexported fields
}

AllocateIPRequest is the message containing an IP allocation request.

func (*AllocateIPRequest) Descriptor deprecated added in v0.1.4

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

Deprecated: Use AllocateIPRequest.ProtoReflect.Descriptor instead.

func (*AllocateIPRequest) GetNodeId added in v0.1.4

func (x *AllocateIPRequest) GetNodeId() string

func (*AllocateIPRequest) GetSubnet added in v0.1.4

func (x *AllocateIPRequest) GetSubnet() string

func (*AllocateIPRequest) ProtoMessage added in v0.1.4

func (*AllocateIPRequest) ProtoMessage()

func (*AllocateIPRequest) ProtoReflect added in v0.1.4

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

func (*AllocateIPRequest) Reset added in v0.1.4

func (x *AllocateIPRequest) Reset()

func (*AllocateIPRequest) String added in v0.1.4

func (x *AllocateIPRequest) String() string

type AllocatedIP added in v0.1.4

type AllocatedIP struct {

	// ip is the allocated IP. It should be returned in CIDR notation.
	Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	// contains filtered or unexported fields
}

AllocatedIP is the message containing an allocated IP.

func (*AllocatedIP) Descriptor deprecated added in v0.1.4

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

Deprecated: Use AllocatedIP.ProtoReflect.Descriptor instead.

func (*AllocatedIP) GetIp added in v0.1.4

func (x *AllocatedIP) GetIp() string

func (*AllocatedIP) ProtoMessage added in v0.1.4

func (*AllocatedIP) ProtoMessage()

func (*AllocatedIP) ProtoReflect added in v0.1.4

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

func (*AllocatedIP) Reset added in v0.1.4

func (x *AllocatedIP) Reset()

func (*AllocatedIP) String added in v0.1.4

func (x *AllocatedIP) String() string

type AnnounceDHTRequest added in v0.2.4

type AnnounceDHTRequest struct {

	// Bootstrap servers are optional bootstrap servers to use for bootstrapping
	// the DHT. If not provided, the node will use the default bootstrap servers.
	BootstrapServers []string `protobuf:"bytes,1,rep,name=bootstrap_servers,json=bootstrapServers,proto3" json:"bootstrap_servers,omitempty"`
	// PSK is the pre-shared key to use for the DHT.
	Psk string `protobuf:"bytes,2,opt,name=psk,proto3" json:"psk,omitempty"`
	// contains filtered or unexported fields
}

AnnounceDHTRequest is sent by the application to the node to announce the node's presence on the Kademlia DHT for other nodes to discover.

func (*AnnounceDHTRequest) Descriptor deprecated added in v0.2.4

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

Deprecated: Use AnnounceDHTRequest.ProtoReflect.Descriptor instead.

func (*AnnounceDHTRequest) GetBootstrapServers added in v0.2.4

func (x *AnnounceDHTRequest) GetBootstrapServers() []string

func (*AnnounceDHTRequest) GetPsk added in v0.2.4

func (x *AnnounceDHTRequest) GetPsk() string

func (*AnnounceDHTRequest) ProtoMessage added in v0.2.4

func (*AnnounceDHTRequest) ProtoMessage()

func (*AnnounceDHTRequest) ProtoReflect added in v0.2.4

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

func (*AnnounceDHTRequest) Reset added in v0.2.4

func (x *AnnounceDHTRequest) Reset()

func (*AnnounceDHTRequest) String added in v0.2.4

func (x *AnnounceDHTRequest) String() string

type AnnounceDHTResponse added in v0.2.4

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

AnnounceDHTResponse is returned by the AnnounceDHT RPC.

func (*AnnounceDHTResponse) Descriptor deprecated added in v0.2.4

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

Deprecated: Use AnnounceDHTResponse.ProtoReflect.Descriptor instead.

func (*AnnounceDHTResponse) ProtoMessage added in v0.2.4

func (*AnnounceDHTResponse) ProtoMessage()

func (*AnnounceDHTResponse) ProtoReflect added in v0.2.4

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

func (*AnnounceDHTResponse) Reset added in v0.2.4

func (x *AnnounceDHTResponse) Reset()

func (*AnnounceDHTResponse) String added in v0.2.4

func (x *AnnounceDHTResponse) String() string

type AppDaemonClient added in v0.2.2

type AppDaemonClient interface {
	// Connect is used to establish a connection between the node and a
	// mesh. The provided struct is used to override any defaults configured
	// on the node.
	Connect(ctx context.Context, in *ConnectRequest, opts ...grpc.CallOption) (*ConnectResponse, error)
	// Disconnect is used to disconnect the node from the mesh.
	Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error)
	// Query is used to query the mesh for information.
	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (AppDaemon_QueryClient, error)
	// Metrics is used to retrieve interface metrics from the node.
	Metrics(ctx context.Context, in *MetricsRequest, opts ...grpc.CallOption) (*MetricsResponse, error)
	// Status is used to retrieve the status of the node.
	Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error)
	// Subscribe is used to subscribe to events in the mesh database.
	Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (AppDaemon_SubscribeClient, error)
	// Publish is used to publish events to the mesh database. A restricted set
	// of keys are allowed to be published to.
	Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
	// AnnounceDHT is used to announce the node's presence on the Kademlia DHT
	// for other nodes to discover.
	AnnounceDHT(ctx context.Context, in *AnnounceDHTRequest, opts ...grpc.CallOption) (*AnnounceDHTResponse, error)
	// LeaveDHT is used to leave the Kademlia DHT.
	LeaveDHT(ctx context.Context, in *LeaveDHTRequest, opts ...grpc.CallOption) (*LeaveDHTResponse, error)
}

AppDaemonClient is the client API for AppDaemon 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 NewAppDaemonClient added in v0.2.2

func NewAppDaemonClient(cc grpc.ClientConnInterface) AppDaemonClient

type AppDaemonServer added in v0.2.2

type AppDaemonServer interface {
	// Connect is used to establish a connection between the node and a
	// mesh. The provided struct is used to override any defaults configured
	// on the node.
	Connect(context.Context, *ConnectRequest) (*ConnectResponse, error)
	// Disconnect is used to disconnect the node from the mesh.
	Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error)
	// Query is used to query the mesh for information.
	Query(*QueryRequest, AppDaemon_QueryServer) error
	// Metrics is used to retrieve interface metrics from the node.
	Metrics(context.Context, *MetricsRequest) (*MetricsResponse, error)
	// Status is used to retrieve the status of the node.
	Status(context.Context, *StatusRequest) (*StatusResponse, error)
	// Subscribe is used to subscribe to events in the mesh database.
	Subscribe(*SubscribeRequest, AppDaemon_SubscribeServer) error
	// Publish is used to publish events to the mesh database. A restricted set
	// of keys are allowed to be published to.
	Publish(context.Context, *PublishRequest) (*PublishResponse, error)
	// AnnounceDHT is used to announce the node's presence on the Kademlia DHT
	// for other nodes to discover.
	AnnounceDHT(context.Context, *AnnounceDHTRequest) (*AnnounceDHTResponse, error)
	// LeaveDHT is used to leave the Kademlia DHT.
	LeaveDHT(context.Context, *LeaveDHTRequest) (*LeaveDHTResponse, error)
	// contains filtered or unexported methods
}

AppDaemonServer is the server API for AppDaemon service. All implementations must embed UnimplementedAppDaemonServer for forward compatibility

type AppDaemon_QueryClient added in v0.2.2

type AppDaemon_QueryClient interface {
	Recv() (*QueryResponse, error)
	grpc.ClientStream
}

type AppDaemon_QueryServer added in v0.2.2

type AppDaemon_QueryServer interface {
	Send(*QueryResponse) error
	grpc.ServerStream
}

type AppDaemon_SubscribeClient added in v0.2.2

type AppDaemon_SubscribeClient interface {
	Recv() (*SubscriptionEvent, error)
	grpc.ClientStream
}

type AppDaemon_SubscribeServer added in v0.2.2

type AppDaemon_SubscribeServer interface {
	Send(*SubscriptionEvent) error
	grpc.ServerStream
}

type AuthPluginClient added in v0.1.4

type AuthPluginClient interface {
	// Authenticate authenticates a request.
	Authenticate(ctx context.Context, in *AuthenticationRequest, opts ...grpc.CallOption) (*AuthenticationResponse, error)
}

AuthPluginClient is the client API for AuthPlugin 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 NewAuthPluginClient added in v0.1.4

func NewAuthPluginClient(cc grpc.ClientConnInterface) AuthPluginClient

type AuthPluginServer added in v0.1.4

type AuthPluginServer interface {
	// Authenticate authenticates a request.
	Authenticate(context.Context, *AuthenticationRequest) (*AuthenticationResponse, error)
	// contains filtered or unexported methods
}

AuthPluginServer is the server API for AuthPlugin service. All implementations must embed UnimplementedAuthPluginServer 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 BootstrapRequest added in v0.4.0

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

BootstrapRequest is the request object for the Bootstrap RPC.

func (*BootstrapRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use BootstrapRequest.ProtoReflect.Descriptor instead.

func (*BootstrapRequest) ProtoMessage added in v0.4.0

func (*BootstrapRequest) ProtoMessage()

func (*BootstrapRequest) ProtoReflect added in v0.4.0

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

func (*BootstrapRequest) Reset added in v0.4.0

func (x *BootstrapRequest) Reset()

func (*BootstrapRequest) String added in v0.4.0

func (x *BootstrapRequest) String() string

type BootstrapResponse added in v0.4.0

type BootstrapResponse struct {

	// Status is the status of the storage after the bootstrap.
	Status *StorageStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

BootstrapResponse is the response object for the Bootstrap RPC.

func (*BootstrapResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use BootstrapResponse.ProtoReflect.Descriptor instead.

func (*BootstrapResponse) GetStatus added in v0.4.0

func (x *BootstrapResponse) GetStatus() *StorageStatus

func (*BootstrapResponse) ProtoMessage added in v0.4.0

func (*BootstrapResponse) ProtoMessage()

func (*BootstrapResponse) ProtoReflect added in v0.4.0

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

func (*BootstrapResponse) Reset added in v0.4.0

func (x *BootstrapResponse) Reset()

func (*BootstrapResponse) String added in v0.4.0

func (x *BootstrapResponse) 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_OBSERVER is the status for a non-voter node.
	ClusterStatus_CLUSTER_OBSERVER ClusterStatus = 3
	// CLUSTER_NODE is the status of a node that is not a part of the storage consensus.
	ClusterStatus_CLUSTER_NODE ClusterStatus = 4
)

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 ConnectProtocol added in v0.4.0

type ConnectProtocol int32

ConnectProtocol is a type of protocol for establishing a connection into a mesh.

const (
	// CONNECT_NATIVE indicates that the node should connect to other nodes via the native
	// webmesh mechanisms.
	ConnectProtocol_CONNECT_NATIVE ConnectProtocol = 0
	// CONNECT_ICE indicates that the node should connect to other nodes via ICE.
	ConnectProtocol_CONNECT_ICE ConnectProtocol = 1
	// CONNECT_LIBP2P indicates that the node should connect to other nodes via libp2p.
	ConnectProtocol_CONNECT_LIBP2P ConnectProtocol = 2
)

func (ConnectProtocol) Descriptor added in v0.4.0

func (ConnectProtocol) Enum added in v0.4.0

func (x ConnectProtocol) Enum() *ConnectProtocol

func (ConnectProtocol) EnumDescriptor deprecated added in v0.4.0

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

Deprecated: Use ConnectProtocol.Descriptor instead.

func (ConnectProtocol) Number added in v0.4.0

func (ConnectProtocol) String added in v0.4.0

func (x ConnectProtocol) String() string

func (ConnectProtocol) Type added in v0.4.0

type ConnectRequest added in v0.2.2

type ConnectRequest struct {

	// Config is used to override any defaults configured on the node.
	Config *structpb.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// Disable bootstrap tells a node that is otherwise configured to
	// bootstrap to not bootstrap for this connection.
	DisableBootstrap bool `protobuf:"varint,2,opt,name=disable_bootstrap,json=disableBootstrap,proto3" json:"disable_bootstrap,omitempty"`
	// Join PSK is the pre-shared key to use for joining the mesh.
	JoinPsk string `protobuf:"bytes,3,opt,name=join_psk,json=joinPsk,proto3" json:"join_psk,omitempty"`
	// contains filtered or unexported fields
}

ConnectRequest is sent by the application to the node to establish a connection to a mesh. This message will eventually contain unique identifiers to allow creating connections to multiple meshes.

func (*ConnectRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use ConnectRequest.ProtoReflect.Descriptor instead.

func (*ConnectRequest) GetConfig added in v0.2.2

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

func (*ConnectRequest) GetDisableBootstrap added in v0.2.2

func (x *ConnectRequest) GetDisableBootstrap() bool

func (*ConnectRequest) GetJoinPsk added in v0.2.4

func (x *ConnectRequest) GetJoinPsk() string

func (*ConnectRequest) ProtoMessage added in v0.2.2

func (*ConnectRequest) ProtoMessage()

func (*ConnectRequest) ProtoReflect added in v0.2.2

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

func (*ConnectRequest) Reset added in v0.2.2

func (x *ConnectRequest) Reset()

func (*ConnectRequest) String added in v0.2.2

func (x *ConnectRequest) String() string

type ConnectResponse added in v0.2.2

type ConnectResponse struct {

	// node id is the unique identifier of the node.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// mesh domain is the domain of the mesh.
	MeshDomain string `protobuf:"bytes,2,opt,name=mesh_domain,json=meshDomain,proto3" json:"mesh_domain,omitempty"`
	// ipv4 is the IPv4 address of the node.
	Ipv4 string `protobuf:"bytes,3,opt,name=ipv4,proto3" json:"ipv4,omitempty"`
	// ipv6 is the IPv6 address of the node.
	Ipv6 string `protobuf:"bytes,4,opt,name=ipv6,proto3" json:"ipv6,omitempty"`
	// contains filtered or unexported fields
}

ConnectResponse is returned by the Connect RPC.

func (*ConnectResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead.

func (*ConnectResponse) GetIpv4 added in v0.2.2

func (x *ConnectResponse) GetIpv4() string

func (*ConnectResponse) GetIpv6 added in v0.2.2

func (x *ConnectResponse) GetIpv6() string

func (*ConnectResponse) GetMeshDomain added in v0.2.2

func (x *ConnectResponse) GetMeshDomain() string

func (*ConnectResponse) GetNodeId added in v0.2.2

func (x *ConnectResponse) GetNodeId() string

func (*ConnectResponse) ProtoMessage added in v0.2.2

func (*ConnectResponse) ProtoMessage()

func (*ConnectResponse) ProtoReflect added in v0.2.2

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

func (*ConnectResponse) Reset added in v0.2.2

func (x *ConnectResponse) Reset()

func (*ConnectResponse) String added in v0.2.2

func (x *ConnectResponse) String() string

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 DeleteValueRequest added in v0.4.0

type DeleteValueRequest struct {

	// Key is the key to delete.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

DeleteValueRequest is the request object for the DeleteValue RPC.

func (*DeleteValueRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use DeleteValueRequest.ProtoReflect.Descriptor instead.

func (*DeleteValueRequest) GetKey added in v0.4.0

func (x *DeleteValueRequest) GetKey() string

func (*DeleteValueRequest) ProtoMessage added in v0.4.0

func (*DeleteValueRequest) ProtoMessage()

func (*DeleteValueRequest) ProtoReflect added in v0.4.0

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

func (*DeleteValueRequest) Reset added in v0.4.0

func (x *DeleteValueRequest) Reset()

func (*DeleteValueRequest) String added in v0.4.0

func (x *DeleteValueRequest) String() string

type DeleteValueResponse added in v0.4.0

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

DeleteValueResponse is the response object for the DeleteValue RPC.

func (*DeleteValueResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use DeleteValueResponse.ProtoReflect.Descriptor instead.

func (*DeleteValueResponse) ProtoMessage added in v0.4.0

func (*DeleteValueResponse) ProtoMessage()

func (*DeleteValueResponse) ProtoReflect added in v0.4.0

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

func (*DeleteValueResponse) Reset added in v0.4.0

func (x *DeleteValueResponse) Reset()

func (*DeleteValueResponse) String added in v0.4.0

func (x *DeleteValueResponse) String() string

type DemoteVoterResponse added in v0.4.0

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

DemoteVoterResponse is the response object for the DemoteVoter RPC.

func (*DemoteVoterResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use DemoteVoterResponse.ProtoReflect.Descriptor instead.

func (*DemoteVoterResponse) ProtoMessage added in v0.4.0

func (*DemoteVoterResponse) ProtoMessage()

func (*DemoteVoterResponse) ProtoReflect added in v0.4.0

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

func (*DemoteVoterResponse) Reset added in v0.4.0

func (x *DemoteVoterResponse) Reset()

func (*DemoteVoterResponse) String added in v0.4.0

func (x *DemoteVoterResponse) String() string

type DisconnectRequest added in v0.2.2

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

DisconnectRequest is sent by the application to the node to disconnect from a mesh. This message will eventually contain unique identifiers for allowing the application to disconnect from a specific mesh.

func (*DisconnectRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use DisconnectRequest.ProtoReflect.Descriptor instead.

func (*DisconnectRequest) ProtoMessage added in v0.2.2

func (*DisconnectRequest) ProtoMessage()

func (*DisconnectRequest) ProtoReflect added in v0.2.2

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

func (*DisconnectRequest) Reset added in v0.2.2

func (x *DisconnectRequest) Reset()

func (*DisconnectRequest) String added in v0.2.2

func (x *DisconnectRequest) String() string

type DisconnectResponse added in v0.2.2

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

DisconnectResponse is returned by the Disconnect RPC.

func (*DisconnectResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use DisconnectResponse.ProtoReflect.Descriptor instead.

func (*DisconnectResponse) ProtoMessage added in v0.2.2

func (*DisconnectResponse) ProtoMessage()

func (*DisconnectResponse) ProtoReflect added in v0.2.2

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

func (*DisconnectResponse) Reset added in v0.2.2

func (x *DisconnectResponse) Reset()

func (*DisconnectResponse) String added in v0.2.2

func (x *DisconnectResponse) String() string

type EdgeAttribute added in v0.4.0

type EdgeAttribute int32

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

const (
	// EDGE_ATTRIBUTE_UNKNOWN is an unknown edge attribute.
	EdgeAttribute_EDGE_ATTRIBUTE_UNKNOWN EdgeAttribute = 0
	// EDGE_ATTRIBUTE_NATIVE is a native edge attribute.
	EdgeAttribute_EDGE_ATTRIBUTE_NATIVE EdgeAttribute = 1
	// EDGE_ATTRIBUTE_ICE is an ICE edge attribute.
	EdgeAttribute_EDGE_ATTRIBUTE_ICE EdgeAttribute = 2
	// EDGE_ATTRIBUTE_LIBP2P is a libp2p edge attribute.
	EdgeAttribute_EDGE_ATTRIBUTE_LIBP2P EdgeAttribute = 3
)

func (EdgeAttribute) Descriptor added in v0.4.0

func (EdgeAttribute) Enum added in v0.4.0

func (x EdgeAttribute) Enum() *EdgeAttribute

func (EdgeAttribute) EnumDescriptor deprecated added in v0.4.0

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

Deprecated: Use EdgeAttribute.Descriptor instead.

func (EdgeAttribute) Number added in v0.4.0

func (EdgeAttribute) String added in v0.4.0

func (x EdgeAttribute) String() string

func (EdgeAttribute) Type added in v0.4.0

type Event

type Event struct {

	// type is the type of the watch event.
	Type Event_WatchEvent `protobuf:"varint,1,opt,name=type,proto3,enum=v1.Event_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() Event_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 Event_WatchEvent added in v0.3.0

type Event_WatchEvent int32

WatchEvent is the type of a watch event.

const (
	// UNKNOWN is the default value of WatchEvent.
	Event_UNKNOWN Event_WatchEvent = 0
	// NODE_JOIN indicates that a node has joined the cluster.
	Event_NODE_JOIN Event_WatchEvent = 1
	// NODE_LEAVE indicates that a node has left the cluster.
	Event_NODE_LEAVE Event_WatchEvent = 2
	// LEADER_CHANGE indicates that the leader of the cluster has changed.
	Event_LEADER_CHANGE Event_WatchEvent = 3
)

func (Event_WatchEvent) Descriptor added in v0.3.0

func (Event_WatchEvent) Enum added in v0.3.0

func (Event_WatchEvent) EnumDescriptor deprecated added in v0.3.0

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

Deprecated: Use Event_WatchEvent.Descriptor instead.

func (Event_WatchEvent) Number added in v0.3.0

func (Event_WatchEvent) String added in v0.3.0

func (x Event_WatchEvent) String() string

func (Event_WatchEvent) Type added in v0.3.0

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.
	// This will be deprecated in favor of the MEMBERSHIP feature.
	Feature_MESH_API Feature = 3
	// ADMIN_API is the feature for the admin API.
	Feature_ADMIN_API Feature = 4
	// MEMBERSHIP is the feature for membership. This is always supported on storage-providing members.
	Feature_MEMBERSHIP 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
	// FORWARD_MESH_DNS is the feature for forwarding mesh DNS lookups to other meshes.
	Feature_FORWARD_MESH_DNS Feature = 10
	// STORAGE_QUERIER is the feature for querying, publishing, and subscribing to mesh state.
	Feature_STORAGE_QUERIER Feature = 11
	// STORAGE_PROVIDER is the feature for being able to provide distributed storage.
	Feature_STORAGE_PROVIDER Feature = 12
)

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 FeaturePort added in v0.4.0

type FeaturePort struct {

	// feature is the feature.
	Feature Feature `protobuf:"varint,1,opt,name=feature,proto3,enum=v1.Feature" json:"feature,omitempty"`
	// port is the port the feature is advertised on.
	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

FeaturePort describes a feature and the port it is advertised on.

func (*FeaturePort) Descriptor deprecated added in v0.4.0

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

Deprecated: Use FeaturePort.ProtoReflect.Descriptor instead.

func (*FeaturePort) GetFeature added in v0.4.0

func (x *FeaturePort) GetFeature() Feature

func (*FeaturePort) GetPort added in v0.4.0

func (x *FeaturePort) GetPort() int32

func (*FeaturePort) ProtoMessage added in v0.4.0

func (*FeaturePort) ProtoMessage()

func (*FeaturePort) ProtoReflect added in v0.4.0

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

func (*FeaturePort) Reset added in v0.4.0

func (x *FeaturePort) Reset()

func (*FeaturePort) String added in v0.4.0

func (x *FeaturePort) String() string

type GetLeaderRequest added in v0.4.0

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

GetLeaderRequest is the request object for the GetLeader RPC.

func (*GetLeaderRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use GetLeaderRequest.ProtoReflect.Descriptor instead.

func (*GetLeaderRequest) ProtoMessage added in v0.4.0

func (*GetLeaderRequest) ProtoMessage()

func (*GetLeaderRequest) ProtoReflect added in v0.4.0

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

func (*GetLeaderRequest) Reset added in v0.4.0

func (x *GetLeaderRequest) Reset()

func (*GetLeaderRequest) String added in v0.4.0

func (x *GetLeaderRequest) String() string

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 GetValueRequest added in v0.4.0

type GetValueRequest struct {

	// Key is the key to get the value for.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

GetValueRequest is the request object for the GetValue RPC.

func (*GetValueRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use GetValueRequest.ProtoReflect.Descriptor instead.

func (*GetValueRequest) GetKey added in v0.4.0

func (x *GetValueRequest) GetKey() string

func (*GetValueRequest) ProtoMessage added in v0.4.0

func (*GetValueRequest) ProtoMessage()

func (*GetValueRequest) ProtoReflect added in v0.4.0

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

func (*GetValueRequest) Reset added in v0.4.0

func (x *GetValueRequest) Reset()

func (*GetValueRequest) String added in v0.4.0

func (x *GetValueRequest) String() string

type GetValueResponse added in v0.4.0

type GetValueResponse struct {

	// Value is the value of the key.
	Value *StorageValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

GetValueResponse is the response object for the GetValue RPC.

func (*GetValueResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use GetValueResponse.ProtoReflect.Descriptor instead.

func (*GetValueResponse) GetValue added in v0.4.0

func (x *GetValueResponse) GetValue() *StorageValue

func (*GetValueResponse) ProtoMessage added in v0.4.0

func (*GetValueResponse) ProtoMessage()

func (*GetValueResponse) ProtoReflect added in v0.4.0

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

func (*GetValueResponse) Reset added in v0.4.0

func (x *GetValueResponse) Reset()

func (*GetValueResponse) String added in v0.4.0

func (x *GetValueResponse) 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 IPAMPluginClient added in v0.1.4

type IPAMPluginClient interface {
	// Allocate allocates an IP for a node.
	Allocate(ctx context.Context, in *AllocateIPRequest, opts ...grpc.CallOption) (*AllocatedIP, error)
	// Release releases an IP for a node.
	Release(ctx context.Context, in *ReleaseIPRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

IPAMPluginClient is the client API for IPAMPlugin 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 NewIPAMPluginClient added in v0.1.4

func NewIPAMPluginClient(cc grpc.ClientConnInterface) IPAMPluginClient

type IPAMPluginServer added in v0.1.4

type IPAMPluginServer interface {
	// Allocate allocates an IP for a node.
	Allocate(context.Context, *AllocateIPRequest) (*AllocatedIP, error)
	// Release releases an IP for a node.
	Release(context.Context, *ReleaseIPRequest) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

IPAMPluginServer is the server API for IPAMPlugin service. All implementations must embed UnimplementedIPAMPluginServer for forward compatibility

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 key of the node to broadcast to peers.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,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,4,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,5,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,6,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,7,opt,name=assign_ipv4,json=assignIpv4,proto3" json:"assign_ipv4,omitempty"`
	// prefer_storage_ipv6 is whether IPv6 should be preferred over IPv4 for storage communication.
	// This is only used if assign_ipv4 is true.
	PreferStorageIpv6 bool `protobuf:"varint,8,opt,name=prefer_storage_ipv6,json=preferStorageIpv6,proto3" json:"prefer_storage_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,9,opt,name=as_voter,json=asVoter,proto3" json:"as_voter,omitempty"`
	// as_observer is whether the node should be added as an observer. They will receive
	// updates to the storage, but not be able to vote in elections.
	AsObserver bool `protobuf:"varint,10,opt,name=as_observer,json=asObserver,proto3" json:"as_observer,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,11,rep,name=routes,proto3" json:"routes,omitempty"`
	// direct_peers is a map of extra peers that should be connected to directly over relays.
	// The provided edge attribute is the callers preference of how the relay should be created.
	// The request will be denied if the node is not allowed to put data channels or edges.
	// The default joining behavior creates direct 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 map[string]ConnectProtocol `` /* 208-byte string literal not displayed */
	// features is a list of features supported by the node that should be advertised to peers
	// and the port they are available on.
	Features []*FeaturePort `protobuf:"bytes,13,rep,name=features,proto3" json:"features,omitempty"`
	// multiaddrs are libp2p multiaddresses this node is listening on.
	Multiaddrs []string `protobuf:"bytes,14,rep,name=multiaddrs,proto3" json:"multiaddrs,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) GetAsObserver added in v0.2.2

func (x *JoinRequest) GetAsObserver() bool

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() map[string]ConnectProtocol

func (*JoinRequest) GetFeatures added in v0.2.1

func (x *JoinRequest) GetFeatures() []*FeaturePort

func (*JoinRequest) GetId

func (x *JoinRequest) GetId() string

func (*JoinRequest) GetMultiaddrs added in v0.4.0

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

func (*JoinRequest) GetPreferStorageIpv6 added in v0.4.0

func (x *JoinRequest) GetPreferStorageIpv6() bool

func (*JoinRequest) GetPrimaryEndpoint

func (x *JoinRequest) GetPrimaryEndpoint() string

func (*JoinRequest) GetPublicKey

func (x *JoinRequest) GetPublicKey() string

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_ipv4 is the IPv4 network of the Mesh.
	NetworkIpv4 string `protobuf:"bytes,3,opt,name=network_ipv4,json=networkIpv4,proto3" json:"network_ipv4,omitempty"`
	// network_ipv6 is the IPv6 network of the Mesh.
	NetworkIpv6 string `protobuf:"bytes,4,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,5,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,6,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"`
	// dns_servers is a list of peers offering DNS services.
	DnsServers []string `protobuf:"bytes,7,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
	// mesh_domain is the domain of the mesh.
	MeshDomain string `protobuf:"bytes,8,opt,name=mesh_domain,json=meshDomain,proto3" json:"mesh_domain,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) GetDnsServers added in v0.2.1

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

func (*JoinResponse) GetIceServers added in v0.1.3

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

func (*JoinResponse) GetMeshDomain added in v0.2.0

func (x *JoinResponse) GetMeshDomain() string

func (*JoinResponse) GetNetworkIpv4 added in v0.1.4

func (x *JoinResponse) GetNetworkIpv4() 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 LeaveDHTRequest added in v0.2.4

type LeaveDHTRequest struct {

	// PSK is the pre-shared key that was used to join the DHT.
	Psk string `protobuf:"bytes,1,opt,name=psk,proto3" json:"psk,omitempty"`
	// contains filtered or unexported fields
}

LeaveDHTRequest is sent by the application to the node to leave the Kademlia DHT.

func (*LeaveDHTRequest) Descriptor deprecated added in v0.2.4

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

Deprecated: Use LeaveDHTRequest.ProtoReflect.Descriptor instead.

func (*LeaveDHTRequest) GetPsk added in v0.2.4

func (x *LeaveDHTRequest) GetPsk() string

func (*LeaveDHTRequest) ProtoMessage added in v0.2.4

func (*LeaveDHTRequest) ProtoMessage()

func (*LeaveDHTRequest) ProtoReflect added in v0.2.4

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

func (*LeaveDHTRequest) Reset added in v0.2.4

func (x *LeaveDHTRequest) Reset()

func (*LeaveDHTRequest) String added in v0.2.4

func (x *LeaveDHTRequest) String() string

type LeaveDHTResponse added in v0.2.4

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

LeaveDHTResponse is returned by the LeaveDHT RPC.

func (*LeaveDHTResponse) Descriptor deprecated added in v0.2.4

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

Deprecated: Use LeaveDHTResponse.ProtoReflect.Descriptor instead.

func (*LeaveDHTResponse) ProtoMessage added in v0.2.4

func (*LeaveDHTResponse) ProtoMessage()

func (*LeaveDHTResponse) ProtoReflect added in v0.2.4

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

func (*LeaveDHTResponse) Reset added in v0.2.4

func (x *LeaveDHTResponse) Reset()

func (*LeaveDHTResponse) String added in v0.2.4

func (x *LeaveDHTResponse) 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 LeaveResponse added in v0.2.2

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

LeaveResponse is a response to a leave request. It is currently empty.

func (*LeaveResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use LeaveResponse.ProtoReflect.Descriptor instead.

func (*LeaveResponse) ProtoMessage added in v0.2.2

func (*LeaveResponse) ProtoMessage()

func (*LeaveResponse) ProtoReflect added in v0.2.2

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

func (*LeaveResponse) Reset added in v0.2.2

func (x *LeaveResponse) Reset()

func (*LeaveResponse) String added in v0.2.2

func (x *LeaveResponse) String() string

type ListKeysRequest added in v0.4.0

type ListKeysRequest struct {

	// Prefix is the prefix to list values for.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

ListKeysRequest is the request object for the ListValues RPC.

func (*ListKeysRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use ListKeysRequest.ProtoReflect.Descriptor instead.

func (*ListKeysRequest) GetPrefix added in v0.4.0

func (x *ListKeysRequest) GetPrefix() string

func (*ListKeysRequest) ProtoMessage added in v0.4.0

func (*ListKeysRequest) ProtoMessage()

func (*ListKeysRequest) ProtoReflect added in v0.4.0

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

func (*ListKeysRequest) Reset added in v0.4.0

func (x *ListKeysRequest) Reset()

func (*ListKeysRequest) String added in v0.4.0

func (x *ListKeysRequest) String() string

type ListKeysResponse added in v0.4.0

type ListKeysResponse struct {

	// Keys is the list of value keys for the prefix.
	Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
	// contains filtered or unexported fields
}

ListKeysResponse is the response object for the ListValues RPC.

func (*ListKeysResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use ListKeysResponse.ProtoReflect.Descriptor instead.

func (*ListKeysResponse) GetKeys added in v0.4.0

func (x *ListKeysResponse) GetKeys() []string

func (*ListKeysResponse) ProtoMessage added in v0.4.0

func (*ListKeysResponse) ProtoMessage()

func (*ListKeysResponse) ProtoReflect added in v0.4.0

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

func (*ListKeysResponse) Reset added in v0.4.0

func (x *ListKeysResponse) Reset()

func (*ListKeysResponse) String added in v0.4.0

func (x *ListKeysResponse) String() string

type ListValuesRequest added in v0.4.0

type ListValuesRequest struct {

	// Prefix is the prefix to list values for.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

ListValuesRequest is the request object for the ListValues RPC.

func (*ListValuesRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use ListValuesRequest.ProtoReflect.Descriptor instead.

func (*ListValuesRequest) GetPrefix added in v0.4.0

func (x *ListValuesRequest) GetPrefix() string

func (*ListValuesRequest) ProtoMessage added in v0.4.0

func (*ListValuesRequest) ProtoMessage()

func (*ListValuesRequest) ProtoReflect added in v0.4.0

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

func (*ListValuesRequest) Reset added in v0.4.0

func (x *ListValuesRequest) Reset()

func (*ListValuesRequest) String added in v0.4.0

func (x *ListValuesRequest) String() string

type ListValuesResponse added in v0.4.0

type ListValuesResponse struct {

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

ListValuesResponse is the response object for the ListValues RPC.

func (*ListValuesResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use ListValuesResponse.ProtoReflect.Descriptor instead.

func (*ListValuesResponse) GetValues added in v0.4.0

func (x *ListValuesResponse) GetValues() []*StorageValue

func (*ListValuesResponse) ProtoMessage added in v0.4.0

func (*ListValuesResponse) ProtoMessage()

func (*ListValuesResponse) ProtoReflect added in v0.4.0

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

func (*ListValuesResponse) Reset added in v0.4.0

func (x *ListValuesResponse) Reset()

func (*ListValuesResponse) String added in v0.4.0

func (x *ListValuesResponse) String() string

type MembershipClient added in v0.2.2

type MembershipClient interface {
	// Join is used to join a node to the mesh.
	Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error)
	// Update is used by a node to update its state in the mesh. The node will be updated
	// in the mesh and will be able to query the mesh state or vote in elections. Only
	// non-empty fields will be updated. It is almost semantically equivalent to a join request
	// with the same ID, but redefined to avoid confusion and to allow for expansion.
	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, 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) (*LeaveResponse, error)
	// SubscribePeers subscribes to the peer configuration for the given node. The node
	// will receive updates to the peer configuration as it changes.
	SubscribePeers(ctx context.Context, in *SubscribePeersRequest, opts ...grpc.CallOption) (Membership_SubscribePeersClient, error)
	// Apply is used by voting nodes to request a log entry be applied to the state machine.
	// This is only available on the leader, and can only be called by nodes that are allowed
	// to vote. This is only used by the built-in raft storage implementation.
	Apply(ctx context.Context, in *RaftLogEntry, opts ...grpc.CallOption) (*RaftApplyResponse, error)
	// GetStorageConfiguration returns the current Storage configuration.
	GetStorageConfiguration(ctx context.Context, in *StorageConfigurationRequest, opts ...grpc.CallOption) (*StorageConfigurationResponse, error)
}

MembershipClient is the client API for Membership 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 NewMembershipClient added in v0.2.2

func NewMembershipClient(cc grpc.ClientConnInterface) MembershipClient

type MembershipServer added in v0.2.2

type MembershipServer interface {
	// Join is used to join a node to the mesh.
	Join(context.Context, *JoinRequest) (*JoinResponse, error)
	// Update is used by a node to update its state in the mesh. The node will be updated
	// in the mesh and will be able to query the mesh state or vote in elections. Only
	// non-empty fields will be updated. It is almost semantically equivalent to a join request
	// with the same ID, but redefined to avoid confusion and to allow for expansion.
	Update(context.Context, *UpdateRequest) (*UpdateResponse, 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) (*LeaveResponse, error)
	// SubscribePeers subscribes to the peer configuration for the given node. The node
	// will receive updates to the peer configuration as it changes.
	SubscribePeers(*SubscribePeersRequest, Membership_SubscribePeersServer) error
	// Apply is used by voting nodes to request a log entry be applied to the state machine.
	// This is only available on the leader, and can only be called by nodes that are allowed
	// to vote. This is only used by the built-in raft storage implementation.
	Apply(context.Context, *RaftLogEntry) (*RaftApplyResponse, error)
	// GetStorageConfiguration returns the current Storage configuration.
	GetStorageConfiguration(context.Context, *StorageConfigurationRequest) (*StorageConfigurationResponse, error)
	// contains filtered or unexported methods
}

MembershipServer is the server API for Membership service. All implementations must embed UnimplementedMembershipServer for forward compatibility

type Membership_SubscribePeersClient added in v0.3.0

type Membership_SubscribePeersClient interface {
	Recv() (*PeerConfigurations, error)
	grpc.ClientStream
}

type Membership_SubscribePeersServer added in v0.3.0

type Membership_SubscribePeersServer interface {
	Send(*PeerConfigurations) error
	grpc.ServerStream
}

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"`
	// 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"`
	// primary_endpoint is the primary endpoint of the node.
	PrimaryEndpoint string `protobuf:"bytes,4,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,5,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,6,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// private_ipv4 is the private IPv4 address of the node.
	PrivateIpv4 string `protobuf:"bytes,7,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,8,opt,name=private_ipv6,json=privateIpv6,proto3" json:"private_ipv6,omitempty"`
	// features are a list of features and the ports they are advertised on.
	Features []*FeaturePort `protobuf:"bytes,9,rep,name=features,proto3" json:"features,omitempty"`
	// multiaddrs are the multiaddrs of the node.
	Multiaddrs []string `protobuf:"bytes,10,rep,name=multiaddrs,proto3" json:"multiaddrs,omitempty"`
	// joined_at is the time the node joined the cluster.
	JoinedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=joined_at,json=joinedAt,proto3" json:"joined_at,omitempty"`
	// contains filtered or unexported fields
}

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

func (*MeshNode) Descriptor deprecated

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

Deprecated: Use MeshNode.ProtoReflect.Descriptor instead.

func (*MeshNode) GetFeatures added in v0.2.1

func (x *MeshNode) GetFeatures() []*FeaturePort

func (*MeshNode) GetId

func (x *MeshNode) GetId() string

func (*MeshNode) GetJoinedAt added in v0.4.0

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

func (*MeshNode) GetMultiaddrs added in v0.4.0

func (x *MeshNode) GetMultiaddrs() []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) 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 MetricsRequest added in v0.2.2

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

MetricsRequest is sent by the application to the node to retrieve interface metrics. It is intentionally empty for now, but can eventually be used to query specific interfaces/metrics.

func (*MetricsRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use MetricsRequest.ProtoReflect.Descriptor instead.

func (*MetricsRequest) ProtoMessage added in v0.2.2

func (*MetricsRequest) ProtoMessage()

func (*MetricsRequest) ProtoReflect added in v0.2.2

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

func (*MetricsRequest) Reset added in v0.2.2

func (x *MetricsRequest) Reset()

func (*MetricsRequest) String added in v0.2.2

func (x *MetricsRequest) String() string

type MetricsResponse added in v0.2.2

type MetricsResponse struct {

	// interfaces is a map of interface names to metrics.
	Interfaces map[string]*InterfaceMetrics `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

MetricsResponse is a message containing interface metrics.

func (*MetricsResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use MetricsResponse.ProtoReflect.Descriptor instead.

func (*MetricsResponse) GetInterfaces added in v0.2.2

func (x *MetricsResponse) GetInterfaces() map[string]*InterfaceMetrics

func (*MetricsResponse) ProtoMessage added in v0.2.2

func (*MetricsResponse) ProtoMessage()

func (*MetricsResponse) ProtoReflect added in v0.2.2

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

func (*MetricsResponse) Reset added in v0.2.2

func (x *MetricsResponse) Reset()

func (*MetricsResponse) String added in v0.2.2

func (x *MetricsResponse) String() string

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:". If one or more of the nodes is '*', all nodes are matched.
	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.
	// Groups can be specified with the prefix "group:". If one or more of the nodes is '*', 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.
	// If one or more of the CIDRs is '*', 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.
	// If one or more of the CIDRs is '*', all CIDRs are matched.
	DestinationCidrs []string `protobuf:"bytes,7,rep,name=destination_cidrs,json=destinationCidrs,proto3" json:"destination_cidrs,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) GetPriority

func (x *NetworkACL) GetPriority() int32

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"`
	// 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) 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 {
	// GetStatus gets the status of a node in the cluster. If the node is not able
	// to return the status of the ID requested, it should return an error.
	GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, 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)
	// ReceiveSignalChannel is used to receive a request to start a WebRTC connection between a remote
	// node and this node. The node should wait for the client to send an offer, and then respond with
	// an answer. Once the node receives the answer, the stream can optionally be used to exchange ICE
	// candidates.
	ReceiveSignalChannel(ctx context.Context, opts ...grpc.CallOption) (Node_ReceiveSignalChannelClient, 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 {
	// GetStatus gets the status of a node in the cluster. If the node is not able
	// to return the status of the ID requested, it should return an error.
	GetStatus(context.Context, *GetStatusRequest) (*Status, 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
	// ReceiveSignalChannel is used to receive a request to start a WebRTC connection between a remote
	// node and this node. The node should wait for the client to send an offer, and then respond with
	// an answer. Once the node receives the answer, the stream can optionally be used to exchange ICE
	// candidates.
	ReceiveSignalChannel(Node_ReceiveSignalChannelServer) 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 Node_ReceiveSignalChannelClient added in v0.4.0

type Node_ReceiveSignalChannelClient interface {
	Send(*WebRTCSignal) error
	Recv() (*WebRTCSignal, error)
	grpc.ClientStream
}

type Node_ReceiveSignalChannelServer added in v0.4.0

type Node_ReceiveSignalChannelServer interface {
	Send(*WebRTCSignal) error
	Recv() (*WebRTCSignal, error)
	grpc.ServerStream
}

type PeerConfigurations added in v0.3.0

type PeerConfigurations struct {

	// peers is a list of wireguard peers to connect to.
	Peers []*WireGuardPeer `protobuf:"bytes,5,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.
	IceServers []string `protobuf:"bytes,6,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"`
	// dns_servers is a list of peers offering DNS services.
	DnsServers []string `protobuf:"bytes,7,rep,name=dns_servers,json=dnsServers,proto3" json:"dns_servers,omitempty"`
	// contains filtered or unexported fields
}

PeerConfigurations is a stream of peer configurations.

func (*PeerConfigurations) Descriptor deprecated added in v0.3.0

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

Deprecated: Use PeerConfigurations.ProtoReflect.Descriptor instead.

func (*PeerConfigurations) GetDnsServers added in v0.3.0

func (x *PeerConfigurations) GetDnsServers() []string

func (*PeerConfigurations) GetIceServers added in v0.3.0

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

func (*PeerConfigurations) GetPeers added in v0.3.0

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

func (*PeerConfigurations) ProtoMessage added in v0.3.0

func (*PeerConfigurations) ProtoMessage()

func (*PeerConfigurations) ProtoReflect added in v0.3.0

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

func (*PeerConfigurations) Reset added in v0.3.0

func (x *PeerConfigurations) Reset()

func (*PeerConfigurations) String added in v0.3.0

func (x *PeerConfigurations) String() string

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 PluginClient

type PluginClient interface {
	// GetInfo returns the information for the plugin.
	GetInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
	// Configure starts and configures the plugin.
	Configure(ctx context.Context, in *PluginConfiguration, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Close closes the plugin. It is called when the node is shutting down.
	Close(ctx context.Context, in *emptypb.Empty, 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 []PluginInfo_PluginCapability `protobuf:"varint,5,rep,packed,name=capabilities,proto3,enum=v1.PluginInfo_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() []PluginInfo_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 PluginInfo_PluginCapability added in v0.3.0

type PluginInfo_PluginCapability int32

PluginCapability is the capabilities of a plugin.

const (
	// UNKNOWN is the default value of PluginCapability.
	PluginInfo_UNKNOWN PluginInfo_PluginCapability = 0
	// STORAGE_PROVIDER indicates that the plugin can provide storage and underlying consistency.
	PluginInfo_STORAGE_PROVIDER PluginInfo_PluginCapability = 1
	// AUTH indicates that the plugin is an auth plugin.
	PluginInfo_AUTH PluginInfo_PluginCapability = 2
	// WATCH indicates that the plugin wants to receive watch events.
	PluginInfo_WATCH PluginInfo_PluginCapability = 3
	// IPAMV4 indicates that the plugin is an IPv4 IPAM plugin.
	PluginInfo_IPAMV4 PluginInfo_PluginCapability = 4
	// STORAGE_QUERIER indicates a plugin that wants to interact with storage.
	PluginInfo_STORAGE_QUERIER PluginInfo_PluginCapability = 5
)

func (PluginInfo_PluginCapability) Descriptor added in v0.3.0

func (PluginInfo_PluginCapability) Enum added in v0.3.0

func (PluginInfo_PluginCapability) EnumDescriptor deprecated added in v0.3.0

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

Deprecated: Use PluginInfo_PluginCapability.Descriptor instead.

func (PluginInfo_PluginCapability) Number added in v0.3.0

func (PluginInfo_PluginCapability) String added in v0.3.0

func (PluginInfo_PluginCapability) Type added in v0.3.0

type PluginQuery added in v0.2.0

type PluginQuery struct {

	// id is the ID of the query.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// command is the command of the query.
	Command PluginQuery_QueryCommand `protobuf:"varint,2,opt,name=command,proto3,enum=v1.PluginQuery_QueryCommand" json:"command,omitempty"`
	// query is the key or prefix of the query.
	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
	// contains filtered or unexported fields
}

PluginQuery is the message containing a storage query. It contains a request ID that is used to correlate the query with the result.

func (*PluginQuery) Descriptor deprecated added in v0.2.0

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

Deprecated: Use PluginQuery.ProtoReflect.Descriptor instead.

func (*PluginQuery) GetCommand added in v0.2.0

func (x *PluginQuery) GetCommand() PluginQuery_QueryCommand

func (*PluginQuery) GetId added in v0.2.0

func (x *PluginQuery) GetId() string

func (*PluginQuery) GetQuery added in v0.2.0

func (x *PluginQuery) GetQuery() string

func (*PluginQuery) ProtoMessage added in v0.2.0

func (*PluginQuery) ProtoMessage()

func (*PluginQuery) ProtoReflect added in v0.2.0

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

func (*PluginQuery) Reset added in v0.2.0

func (x *PluginQuery) Reset()

func (*PluginQuery) String added in v0.2.0

func (x *PluginQuery) String() string

type PluginQueryResult added in v0.2.0

type PluginQueryResult struct {

	// id is the ID of the query.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// key is the key of the query. For GET and ITER queries it will be the current key.
	// For LIST queries it will be the prefix.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the query. For GET and ITER queries it will be the value of the current key.
	// For LIST queries it will be the list of keys that match the prefix.
	Value []string `protobuf:"bytes,3,rep,name=value,proto3" json:"value,omitempty"`
	// error is an error that occurred during the query. At the end of an ITER query it will be set to
	// "EOF" to indicate that the iteration is complete.
	Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

PluginQueryResult is the message containing a storage query result. It contains a request ID that is used to correlate the query with the result.

func (*PluginQueryResult) Descriptor deprecated added in v0.2.0

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

Deprecated: Use PluginQueryResult.ProtoReflect.Descriptor instead.

func (*PluginQueryResult) GetError added in v0.2.0

func (x *PluginQueryResult) GetError() string

func (*PluginQueryResult) GetId added in v0.2.0

func (x *PluginQueryResult) GetId() string

func (*PluginQueryResult) GetKey added in v0.2.0

func (x *PluginQueryResult) GetKey() string

func (*PluginQueryResult) GetValue added in v0.2.0

func (x *PluginQueryResult) GetValue() []string

func (*PluginQueryResult) ProtoMessage added in v0.2.0

func (*PluginQueryResult) ProtoMessage()

func (*PluginQueryResult) ProtoReflect added in v0.2.0

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

func (*PluginQueryResult) Reset added in v0.2.0

func (x *PluginQueryResult) Reset()

func (*PluginQueryResult) String added in v0.2.0

func (x *PluginQueryResult) String() string

type PluginQuery_QueryCommand added in v0.2.0

type PluginQuery_QueryCommand int32

QueryCommand is the type of the query.

const (
	// UNKNOWN is the default value of QueryCommand.
	PluginQuery_UNKNOWN PluginQuery_QueryCommand = 0
	// GET is the command to get a value.
	PluginQuery_GET PluginQuery_QueryCommand = 1
	// LIST is the command to list keys with an optional prefix.
	PluginQuery_LIST PluginQuery_QueryCommand = 2
	// ITER is the command to iterate over keys with an optional prefix.
	PluginQuery_ITER PluginQuery_QueryCommand = 3
	// PUT is the command to put a value.
	PluginQuery_PUT PluginQuery_QueryCommand = 4
	// DELETE is the command to delete a value.
	PluginQuery_DELETE PluginQuery_QueryCommand = 5
	// SUBSCRIBE is the command to subscribe to a prefix.
	PluginQuery_SUBSCRIBE PluginQuery_QueryCommand = 6
)

func (PluginQuery_QueryCommand) Descriptor added in v0.2.0

func (PluginQuery_QueryCommand) Enum added in v0.2.0

func (PluginQuery_QueryCommand) EnumDescriptor deprecated added in v0.2.0

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

Deprecated: Use PluginQuery_QueryCommand.Descriptor instead.

func (PluginQuery_QueryCommand) Number added in v0.2.0

func (PluginQuery_QueryCommand) String added in v0.2.0

func (x PluginQuery_QueryCommand) String() string

func (PluginQuery_QueryCommand) Type added in v0.2.0

type PluginServer

type PluginServer interface {
	// GetInfo returns the information for the plugin.
	GetInfo(context.Context, *emptypb.Empty) (*PluginInfo, error)
	// Configure starts and configures the plugin.
	Configure(context.Context, *PluginConfiguration) (*emptypb.Empty, error)
	// Close closes the plugin. It is called when the node is shutting down.
	Close(context.Context, *emptypb.Empty) (*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 PrefixEvent added in v0.4.0

type PrefixEvent struct {

	// Prefix is the prefix that the event is for.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// Value is the value that was added or removed.
	Value *StorageValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// EventType is the type of event.
	EventType PrefixEvent_EventType `protobuf:"varint,3,opt,name=event_type,json=eventType,proto3,enum=v1.PrefixEvent_EventType" json:"event_type,omitempty"`
	// contains filtered or unexported fields
}

PrefixEvent is an event that is emitted when a value is added or removed from the storage for a prefix.

func (*PrefixEvent) Descriptor deprecated added in v0.4.0

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

Deprecated: Use PrefixEvent.ProtoReflect.Descriptor instead.

func (*PrefixEvent) GetEventType added in v0.4.0

func (x *PrefixEvent) GetEventType() PrefixEvent_EventType

func (*PrefixEvent) GetPrefix added in v0.4.0

func (x *PrefixEvent) GetPrefix() string

func (*PrefixEvent) GetValue added in v0.4.0

func (x *PrefixEvent) GetValue() *StorageValue

func (*PrefixEvent) ProtoMessage added in v0.4.0

func (*PrefixEvent) ProtoMessage()

func (*PrefixEvent) ProtoReflect added in v0.4.0

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

func (*PrefixEvent) Reset added in v0.4.0

func (x *PrefixEvent) Reset()

func (*PrefixEvent) String added in v0.4.0

func (x *PrefixEvent) String() string

type PrefixEvent_EventType added in v0.4.0

type PrefixEvent_EventType int32
const (
	// EventTypeUnknown is an unknown event type.
	PrefixEvent_EventTypeUnknown PrefixEvent_EventType = 0
	// EventTypeUpdated is an event for when a value is added or updated.
	PrefixEvent_EventTypeUpdated PrefixEvent_EventType = 1
	// EventTypeRemoved is an event for when a value is removed.
	PrefixEvent_EventTypeRemoved PrefixEvent_EventType = 2
)

func (PrefixEvent_EventType) Descriptor added in v0.4.0

func (PrefixEvent_EventType) Enum added in v0.4.0

func (PrefixEvent_EventType) EnumDescriptor deprecated added in v0.4.0

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

Deprecated: Use PrefixEvent_EventType.Descriptor instead.

func (PrefixEvent_EventType) Number added in v0.4.0

func (PrefixEvent_EventType) String added in v0.4.0

func (x PrefixEvent_EventType) String() string

func (PrefixEvent_EventType) Type added in v0.4.0

type PublishRequest added in v0.2.2

type PublishRequest struct {

	// key is the key of the event.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the event. This will be the raw value of the key.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// ttl is the time for the event to live in the database.
	Ttl *durationpb.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// contains filtered or unexported fields
}

PublishRequest is sent by the application to the node to publish events. This currently only supports database events.

func (*PublishRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use PublishRequest.ProtoReflect.Descriptor instead.

func (*PublishRequest) GetKey added in v0.2.2

func (x *PublishRequest) GetKey() string

func (*PublishRequest) GetTtl added in v0.2.2

func (x *PublishRequest) GetTtl() *durationpb.Duration

func (*PublishRequest) GetValue added in v0.2.2

func (x *PublishRequest) GetValue() string

func (*PublishRequest) ProtoMessage added in v0.2.2

func (*PublishRequest) ProtoMessage()

func (*PublishRequest) ProtoReflect added in v0.2.2

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

func (*PublishRequest) Reset added in v0.2.2

func (x *PublishRequest) Reset()

func (*PublishRequest) String added in v0.2.2

func (x *PublishRequest) String() string

type PublishResponse added in v0.2.2

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

PublishResponse is the response to a publish request. This is currently empty.

func (*PublishResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use PublishResponse.ProtoReflect.Descriptor instead.

func (*PublishResponse) ProtoMessage added in v0.2.2

func (*PublishResponse) ProtoMessage()

func (*PublishResponse) ProtoReflect added in v0.2.2

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

func (*PublishResponse) Reset added in v0.2.2

func (x *PublishResponse) Reset()

func (*PublishResponse) String added in v0.2.2

func (x *PublishResponse) String() string

type PutValueRequest added in v0.4.0

type PutValueRequest struct {

	// Value is the value to put.
	Value *StorageValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// TTL is the time to live for the value.
	Ttl *durationpb.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// contains filtered or unexported fields
}

PutValueRequest is the request object for the PutValue RPC.

func (*PutValueRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use PutValueRequest.ProtoReflect.Descriptor instead.

func (*PutValueRequest) GetTtl added in v0.4.0

func (x *PutValueRequest) GetTtl() *durationpb.Duration

func (*PutValueRequest) GetValue added in v0.4.0

func (x *PutValueRequest) GetValue() *StorageValue

func (*PutValueRequest) ProtoMessage added in v0.4.0

func (*PutValueRequest) ProtoMessage()

func (*PutValueRequest) ProtoReflect added in v0.4.0

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

func (*PutValueRequest) Reset added in v0.4.0

func (x *PutValueRequest) Reset()

func (*PutValueRequest) String added in v0.4.0

func (x *PutValueRequest) String() string

type PutValueResponse added in v0.4.0

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

PutValueResponse is the response object for the PutValue RPC.

func (*PutValueResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use PutValueResponse.ProtoReflect.Descriptor instead.

func (*PutValueResponse) ProtoMessage added in v0.4.0

func (*PutValueResponse) ProtoMessage()

func (*PutValueResponse) ProtoReflect added in v0.4.0

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

func (*PutValueResponse) Reset added in v0.4.0

func (x *PutValueResponse) Reset()

func (*PutValueResponse) String added in v0.4.0

func (x *PutValueResponse) String() string

type QueryRequest added in v0.2.2

type QueryRequest struct {

	// command is the command of the query.
	Command QueryRequest_QueryCommand `protobuf:"varint,2,opt,name=command,proto3,enum=v1.QueryRequest_QueryCommand" json:"command,omitempty"`
	// query is the key or prefix of the query.
	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
	// contains filtered or unexported fields
}

QueryRequest is sent by the application to the node to query the mesh for information.

func (*QueryRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.

func (*QueryRequest) GetCommand added in v0.2.2

func (x *QueryRequest) GetCommand() QueryRequest_QueryCommand

func (*QueryRequest) GetQuery added in v0.2.2

func (x *QueryRequest) GetQuery() string

func (*QueryRequest) ProtoMessage added in v0.2.2

func (*QueryRequest) ProtoMessage()

func (*QueryRequest) ProtoReflect added in v0.2.2

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

func (*QueryRequest) Reset added in v0.2.2

func (x *QueryRequest) Reset()

func (*QueryRequest) String added in v0.2.2

func (x *QueryRequest) String() string

type QueryRequest_QueryCommand added in v0.2.2

type QueryRequest_QueryCommand int32

QueryCommand is the type of the query.

const (
	// UNKNOWN is the default command.
	QueryRequest_UNKNOWN QueryRequest_QueryCommand = 0
	// GET is the command to get a value.
	QueryRequest_GET QueryRequest_QueryCommand = 1
	// LIST is the command to list keys with an optional prefix.
	QueryRequest_LIST QueryRequest_QueryCommand = 2
	// ITER is the command to iterate over keys with an optional prefix.
	QueryRequest_ITER QueryRequest_QueryCommand = 3
)

func (QueryRequest_QueryCommand) Descriptor added in v0.2.2

func (QueryRequest_QueryCommand) Enum added in v0.2.2

func (QueryRequest_QueryCommand) EnumDescriptor deprecated added in v0.2.2

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

Deprecated: Use QueryRequest_QueryCommand.Descriptor instead.

func (QueryRequest_QueryCommand) Number added in v0.2.2

func (QueryRequest_QueryCommand) String added in v0.2.2

func (x QueryRequest_QueryCommand) String() string

func (QueryRequest_QueryCommand) Type added in v0.2.2

type QueryResponse added in v0.2.2

type QueryResponse struct {

	// key is the key of the query. For GET and ITER queries it will be the current key.
	// For LIST queries it will be the prefix.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the query. For GET and ITER queries it will be the value of the current key.
	// For LIST queries it will be the list of keys that match the prefix.
	Value []string `protobuf:"bytes,3,rep,name=value,proto3" json:"value,omitempty"`
	// error is an error that occurred during the query. At the end of an ITER query it will be set to
	// "EOF" to indicate that the iteration is complete.
	Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

QueryResponse is the message containing a mesh query result.

func (*QueryResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use QueryResponse.ProtoReflect.Descriptor instead.

func (*QueryResponse) GetError added in v0.2.2

func (x *QueryResponse) GetError() string

func (*QueryResponse) GetKey added in v0.2.2

func (x *QueryResponse) GetKey() string

func (*QueryResponse) GetValue added in v0.2.2

func (x *QueryResponse) GetValue() []string

func (*QueryResponse) ProtoMessage added in v0.2.2

func (*QueryResponse) ProtoMessage()

func (*QueryResponse) ProtoReflect added in v0.2.2

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

func (*QueryResponse) Reset added in v0.2.2

func (x *QueryResponse) Reset()

func (*QueryResponse) String added in v0.2.2

func (x *QueryResponse) String() string

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"`
	// error is an error that occurred during the apply.
	Error string `protobuf:"bytes,2,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) 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
	// PUT is the command for putting a key/value pair.
	RaftCommandType_PUT RaftCommandType = 1
	// DELETE is the command for deleting a key/value pair.
	RaftCommandType_DELETE 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 RaftDataItem added in v0.3.0

type RaftDataItem struct {

	// key is the key of the data item.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the data item.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// ttl is the time to live of the data item.
	Ttl *durationpb.Duration `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// contains filtered or unexported fields
}

RaftDataItem represents a value in the Raft data store.

func (*RaftDataItem) Descriptor deprecated added in v0.3.0

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

Deprecated: Use RaftDataItem.ProtoReflect.Descriptor instead.

func (*RaftDataItem) GetKey added in v0.3.0

func (x *RaftDataItem) GetKey() string

func (*RaftDataItem) GetTtl added in v0.3.0

func (x *RaftDataItem) GetTtl() *durationpb.Duration

func (*RaftDataItem) GetValue added in v0.3.0

func (x *RaftDataItem) GetValue() string

func (*RaftDataItem) ProtoMessage added in v0.3.0

func (*RaftDataItem) ProtoMessage()

func (*RaftDataItem) ProtoReflect added in v0.3.0

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

func (*RaftDataItem) Reset added in v0.3.0

func (x *RaftDataItem) Reset()

func (*RaftDataItem) String added in v0.3.0

func (x *RaftDataItem) String() string

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"`
	// key is the key of the log entry.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the log entry.
	Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// ttl is the time to live of the log entry.
	Ttl *durationpb.Duration `protobuf:"bytes,4,opt,name=ttl,proto3" json:"ttl,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) GetKey added in v0.2.0

func (x *RaftLogEntry) GetKey() string

func (*RaftLogEntry) GetTtl added in v0.2.2

func (x *RaftLogEntry) GetTtl() *durationpb.Duration

func (*RaftLogEntry) GetType

func (x *RaftLogEntry) GetType() RaftCommandType

func (*RaftLogEntry) GetValue added in v0.2.0

func (x *RaftLogEntry) GetValue() string

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 RaftSnapshot added in v0.3.0

type RaftSnapshot struct {
	Kv map[string]*RaftDataItem `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

RaftSnapshot is the data of a snapshot.

func (*RaftSnapshot) Descriptor deprecated added in v0.3.0

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

Deprecated: Use RaftSnapshot.ProtoReflect.Descriptor instead.

func (*RaftSnapshot) GetKv added in v0.3.0

func (x *RaftSnapshot) GetKv() map[string]*RaftDataItem

func (*RaftSnapshot) ProtoMessage added in v0.3.0

func (*RaftSnapshot) ProtoMessage()

func (*RaftSnapshot) ProtoReflect added in v0.3.0

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

func (*RaftSnapshot) Reset added in v0.3.0

func (x *RaftSnapshot) Reset()

func (*RaftSnapshot) String added in v0.3.0

func (x *RaftSnapshot) String() string

type ReleaseIPRequest added in v0.1.4

type ReleaseIPRequest struct {

	// node_id is the node that the IP should be released for.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// ip is the IP that should be released.
	Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
	// contains filtered or unexported fields
}

ReleaseIPRequest is the message containing an IP release request.

func (*ReleaseIPRequest) Descriptor deprecated added in v0.1.4

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

Deprecated: Use ReleaseIPRequest.ProtoReflect.Descriptor instead.

func (*ReleaseIPRequest) GetIp added in v0.1.4

func (x *ReleaseIPRequest) GetIp() string

func (*ReleaseIPRequest) GetNodeId added in v0.1.4

func (x *ReleaseIPRequest) GetNodeId() string

func (*ReleaseIPRequest) ProtoMessage added in v0.1.4

func (*ReleaseIPRequest) ProtoMessage()

func (*ReleaseIPRequest) ProtoReflect added in v0.1.4

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

func (*ReleaseIPRequest) Reset added in v0.1.4

func (x *ReleaseIPRequest) Reset()

func (*ReleaseIPRequest) String added in v0.1.4

func (x *ReleaseIPRequest) String() string

type RemoveServerResponse added in v0.4.0

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

RemoveServerResponse is the response object for the RemoveServer RPC.

func (*RemoveServerResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use RemoveServerResponse.ProtoReflect.Descriptor instead.

func (*RemoveServerResponse) ProtoMessage added in v0.4.0

func (*RemoveServerResponse) ProtoMessage()

func (*RemoveServerResponse) ProtoReflect added in v0.4.0

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

func (*RemoveServerResponse) Reset added in v0.4.0

func (x *RemoveServerResponse) Reset()

func (*RemoveServerResponse) String added in v0.4.0

func (x *RemoveServerResponse) 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 storage 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 between nodes.
	RuleResource_RESOURCE_EDGES RuleResource = 8
	// RESOURCE_OBSERVERS is the resource for managing observers. The only
	// verb evaluated for this resource is PUT.
	RuleResource_RESOURCE_OBSERVERS RuleResource = 9
	// RESOURCE_PUBSUB is the resource for managing pubsub topics.
	RuleResource_RESOURCE_PUBSUB RuleResource = 10
	// 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 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 []*FeaturePort `protobuf:"bytes,7,rep,name=features,proto3" 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"`
	// interface_metrics are the metrics for the node's interfaces.
	InterfaceMetrics *InterfaceMetrics `protobuf:"bytes,10,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) GetFeatures

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

func (*Status) GetId

func (x *Status) GetId() string

func (*Status) GetInterfaceMetrics

func (x *Status) GetInterfaceMetrics() *InterfaceMetrics

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 StatusRequest added in v0.2.2

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

StatusRequest is sent by the application to the node to retrieve the status of the node.

func (*StatusRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead.

func (*StatusRequest) ProtoMessage added in v0.2.2

func (*StatusRequest) ProtoMessage()

func (*StatusRequest) ProtoReflect added in v0.2.2

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

func (*StatusRequest) Reset added in v0.2.2

func (x *StatusRequest) Reset()

func (*StatusRequest) String added in v0.2.2

func (x *StatusRequest) String() string

type StatusResponse added in v0.2.2

type StatusResponse struct {

	// connection status is the status of the connection.
	ConnectionStatus StatusResponse_ConnectionStatus `` /* 150-byte string literal not displayed */
	// node is the node status. This is only populated if the node is connected.
	Node *MeshNode `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
	// contains filtered or unexported fields
}

StatusResponse is a message containing the status of the node.

func (*StatusResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead.

func (*StatusResponse) GetConnectionStatus added in v0.2.2

func (x *StatusResponse) GetConnectionStatus() StatusResponse_ConnectionStatus

func (*StatusResponse) GetNode added in v0.2.2

func (x *StatusResponse) GetNode() *MeshNode

func (*StatusResponse) ProtoMessage added in v0.2.2

func (*StatusResponse) ProtoMessage()

func (*StatusResponse) ProtoReflect added in v0.2.2

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

func (*StatusResponse) Reset added in v0.2.2

func (x *StatusResponse) Reset()

func (*StatusResponse) String added in v0.2.2

func (x *StatusResponse) String() string

type StatusResponse_ConnectionStatus added in v0.2.2

type StatusResponse_ConnectionStatus int32
const (
	// DISCONNECTED indicates that the node is not connected to a mesh.
	StatusResponse_DISCONNECTED StatusResponse_ConnectionStatus = 0
	// CONNECTING indicates that the node is in the process of connecting to a mesh.
	StatusResponse_CONNECTING StatusResponse_ConnectionStatus = 1
	// CONNECTED indicates that the node is connected to a mesh.
	StatusResponse_CONNECTED StatusResponse_ConnectionStatus = 2
)

func (StatusResponse_ConnectionStatus) Descriptor added in v0.2.2

func (StatusResponse_ConnectionStatus) Enum added in v0.2.2

func (StatusResponse_ConnectionStatus) EnumDescriptor deprecated added in v0.2.2

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

Deprecated: Use StatusResponse_ConnectionStatus.Descriptor instead.

func (StatusResponse_ConnectionStatus) Number added in v0.2.2

func (StatusResponse_ConnectionStatus) String added in v0.2.2

func (StatusResponse_ConnectionStatus) Type added in v0.2.2

type StorageConfigurationRequest added in v0.4.0

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

StorageConfigurationRequest is a request to get the current Storage configuration.

func (*StorageConfigurationRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageConfigurationRequest.ProtoReflect.Descriptor instead.

func (*StorageConfigurationRequest) ProtoMessage added in v0.4.0

func (*StorageConfigurationRequest) ProtoMessage()

func (*StorageConfigurationRequest) ProtoReflect added in v0.4.0

func (*StorageConfigurationRequest) Reset added in v0.4.0

func (x *StorageConfigurationRequest) Reset()

func (*StorageConfigurationRequest) String added in v0.4.0

func (x *StorageConfigurationRequest) String() string

type StorageConfigurationResponse added in v0.4.0

type StorageConfigurationResponse struct {

	// servers is the list of servers in the storage configuration.
	Servers []*StorageServer `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
	// contains filtered or unexported fields
}

StorageConfigurationResponse is a response to a Storage configuration request.

func (*StorageConfigurationResponse) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageConfigurationResponse.ProtoReflect.Descriptor instead.

func (*StorageConfigurationResponse) GetServers added in v0.4.0

func (x *StorageConfigurationResponse) GetServers() []*StorageServer

func (*StorageConfigurationResponse) ProtoMessage added in v0.4.0

func (*StorageConfigurationResponse) ProtoMessage()

func (*StorageConfigurationResponse) ProtoReflect added in v0.4.0

func (*StorageConfigurationResponse) Reset added in v0.4.0

func (x *StorageConfigurationResponse) Reset()

func (*StorageConfigurationResponse) String added in v0.4.0

type StoragePeer added in v0.4.0

type StoragePeer struct {

	// ID is the id of the server.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// public_key is the encoded public key of the server. This is not required
	// for demotion or removal RPCs. Not all implementations need to support this.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// Address is the address of the server. This is not required
	// for demotion or removal RPCs.
	Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// ClusterStatus is the status of the server. This is only
	// applicable during a GetStatus RPC.
	ClusterStatus ClusterStatus `protobuf:"varint,4,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// contains filtered or unexported fields
}

StoragePeer is a server that is currently recognized by the storage plugin.

func (*StoragePeer) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StoragePeer.ProtoReflect.Descriptor instead.

func (*StoragePeer) GetAddress added in v0.4.0

func (x *StoragePeer) GetAddress() string

func (*StoragePeer) GetClusterStatus added in v0.4.0

func (x *StoragePeer) GetClusterStatus() ClusterStatus

func (*StoragePeer) GetId added in v0.4.0

func (x *StoragePeer) GetId() string

func (*StoragePeer) GetPublicKey added in v0.4.0

func (x *StoragePeer) GetPublicKey() string

func (*StoragePeer) ProtoMessage added in v0.4.0

func (*StoragePeer) ProtoMessage()

func (*StoragePeer) ProtoReflect added in v0.4.0

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

func (*StoragePeer) Reset added in v0.4.0

func (x *StoragePeer) Reset()

func (*StoragePeer) String added in v0.4.0

func (x *StoragePeer) String() string

type StorageProviderPluginClient added in v0.4.0

type StorageProviderPluginClient interface {
	// GetStatus returns the status of the storage.
	GetStatus(ctx context.Context, in *StorageStatusRequest, opts ...grpc.CallOption) (*StorageStatus, error)
	// Bootstrap is called when the storage is created for the first time.
	// It is assumed that this node has been elected as the leader of the cluster.
	// FailedPrecondition should be returned if the storage is already bootstrapped.
	Bootstrap(ctx context.Context, in *BootstrapRequest, opts ...grpc.CallOption) (*BootstrapResponse, error)
	// AddVoter adds a voter to the storage. The underlying implementation
	// should ensure that the voter is added to the storage and that the
	// storage is in a consistent state before returning.
	AddVoter(ctx context.Context, in *StoragePeer, opts ...grpc.CallOption) (*AddVoterResponse, error)
	// AddObserver adds an observer to the storage. The underlying implementation
	// should ensure that the observer is added to the storage and that the
	// storage is in a consistent state before returning. If observers are not
	// supported the underlying implementation can silently ignore this RPC, but
	// it should keep track of the observer in the GetStatus RPC if possible.
	AddObserver(ctx context.Context, in *StoragePeer, opts ...grpc.CallOption) (*AddObserverResponse, error)
	// DemoteVoter demotes a voter to an observer. The underlying implementation
	// should ensure that the voter is demoted and that the storage is in a
	// consistent state before returning. If observers are not supported the
	// underlying implementation can silently ignore this RPC, but it should keep
	// track of the observer in the GetStatus RPC if possible.
	DemoteVoter(ctx context.Context, in *StoragePeer, opts ...grpc.CallOption) (*DemoteVoterResponse, error)
	// RemovePeer removes a peer from the storage. The underlying implementation
	// should ensure that the server is removed and that the storage is in a
	// consistent state before returning.
	RemovePeer(ctx context.Context, in *StoragePeer, opts ...grpc.CallOption) (*RemoveServerResponse, error)
	// GetLeader returns the leader of the storage. Leader may be loosely defined
	// by the implementation, but must be a node that can reliably be used to
	// mutate the storage.
	GetLeader(ctx context.Context, in *GetLeaderRequest, opts ...grpc.CallOption) (*StoragePeer, error)
	// GetValue returns the value for a key.
	GetValue(ctx context.Context, in *GetValueRequest, opts ...grpc.CallOption) (*GetValueResponse, error)
	// PutValue puts a value for a key.
	PutValue(ctx context.Context, in *PutValueRequest, opts ...grpc.CallOption) (*PutValueResponse, error)
	// DeleteValue deletes a value for a key.
	DeleteValue(ctx context.Context, in *DeleteValueRequest, opts ...grpc.CallOption) (*DeleteValueResponse, error)
	// ListKeys lists all keys for a prefix.
	ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error)
	// ListValues lists all values for a prefix.
	ListValues(ctx context.Context, in *ListValuesRequest, opts ...grpc.CallOption) (*ListValuesResponse, error)
	// SubscribePrefix subscribes to events for a prefix.
	SubscribePrefix(ctx context.Context, in *SubscribePrefixRequest, opts ...grpc.CallOption) (StorageProviderPlugin_SubscribePrefixClient, error)
}

StorageProviderPluginClient is the client API for StorageProviderPlugin 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 NewStorageProviderPluginClient added in v0.4.0

func NewStorageProviderPluginClient(cc grpc.ClientConnInterface) StorageProviderPluginClient

type StorageProviderPluginServer added in v0.4.0

type StorageProviderPluginServer interface {
	// GetStatus returns the status of the storage.
	GetStatus(context.Context, *StorageStatusRequest) (*StorageStatus, error)
	// Bootstrap is called when the storage is created for the first time.
	// It is assumed that this node has been elected as the leader of the cluster.
	// FailedPrecondition should be returned if the storage is already bootstrapped.
	Bootstrap(context.Context, *BootstrapRequest) (*BootstrapResponse, error)
	// AddVoter adds a voter to the storage. The underlying implementation
	// should ensure that the voter is added to the storage and that the
	// storage is in a consistent state before returning.
	AddVoter(context.Context, *StoragePeer) (*AddVoterResponse, error)
	// AddObserver adds an observer to the storage. The underlying implementation
	// should ensure that the observer is added to the storage and that the
	// storage is in a consistent state before returning. If observers are not
	// supported the underlying implementation can silently ignore this RPC, but
	// it should keep track of the observer in the GetStatus RPC if possible.
	AddObserver(context.Context, *StoragePeer) (*AddObserverResponse, error)
	// DemoteVoter demotes a voter to an observer. The underlying implementation
	// should ensure that the voter is demoted and that the storage is in a
	// consistent state before returning. If observers are not supported the
	// underlying implementation can silently ignore this RPC, but it should keep
	// track of the observer in the GetStatus RPC if possible.
	DemoteVoter(context.Context, *StoragePeer) (*DemoteVoterResponse, error)
	// RemovePeer removes a peer from the storage. The underlying implementation
	// should ensure that the server is removed and that the storage is in a
	// consistent state before returning.
	RemovePeer(context.Context, *StoragePeer) (*RemoveServerResponse, error)
	// GetLeader returns the leader of the storage. Leader may be loosely defined
	// by the implementation, but must be a node that can reliably be used to
	// mutate the storage.
	GetLeader(context.Context, *GetLeaderRequest) (*StoragePeer, error)
	// GetValue returns the value for a key.
	GetValue(context.Context, *GetValueRequest) (*GetValueResponse, error)
	// PutValue puts a value for a key.
	PutValue(context.Context, *PutValueRequest) (*PutValueResponse, error)
	// DeleteValue deletes a value for a key.
	DeleteValue(context.Context, *DeleteValueRequest) (*DeleteValueResponse, error)
	// ListKeys lists all keys for a prefix.
	ListKeys(context.Context, *ListKeysRequest) (*ListKeysResponse, error)
	// ListValues lists all values for a prefix.
	ListValues(context.Context, *ListValuesRequest) (*ListValuesResponse, error)
	// SubscribePrefix subscribes to events for a prefix.
	SubscribePrefix(*SubscribePrefixRequest, StorageProviderPlugin_SubscribePrefixServer) error
	// contains filtered or unexported methods
}

StorageProviderPluginServer is the server API for StorageProviderPlugin service. All implementations must embed UnimplementedStorageProviderPluginServer for forward compatibility

type StorageProviderPlugin_SubscribePrefixClient added in v0.4.0

type StorageProviderPlugin_SubscribePrefixClient interface {
	Recv() (*PrefixEvent, error)
	grpc.ClientStream
}

type StorageProviderPlugin_SubscribePrefixServer added in v0.4.0

type StorageProviderPlugin_SubscribePrefixServer interface {
	Send(*PrefixEvent) error
	grpc.ServerStream
}

type StorageQuerierPluginClient added in v0.4.0

type StorageQuerierPluginClient interface {
	// InjectQuerier is a stream opened by the node to faciliate read-write operations
	// against the mesh state. The signature is misleading, but it is required to be
	// able to stream the query results back to the node. The node will open a stream
	// to the plugin and send a PluginSQLQueryResult message for every query that is
	// received.
	InjectQuerier(ctx context.Context, opts ...grpc.CallOption) (StorageQuerierPlugin_InjectQuerierClient, error)
}

StorageQuerierPluginClient is the client API for StorageQuerierPlugin 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 NewStorageQuerierPluginClient added in v0.4.0

func NewStorageQuerierPluginClient(cc grpc.ClientConnInterface) StorageQuerierPluginClient

type StorageQuerierPluginServer added in v0.4.0

type StorageQuerierPluginServer interface {
	// InjectQuerier is a stream opened by the node to faciliate read-write operations
	// against the mesh state. The signature is misleading, but it is required to be
	// able to stream the query results back to the node. The node will open a stream
	// to the plugin and send a PluginSQLQueryResult message for every query that is
	// received.
	InjectQuerier(StorageQuerierPlugin_InjectQuerierServer) error
	// contains filtered or unexported methods
}

StorageQuerierPluginServer is the server API for StorageQuerierPlugin service. All implementations must embed UnimplementedStorageQuerierPluginServer for forward compatibility

type StorageQuerierPlugin_InjectQuerierClient added in v0.4.0

type StorageQuerierPlugin_InjectQuerierClient interface {
	Send(*PluginQueryResult) error
	Recv() (*PluginQuery, error)
	grpc.ClientStream
}

type StorageQuerierPlugin_InjectQuerierServer added in v0.4.0

type StorageQuerierPlugin_InjectQuerierServer interface {
	Send(*PluginQuery) error
	Recv() (*PluginQueryResult, error)
	grpc.ServerStream
}

type StorageQueryServiceClient added in v0.4.0

type StorageQueryServiceClient interface {
	// Query is used to query the mesh for information.
	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (StorageQueryService_QueryClient, error)
	// Publish is used to publish events to the mesh database. A restricted set
	// of keys are allowed to be published to. This is only available on nodes
	// that are able to provide storage.
	Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
	// Subscribe is used by non-storage-providing nodes to receive updates to the mesh state. This is only
	// available on nodes that are able to provide storage.
	Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (StorageQueryService_SubscribeClient, error)
}

StorageQueryServiceClient is the client API for StorageQueryService 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 NewStorageQueryServiceClient added in v0.4.0

func NewStorageQueryServiceClient(cc grpc.ClientConnInterface) StorageQueryServiceClient

type StorageQueryServiceServer added in v0.4.0

type StorageQueryServiceServer interface {
	// Query is used to query the mesh for information.
	Query(*QueryRequest, StorageQueryService_QueryServer) error
	// Publish is used to publish events to the mesh database. A restricted set
	// of keys are allowed to be published to. This is only available on nodes
	// that are able to provide storage.
	Publish(context.Context, *PublishRequest) (*PublishResponse, error)
	// Subscribe is used by non-storage-providing nodes to receive updates to the mesh state. This is only
	// available on nodes that are able to provide storage.
	Subscribe(*SubscribeRequest, StorageQueryService_SubscribeServer) error
	// contains filtered or unexported methods
}

StorageQueryServiceServer is the server API for StorageQueryService service. All implementations must embed UnimplementedStorageQueryServiceServer for forward compatibility

type StorageQueryService_QueryClient added in v0.4.0

type StorageQueryService_QueryClient interface {
	Recv() (*QueryResponse, error)
	grpc.ClientStream
}

type StorageQueryService_QueryServer added in v0.4.0

type StorageQueryService_QueryServer interface {
	Send(*QueryResponse) error
	grpc.ServerStream
}

type StorageQueryService_SubscribeClient added in v0.4.0

type StorageQueryService_SubscribeClient interface {
	Recv() (*SubscriptionEvent, error)
	grpc.ClientStream
}

type StorageQueryService_SubscribeServer added in v0.4.0

type StorageQueryService_SubscribeServer interface {
	Send(*SubscriptionEvent) error
	grpc.ServerStream
}

type StorageServer added in v0.3.0

type StorageServer struct {

	// ID is the ID of the server.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Suffrage is the suffrage of the server.
	Suffrage ClusterStatus `protobuf:"varint,2,opt,name=suffrage,proto3,enum=v1.ClusterStatus" json:"suffrage,omitempty"`
	// Address is the mesh address of the server.
	Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

StorageServer is a server in the Storage configuration.

func (*StorageServer) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageServer.ProtoReflect.Descriptor instead.

func (*StorageServer) GetAddress added in v0.4.0

func (x *StorageServer) GetAddress() string

func (*StorageServer) GetId added in v0.4.0

func (x *StorageServer) GetId() string

func (*StorageServer) GetSuffrage added in v0.4.0

func (x *StorageServer) GetSuffrage() ClusterStatus

func (*StorageServer) ProtoMessage added in v0.4.0

func (*StorageServer) ProtoMessage()

func (*StorageServer) ProtoReflect added in v0.4.0

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

func (*StorageServer) Reset added in v0.4.0

func (x *StorageServer) Reset()

func (*StorageServer) String added in v0.4.0

func (x *StorageServer) String() string

type StorageStatus added in v0.4.0

type StorageStatus struct {

	// IsWritable is true if the storage can currently be written to.
	IsWritable bool `protobuf:"varint,1,opt,name=is_writable,json=isWritable,proto3" json:"is_writable,omitempty"`
	// ClusterStatus is the status of the storage. The definitions applied
	// to each status are implementation specific.
	ClusterStatus ClusterStatus `protobuf:"varint,2,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// Peers is the list of servers that are currently recognized as peers
	// by the storage plugin.
	Peers []*StoragePeer `protobuf:"bytes,3,rep,name=peers,proto3" json:"peers,omitempty"`
	// message is an implementation specific message that can be used to provide
	// additional information about the storage status.
	Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

StorageStatus is the response object for the StorageStatus RPC.

func (*StorageStatus) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageStatus.ProtoReflect.Descriptor instead.

func (*StorageStatus) GetClusterStatus added in v0.4.0

func (x *StorageStatus) GetClusterStatus() ClusterStatus

func (*StorageStatus) GetIsWritable added in v0.4.0

func (x *StorageStatus) GetIsWritable() bool

func (*StorageStatus) GetMessage added in v0.4.0

func (x *StorageStatus) GetMessage() string

func (*StorageStatus) GetPeers added in v0.4.0

func (x *StorageStatus) GetPeers() []*StoragePeer

func (*StorageStatus) ProtoMessage added in v0.4.0

func (*StorageStatus) ProtoMessage()

func (*StorageStatus) ProtoReflect added in v0.4.0

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

func (*StorageStatus) Reset added in v0.4.0

func (x *StorageStatus) Reset()

func (*StorageStatus) String added in v0.4.0

func (x *StorageStatus) String() string

type StorageStatusRequest added in v0.4.0

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

StorageStatusRequest is the request object for the StorageStatus RPC.

func (*StorageStatusRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageStatusRequest.ProtoReflect.Descriptor instead.

func (*StorageStatusRequest) ProtoMessage added in v0.4.0

func (*StorageStatusRequest) ProtoMessage()

func (*StorageStatusRequest) ProtoReflect added in v0.4.0

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

func (*StorageStatusRequest) Reset added in v0.4.0

func (x *StorageStatusRequest) Reset()

func (*StorageStatusRequest) String added in v0.4.0

func (x *StorageStatusRequest) String() string

type StorageValue added in v0.4.0

type StorageValue struct {

	// Key is the key of the value.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Value is the value of the key.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

StorageValue is a value stored in the storage.

func (*StorageValue) Descriptor deprecated added in v0.4.0

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

Deprecated: Use StorageValue.ProtoReflect.Descriptor instead.

func (*StorageValue) GetKey added in v0.4.0

func (x *StorageValue) GetKey() string

func (*StorageValue) GetValue added in v0.4.0

func (x *StorageValue) GetValue() string

func (*StorageValue) ProtoMessage added in v0.4.0

func (*StorageValue) ProtoMessage()

func (*StorageValue) ProtoReflect added in v0.4.0

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

func (*StorageValue) Reset added in v0.4.0

func (x *StorageValue) Reset()

func (*StorageValue) String added in v0.4.0

func (x *StorageValue) 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 SubscribePeersRequest added in v0.3.0

type SubscribePeersRequest 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
}

SubscribePeersRequest is a request to subscribe to peer updates.

func (*SubscribePeersRequest) Descriptor deprecated added in v0.3.0

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

Deprecated: Use SubscribePeersRequest.ProtoReflect.Descriptor instead.

func (*SubscribePeersRequest) GetId added in v0.3.0

func (x *SubscribePeersRequest) GetId() string

func (*SubscribePeersRequest) ProtoMessage added in v0.3.0

func (*SubscribePeersRequest) ProtoMessage()

func (*SubscribePeersRequest) ProtoReflect added in v0.3.0

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

func (*SubscribePeersRequest) Reset added in v0.3.0

func (x *SubscribePeersRequest) Reset()

func (*SubscribePeersRequest) String added in v0.3.0

func (x *SubscribePeersRequest) String() string

type SubscribePrefixRequest added in v0.4.0

type SubscribePrefixRequest struct {

	// Prefix is the prefix to subscribe to.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

SubscribePrefixRequest is the request object for the SubscribePrefix RPC.

func (*SubscribePrefixRequest) Descriptor deprecated added in v0.4.0

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

Deprecated: Use SubscribePrefixRequest.ProtoReflect.Descriptor instead.

func (*SubscribePrefixRequest) GetPrefix added in v0.4.0

func (x *SubscribePrefixRequest) GetPrefix() string

func (*SubscribePrefixRequest) ProtoMessage added in v0.4.0

func (*SubscribePrefixRequest) ProtoMessage()

func (*SubscribePrefixRequest) ProtoReflect added in v0.4.0

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

func (*SubscribePrefixRequest) Reset added in v0.4.0

func (x *SubscribePrefixRequest) Reset()

func (*SubscribePrefixRequest) String added in v0.4.0

func (x *SubscribePrefixRequest) String() string

type SubscribeRequest added in v0.2.2

type SubscribeRequest struct {

	// prefix is the prefix of the events to subscribe to.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// contains filtered or unexported fields
}

SubscribeRequest is sent by the application to the node to subscribe to events. This currently only supports database events.

func (*SubscribeRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead.

func (*SubscribeRequest) GetPrefix added in v0.2.2

func (x *SubscribeRequest) GetPrefix() string

func (*SubscribeRequest) ProtoMessage added in v0.2.2

func (*SubscribeRequest) ProtoMessage()

func (*SubscribeRequest) ProtoReflect added in v0.2.2

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

func (*SubscribeRequest) Reset added in v0.2.2

func (x *SubscribeRequest) Reset()

func (*SubscribeRequest) String added in v0.2.2

func (x *SubscribeRequest) String() string

type SubscriptionEvent added in v0.2.2

type SubscriptionEvent struct {

	// key is the key of the event.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// value is the value of the event. This will be the raw value of the key.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

SubscriptionEvent is a message containing a subscription event.

func (*SubscriptionEvent) Descriptor deprecated added in v0.2.2

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

Deprecated: Use SubscriptionEvent.ProtoReflect.Descriptor instead.

func (*SubscriptionEvent) GetKey added in v0.2.2

func (x *SubscriptionEvent) GetKey() string

func (*SubscriptionEvent) GetValue added in v0.2.2

func (x *SubscriptionEvent) GetValue() string

func (*SubscriptionEvent) ProtoMessage added in v0.2.2

func (*SubscriptionEvent) ProtoMessage()

func (*SubscriptionEvent) ProtoReflect added in v0.2.2

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

func (*SubscriptionEvent) Reset added in v0.2.2

func (x *SubscriptionEvent) Reset()

func (*SubscriptionEvent) String added in v0.2.2

func (x *SubscriptionEvent) String() string

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 UnimplementedAppDaemonServer added in v0.2.2

type UnimplementedAppDaemonServer struct {
}

UnimplementedAppDaemonServer must be embedded to have forward compatible implementations.

func (UnimplementedAppDaemonServer) AnnounceDHT added in v0.2.4

func (UnimplementedAppDaemonServer) Connect added in v0.2.2

func (UnimplementedAppDaemonServer) Disconnect added in v0.2.2

func (UnimplementedAppDaemonServer) LeaveDHT added in v0.2.4

func (UnimplementedAppDaemonServer) Metrics added in v0.2.2

func (UnimplementedAppDaemonServer) Publish added in v0.2.2

func (UnimplementedAppDaemonServer) Query added in v0.2.2

func (UnimplementedAppDaemonServer) Status added in v0.2.2

func (UnimplementedAppDaemonServer) Subscribe added in v0.2.2

type UnimplementedAuthPluginServer added in v0.1.4

type UnimplementedAuthPluginServer struct {
}

UnimplementedAuthPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedAuthPluginServer) Authenticate added in v0.1.4

type UnimplementedIPAMPluginServer added in v0.1.4

type UnimplementedIPAMPluginServer struct {
}

UnimplementedIPAMPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedIPAMPluginServer) Allocate added in v0.1.4

func (UnimplementedIPAMPluginServer) Release added in v0.1.4

type UnimplementedMembershipServer added in v0.2.2

type UnimplementedMembershipServer struct {
}

UnimplementedMembershipServer must be embedded to have forward compatible implementations.

func (UnimplementedMembershipServer) Apply added in v0.2.2

func (UnimplementedMembershipServer) GetStorageConfiguration added in v0.4.0

func (UnimplementedMembershipServer) Join added in v0.2.2

func (UnimplementedMembershipServer) Leave added in v0.2.2

func (UnimplementedMembershipServer) SubscribePeers added in v0.3.0

func (UnimplementedMembershipServer) Update added in v0.2.2

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) NegotiateDataChannel

func (UnimplementedNodeServer) ReceiveSignalChannel added in v0.4.0

type UnimplementedPluginServer

type UnimplementedPluginServer struct {
}

UnimplementedPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedPluginServer) Close added in v0.1.4

func (UnimplementedPluginServer) Configure

func (UnimplementedPluginServer) GetInfo

type UnimplementedStorageProviderPluginServer added in v0.4.0

type UnimplementedStorageProviderPluginServer struct {
}

UnimplementedStorageProviderPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedStorageProviderPluginServer) AddObserver added in v0.4.0

func (UnimplementedStorageProviderPluginServer) AddVoter added in v0.4.0

func (UnimplementedStorageProviderPluginServer) Bootstrap added in v0.4.0

func (UnimplementedStorageProviderPluginServer) DeleteValue added in v0.4.0

func (UnimplementedStorageProviderPluginServer) DemoteVoter added in v0.4.0

func (UnimplementedStorageProviderPluginServer) GetLeader added in v0.4.0

func (UnimplementedStorageProviderPluginServer) GetStatus added in v0.4.0

func (UnimplementedStorageProviderPluginServer) GetValue added in v0.4.0

func (UnimplementedStorageProviderPluginServer) ListKeys added in v0.4.0

func (UnimplementedStorageProviderPluginServer) ListValues added in v0.4.0

func (UnimplementedStorageProviderPluginServer) PutValue added in v0.4.0

func (UnimplementedStorageProviderPluginServer) RemovePeer added in v0.4.0

func (UnimplementedStorageProviderPluginServer) SubscribePrefix added in v0.4.0

type UnimplementedStorageQuerierPluginServer added in v0.4.0

type UnimplementedStorageQuerierPluginServer struct {
}

UnimplementedStorageQuerierPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedStorageQuerierPluginServer) InjectQuerier added in v0.4.0

type UnimplementedStorageQueryServiceServer added in v0.4.0

type UnimplementedStorageQueryServiceServer struct {
}

UnimplementedStorageQueryServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedStorageQueryServiceServer) Publish added in v0.4.0

func (UnimplementedStorageQueryServiceServer) Query added in v0.4.0

func (UnimplementedStorageQueryServiceServer) Subscribe added in v0.4.0

type UnimplementedWatchPluginServer added in v0.1.4

type UnimplementedWatchPluginServer struct {
}

UnimplementedWatchPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedWatchPluginServer) Emit added in v0.1.4

type UnimplementedWebRTCServer

type UnimplementedWebRTCServer struct {
}

UnimplementedWebRTCServer must be embedded to have forward compatible implementations.

func (UnimplementedWebRTCServer) StartDataChannel

func (UnimplementedWebRTCServer) StartSignalChannel added in v0.4.0

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 UnsafeAppDaemonServer added in v0.2.2

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

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

type UnsafeAuthPluginServer added in v0.1.4

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

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

type UnsafeIPAMPluginServer added in v0.1.4

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

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

type UnsafeMembershipServer added in v0.2.2

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

UnsafeMembershipServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to MembershipServer 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 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 UnsafeStorageProviderPluginServer added in v0.4.0

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

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

type UnsafeStorageQuerierPluginServer added in v0.4.0

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

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

type UnsafeStorageQueryServiceServer added in v0.4.0

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

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

type UnsafeWatchPluginServer added in v0.1.4

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

UnsafeWatchPluginServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to WatchPluginServer 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 UpdateRequest added in v0.2.2

type UpdateRequest 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 key of the node to broadcast to peers.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,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,3,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,4,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,5,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,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,6,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,7,rep,name=routes,proto3" json:"routes,omitempty"`
	// features is a list of features supported by the node that should be advertised to peers
	// and the port they are available on.
	Features []*FeaturePort `protobuf:"bytes,8,rep,name=features,proto3" json:"features,omitempty"`
	// multiaddrs are libp2p multiaddresses this node is listening on.
	Multiaddrs []string `protobuf:"bytes,9,rep,name=multiaddrs,proto3" json:"multiaddrs,omitempty"`
	// contains filtered or unexported fields
}

UpdateRequest contains most of the same fields as JoinRequest, but is used to update the state of a node in the cluster.

func (*UpdateRequest) Descriptor deprecated added in v0.2.2

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

Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.

func (*UpdateRequest) GetAsVoter added in v0.2.2

func (x *UpdateRequest) GetAsVoter() bool

func (*UpdateRequest) GetFeatures added in v0.2.2

func (x *UpdateRequest) GetFeatures() []*FeaturePort

func (*UpdateRequest) GetId added in v0.2.2

func (x *UpdateRequest) GetId() string

func (*UpdateRequest) GetMultiaddrs added in v0.4.0

func (x *UpdateRequest) GetMultiaddrs() []string

func (*UpdateRequest) GetPrimaryEndpoint added in v0.2.2

func (x *UpdateRequest) GetPrimaryEndpoint() string

func (*UpdateRequest) GetPublicKey added in v0.2.2

func (x *UpdateRequest) GetPublicKey() string

func (*UpdateRequest) GetRoutes added in v0.2.2

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

func (*UpdateRequest) GetWireguardEndpoints added in v0.2.2

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

func (*UpdateRequest) GetZoneAwarenessId added in v0.2.2

func (x *UpdateRequest) GetZoneAwarenessId() string

func (*UpdateRequest) ProtoMessage added in v0.2.2

func (*UpdateRequest) ProtoMessage()

func (*UpdateRequest) ProtoReflect added in v0.2.2

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

func (*UpdateRequest) Reset added in v0.2.2

func (x *UpdateRequest) Reset()

func (*UpdateRequest) String added in v0.2.2

func (x *UpdateRequest) String() string

type UpdateResponse added in v0.2.2

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

UpdateResponse is a response to an update request. It is currently empty.

func (*UpdateResponse) Descriptor deprecated added in v0.2.2

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

Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.

func (*UpdateResponse) ProtoMessage added in v0.2.2

func (*UpdateResponse) ProtoMessage()

func (*UpdateResponse) ProtoReflect added in v0.2.2

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

func (*UpdateResponse) Reset added in v0.2.2

func (x *UpdateResponse) Reset()

func (*UpdateResponse) String added in v0.2.2

func (x *UpdateResponse) String() string

type WatchPluginClient added in v0.1.4

type WatchPluginClient interface {
	// Emit handles a watch event.
	Emit(ctx context.Context, in *Event, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

WatchPluginClient is the client API for WatchPlugin 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 NewWatchPluginClient added in v0.1.4

func NewWatchPluginClient(cc grpc.ClientConnInterface) WatchPluginClient

type WatchPluginServer added in v0.1.4

type WatchPluginServer interface {
	// Emit handles a watch event.
	Emit(context.Context, *Event) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

WatchPluginServer is the server API for WatchPlugin service. All implementations must embed UnimplementedWatchPluginServer for forward compatibility

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)
	// StartSignalChannel starts a signaling channel to a remote node. This can be used to
	// negotiate WebRTC connections both inside and outside of the mesh. Messages on the wire
	// are proxied to the remote node.
	StartSignalChannel(ctx context.Context, opts ...grpc.CallOption) (WebRTC_StartSignalChannelClient, 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
	// StartSignalChannel starts a signaling channel to a remote node. This can be used to
	// negotiate WebRTC connections both inside and outside of the mesh. Messages on the wire
	// are proxied to the remote node.
	StartSignalChannel(WebRTC_StartSignalChannelServer) error
	// contains filtered or unexported methods
}

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

type WebRTCSignal added in v0.4.0

type WebRTCSignal struct {

	// node_id is the ID of the node to send the signal to.
	// This is set by the original sender. On the node that
	// receives the ReceiveSignalChannel request, this will
	// be set to the ID of the node that sent the request.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// candidate is an ICE candidate.
	Candidate string `protobuf:"bytes,2,opt,name=candidate,proto3" json:"candidate,omitempty"`
	// description is a session description.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// contains filtered or unexported fields
}

WebRTCSignal is a signal sent to a remote peer over the WebRTC API.

func (*WebRTCSignal) Descriptor deprecated added in v0.4.0

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

Deprecated: Use WebRTCSignal.ProtoReflect.Descriptor instead.

func (*WebRTCSignal) GetCandidate added in v0.4.0

func (x *WebRTCSignal) GetCandidate() string

func (*WebRTCSignal) GetDescription added in v0.4.0

func (x *WebRTCSignal) GetDescription() string

func (*WebRTCSignal) GetNodeId added in v0.4.0

func (x *WebRTCSignal) GetNodeId() string

func (*WebRTCSignal) ProtoMessage added in v0.4.0

func (*WebRTCSignal) ProtoMessage()

func (*WebRTCSignal) ProtoReflect added in v0.4.0

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

func (*WebRTCSignal) Reset added in v0.4.0

func (x *WebRTCSignal) Reset()

func (*WebRTCSignal) String added in v0.4.0

func (x *WebRTCSignal) String() string

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 WebRTC_StartSignalChannelClient added in v0.4.0

type WebRTC_StartSignalChannelClient interface {
	Send(*WebRTCSignal) error
	Recv() (*WebRTCSignal, error)
	grpc.ClientStream
}

type WebRTC_StartSignalChannelServer added in v0.4.0

type WebRTC_StartSignalChannelServer interface {
	Send(*WebRTCSignal) error
	Recv() (*WebRTCSignal, error)
	grpc.ServerStream
}

type WireGuardPeer

type WireGuardPeer struct {

	// Node is information about this node.
	Node *MeshNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	// allowed_ips is the list of allowed IPs for the peer.
	AllowedIps []string `protobuf:"bytes,2,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,3,rep,name=allowed_routes,json=allowedRoutes,proto3" json:"allowed_routes,omitempty"`
	// proto indicates the protocol to use to connect to the peer.
	Proto ConnectProtocol `protobuf:"varint,4,opt,name=proto,proto3,enum=v1.ConnectProtocol" json:"proto,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) GetAllowedIps

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

func (*WireGuardPeer) GetAllowedRoutes

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

func (*WireGuardPeer) GetNode added in v0.4.0

func (x *WireGuardPeer) GetNode() *MeshNode

func (*WireGuardPeer) GetProto added in v0.4.0

func (x *WireGuardPeer) GetProto() ConnectProtocol

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