v1

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 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"
)
View Source
const (
	Membership_Join_FullMethodName                 = "/v1.Membership/Join"
	Membership_Update_FullMethodName               = "/v1.Membership/Update"
	Membership_Leave_FullMethodName                = "/v1.Membership/Leave"
	Membership_Apply_FullMethodName                = "/v1.Membership/Apply"
	Membership_GetRaftConfiguration_FullMethodName = "/v1.Membership/GetRaftConfiguration"
)
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_Query_FullMethodName                = "/v1.Node/Query"
	Node_Publish_FullMethodName              = "/v1.Node/Publish"
	Node_Subscribe_FullMethodName            = "/v1.Node/Subscribe"
	Node_NegotiateDataChannel_FullMethodName = "/v1.Node/NegotiateDataChannel"
)
View Source
const (
	Plugin_GetInfo_FullMethodName       = "/v1.Plugin/GetInfo"
	Plugin_Configure_FullMethodName     = "/v1.Plugin/Configure"
	Plugin_InjectQuerier_FullMethodName = "/v1.Plugin/InjectQuerier"
	Plugin_Close_FullMethodName         = "/v1.Plugin/Close"
)
View Source
const (
	StoragePlugin_Store_FullMethodName           = "/v1.StoragePlugin/Store"
	StoragePlugin_RestoreSnapshot_FullMethodName = "/v1.StoragePlugin/RestoreSnapshot"
)
View Source
const (
	IPAMPlugin_Allocate_FullMethodName = "/v1.IPAMPlugin/Allocate"
	IPAMPlugin_Release_FullMethodName  = "/v1.IPAMPlugin/Release"
)
View Source
const (
	AuthPlugin_Authenticate_FullMethodName = "/v1.AuthPlugin/Authenticate"
)
View Source
const (
	PeerDiscovery_ListPeers_FullMethodName = "/v1.PeerDiscovery/ListPeers"
)
View Source
const (
	WatchPlugin_Emit_FullMethodName = "/v1.WatchPlugin/Emit"
)
View Source
const (
	WebRTC_StartDataChannel_FullMethodName = "/v1.WebRTC/StartDataChannel"
)

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 (
	EdgeAttributes_name = map[int32]string{
		0: "EDGE_ATTRIBUTE_UNKNOWN",
		1: "EDGE_ATTRIBUTE_ICE",
	}
	EdgeAttributes_value = map[string]int32{
		"EDGE_ATTRIBUTE_UNKNOWN": 0,
		"EDGE_ATTRIBUTE_ICE":     1,
	}
)

Enum value maps for EdgeAttributes.

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

Enum value maps for ACLAction.

View Source
var (
	ClusterStatus_name = map[int32]string{
		0: "CLUSTER_STATUS_UNKNOWN",
		1: "CLUSTER_LEADER",
		2: "CLUSTER_VOTER",
		3: "CLUSTER_NON_VOTER",
		4: "CLUSTER_NODE",
	}
	ClusterStatus_value = map[string]int32{
		"CLUSTER_STATUS_UNKNOWN": 0,
		"CLUSTER_LEADER":         1,
		"CLUSTER_VOTER":          2,
		"CLUSTER_NON_VOTER":      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:  "PEER_DISCOVERY",
		6:  "METRICS",
		7:  "ICE_NEGOTIATION",
		8:  "TURN_SERVER",
		9:  "MESH_DNS",
		10: "FORWARD_MESH_DNS",
	}
	Feature_value = map[string]int32{
		"FEATURE_NONE":     0,
		"NODES":            1,
		"LEADER_PROXY":     2,
		"MESH_API":         3,
		"ADMIN_API":        4,
		"PEER_DISCOVERY":   5,
		"METRICS":          6,
		"ICE_NEGOTIATION":  7,
		"TURN_SERVER":      8,
		"MESH_DNS":         9,
		"FORWARD_MESH_DNS": 10,
	}
)

Enum value maps for Feature.

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

Enum value maps for DataChannel.

View Source
var (
	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 (
	PluginCapability_name = map[int32]string{
		0: "PLUGIN_CAPABILITY_UNKNOWN",
		1: "PLUGIN_CAPABILITY_STORE",
		2: "PLUGIN_CAPABILITY_AUTH",
		3: "PLUGIN_CAPABILITY_WATCH",
		4: "PLUGIN_CAPABILITY_IPAMV4",
		5: "PLUGIN_CAPABILITY_IPAMV6",
	}
	PluginCapability_value = map[string]int32{
		"PLUGIN_CAPABILITY_UNKNOWN": 0,
		"PLUGIN_CAPABILITY_STORE":   1,
		"PLUGIN_CAPABILITY_AUTH":    2,
		"PLUGIN_CAPABILITY_WATCH":   3,
		"PLUGIN_CAPABILITY_IPAMV4":  4,
		"PLUGIN_CAPABILITY_IPAMV6":  5,
	}
)

Enum value maps for PluginCapability.

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

Enum value maps for WatchEvent.

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

Enum value maps for PluginQuery_QueryCommand.

View Source
var (
	AllocateIPRequest_IPVersion_name = map[int32]string{
		0: "IP_VERSION_UNKNOWN",
		4: "IP_VERSION_4",
		6: "IP_VERSION_6",
	}
	AllocateIPRequest_IPVersion_value = map[string]int32{
		"IP_VERSION_UNKNOWN": 0,
		"IP_VERSION_4":       4,
		"IP_VERSION_6":       6,
	}
)

Enum value maps for AllocateIPRequest_IPVersion.

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 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,
		},
	},
	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_peer_discovery_proto protoreflect.FileDescriptor
View Source
var File_v1_plugin_proto protoreflect.FileDescriptor
View Source
var File_v1_raft_proto protoreflect.FileDescriptor
View Source
var File_v1_rbac_proto protoreflect.FileDescriptor
View Source
var File_v1_webrtc_proto protoreflect.FileDescriptor
View Source
var 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: "GetRaftConfiguration",
			Handler:    _Membership_GetRaftConfiguration_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	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,
		},
		{
			MethodName: "Publish",
			Handler:    _Node_Publish_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Query",
			Handler:       _Node_Query_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _Node_Subscribe_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "NegotiateDataChannel",
			Handler:       _Node_NegotiateDataChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "v1/node.proto",
}

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

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

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

View Source
var Plugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.Plugin",
	HandlerType: (*PluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetInfo",
			Handler:    _Plugin_GetInfo_Handler,
		},
		{
			MethodName: "Configure",
			Handler:    _Plugin_Configure_Handler,
		},
		{
			MethodName: "Close",
			Handler:    _Plugin_Close_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "InjectQuerier",
			Handler:       _Plugin_InjectQuerier_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	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 StoragePlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "v1.StoragePlugin",
	HandlerType: (*StoragePluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Store",
			Handler:    _StoragePlugin_Store_Handler,
		},
		{
			MethodName: "RestoreSnapshot",
			Handler:    _StoragePlugin_RestoreSnapshot_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/plugin.proto",
}

StoragePlugin_ServiceDesc is the grpc.ServiceDesc for StoragePlugin 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,
		},
	},
	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 RegisterPeerDiscoveryServer

func RegisterPeerDiscoveryServer(s grpc.ServiceRegistrar, srv PeerDiscoveryServer)

func RegisterPluginServer

func RegisterPluginServer(s grpc.ServiceRegistrar, srv PluginServer)

func RegisterStoragePluginServer added in v0.1.4

func RegisterStoragePluginServer(s grpc.ServiceRegistrar, srv StoragePluginServer)

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 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"`
	// version is the IP version that should be allocated.
	Version AllocateIPRequest_IPVersion `protobuf:"varint,3,opt,name=version,proto3,enum=v1.AllocateIPRequest_IPVersion" json:"version,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) GetVersion added in v0.1.4

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

type AllocateIPRequest_IPVersion int32
const (
	// IP_VERSION_UNKNOWN is the default value of IPVersion.
	AllocateIPRequest_IP_VERSION_UNKNOWN AllocateIPRequest_IPVersion = 0
	// IP_VERSION_4 indicates that an IPv4 address should be allocated.
	AllocateIPRequest_IP_VERSION_4 AllocateIPRequest_IPVersion = 4
	// IP_VERSION_6 indicates that an IPv6 address should be allocated.
	AllocateIPRequest_IP_VERSION_6 AllocateIPRequest_IPVersion = 6
)

func (AllocateIPRequest_IPVersion) Descriptor added in v0.1.4

func (AllocateIPRequest_IPVersion) Enum added in v0.1.4

func (AllocateIPRequest_IPVersion) EnumDescriptor deprecated added in v0.1.4

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

Deprecated: Use AllocateIPRequest_IPVersion.Descriptor instead.

func (AllocateIPRequest_IPVersion) Number added in v0.1.4

func (AllocateIPRequest_IPVersion) String added in v0.1.4

func (AllocateIPRequest_IPVersion) Type added in v0.1.4

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 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) (*emptypb.Empty, 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) (*emptypb.Empty, 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 ClusterStatus

type ClusterStatus int32

ClusterStatus is the status of the node in the cluster.

const (
	// CLUSTER_STATUS_UNKNOWN is the default status.
	ClusterStatus_CLUSTER_STATUS_UNKNOWN ClusterStatus = 0
	// CLUSTER_LEADER is the status for the leader node.
	ClusterStatus_CLUSTER_LEADER ClusterStatus = 1
	// CLUSTER_VOTER is the status for a voter node.
	ClusterStatus_CLUSTER_VOTER ClusterStatus = 2
	// CLUSTER_NON_VOTER is the status for a non-voter node.
	ClusterStatus_CLUSTER_NON_VOTER ClusterStatus = 3
	// CLUSTER_NODE is the status of a node that is not a part
	// of the raft cluster.
	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 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"`
	// 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) 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 DataSnapshot added in v0.1.3

type DataSnapshot struct {

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

DataSnapshot is the message containing a snapshot of the data.

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

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

Deprecated: Use DataSnapshot.ProtoReflect.Descriptor instead.

func (*DataSnapshot) GetData added in v0.1.3

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

func (*DataSnapshot) GetIndex added in v0.1.3

func (x *DataSnapshot) GetIndex() uint64

func (*DataSnapshot) GetTerm added in v0.1.3

func (x *DataSnapshot) GetTerm() uint64

func (*DataSnapshot) ProtoMessage added in v0.1.3

func (*DataSnapshot) ProtoMessage()

func (*DataSnapshot) ProtoReflect added in v0.1.3

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

func (*DataSnapshot) Reset added in v0.1.3

func (x *DataSnapshot) Reset()

func (*DataSnapshot) String added in v0.1.3

func (x *DataSnapshot) String() string

type 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 EdgeAttributes added in v0.1.3

type EdgeAttributes int32

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

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

func (EdgeAttributes) Descriptor added in v0.1.3

func (EdgeAttributes) Enum added in v0.1.3

func (x EdgeAttributes) Enum() *EdgeAttributes

func (EdgeAttributes) EnumDescriptor deprecated added in v0.1.3

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

Deprecated: Use EdgeAttributes.Descriptor instead.

func (EdgeAttributes) Number added in v0.1.3

func (EdgeAttributes) String added in v0.1.3

func (x EdgeAttributes) String() string

func (EdgeAttributes) Type added in v0.1.3

type Event

type Event struct {

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

Event is the message containing a watch event.

func (*Event) Descriptor deprecated

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

Deprecated: Use Event.ProtoReflect.Descriptor instead.

func (*Event) GetEvent

func (m *Event) GetEvent() isEvent_Event

func (*Event) GetNode

func (x *Event) GetNode() *MeshNode

func (*Event) GetType

func (x *Event) GetType() WatchEvent

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) ProtoReflect

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

func (*Event) Reset

func (x *Event) Reset()

func (*Event) String

func (x *Event) String() string

type Event_Node

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

type Feature

type Feature int32

Feature is a list of features supported by a node.

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

func (Feature) Descriptor

func (Feature) Descriptor() protoreflect.EnumDescriptor

func (Feature) Enum

func (x Feature) Enum() *Feature

func (Feature) EnumDescriptor deprecated

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

Deprecated: Use Feature.Descriptor instead.

func (Feature) Number

func (x Feature) Number() protoreflect.EnumNumber

func (Feature) String

func (x Feature) String() string

func (Feature) Type

func (Feature) Type() protoreflect.EnumType

type GetNodeRequest

type GetNodeRequest struct {

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

GetNodeRequest is a request to get a node.

func (*GetNodeRequest) Descriptor deprecated

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

Deprecated: Use GetNodeRequest.ProtoReflect.Descriptor instead.

func (*GetNodeRequest) GetId

func (x *GetNodeRequest) GetId() string

func (*GetNodeRequest) ProtoMessage

func (*GetNodeRequest) ProtoMessage()

func (*GetNodeRequest) ProtoReflect

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

func (*GetNodeRequest) Reset

func (x *GetNodeRequest) Reset()

func (*GetNodeRequest) String

func (x *GetNodeRequest) String() string

type GetStatusRequest

type GetStatusRequest struct {

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

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

func (*GetStatusRequest) Descriptor deprecated

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

Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead.

func (*GetStatusRequest) GetId

func (x *GetStatusRequest) GetId() string

func (*GetStatusRequest) ProtoMessage

func (*GetStatusRequest) ProtoMessage()

func (*GetStatusRequest) ProtoReflect

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

func (*GetStatusRequest) Reset

func (x *GetStatusRequest) Reset()

func (*GetStatusRequest) String

func (x *GetStatusRequest) String() string

type Group

type Group struct {

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

Group is a group of subjects.

func (*Group) Descriptor deprecated

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

Deprecated: Use Group.ProtoReflect.Descriptor instead.

func (*Group) GetName

func (x *Group) GetName() string

func (*Group) GetSubjects

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

func (*Group) ProtoMessage

func (*Group) ProtoMessage()

func (*Group) ProtoReflect

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

func (*Group) Reset

func (x *Group) Reset()

func (*Group) String

func (x *Group) String() string

type Groups

type Groups struct {

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

Groups is a list of groups.

func (*Groups) Descriptor deprecated

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

Deprecated: Use Groups.ProtoReflect.Descriptor instead.

func (*Groups) GetItems

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

func (*Groups) ProtoMessage

func (*Groups) ProtoMessage()

func (*Groups) ProtoReflect

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

func (*Groups) Reset

func (x *Groups) Reset()

func (*Groups) String

func (x *Groups) String() string

type 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 wireguard key of the node to broadcast to peers.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// raft_port is the Raft listen port of the node.
	RaftPort int32 `protobuf:"varint,3,opt,name=raft_port,json=raftPort,proto3" json:"raft_port,omitempty"`
	// grpc_port is the gRPC listen port of the node.
	GrpcPort int32 `protobuf:"varint,4,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	// meshdns_port is the port the node wishes to advertise to offer DNS to other peers.
	// a value of 0 indicates the node does not wish to offer DNS. ports are currently
	// assumed to be UDP.
	MeshdnsPort int32 `protobuf:"varint,5,opt,name=meshdns_port,json=meshdnsPort,proto3" json:"meshdns_port,omitempty"`
	// primary_endpoint is a routable address for the node. If left unset,
	// the node is assumed to be behind a NAT and not directly accessible.
	PrimaryEndpoint string `protobuf:"bytes,6,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints is a list of WireGuard endpoints for the node.
	WireguardEndpoints []string `protobuf:"bytes,7,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the node.
	ZoneAwarenessId string `protobuf:"bytes,8,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// assign_ipv4 is whether an IPv4 address should be assigned to the node.
	AssignIpv4 bool `protobuf:"varint,9,opt,name=assign_ipv4,json=assignIpv4,proto3" json:"assign_ipv4,omitempty"`
	// prefer_raft_ipv6 is whether IPv6 should be preferred over IPv4 for raft communication.
	// This is only used if assign_ipv4 is true.
	PreferRaftIpv6 bool `protobuf:"varint,10,opt,name=prefer_raft_ipv6,json=preferRaftIpv6,proto3" json:"prefer_raft_ipv6,omitempty"`
	// as_voter is whether the node should receive a vote in elections. The request
	// will be denied if the node is not allowed to vote.
	AsVoter bool `protobuf:"varint,11,opt,name=as_voter,json=asVoter,proto3" json:"as_voter,omitempty"`
	// as_observer is whether the node should be added as an observer. They will receive
	// updates to the raft log, but not be able to vote in elections.
	AsObserver bool `protobuf:"varint,12,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,13,rep,name=routes,proto3" json:"routes,omitempty"`
	// direct_peers is a list of extra peers that should be connected to directly over ICE.
	// The request will be denied if the node is not allowed to put data channels or edges.
	// The default joining behavior creates non-ICE links between the caller and the joiner.
	// If the caller has a primary endpoint, the joiner will link the caller to all
	// other nodes with a primary endpoint. If the caller has a zone awareness ID,
	// the joiner will link the caller to all other nodes with the same zone awareness ID
	// that also have a primary endpoint.
	DirectPeers []string `protobuf:"bytes,14,rep,name=direct_peers,json=directPeers,proto3" json:"direct_peers,omitempty"`
	// features is a list of features supported by the node that should be advertised to peers.
	Features []Feature `protobuf:"varint,15,rep,packed,name=features,proto3,enum=v1.Feature" json:"features,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() []string

func (*JoinRequest) GetFeatures added in v0.2.1

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

func (*JoinRequest) GetGrpcPort

func (x *JoinRequest) GetGrpcPort() int32

func (*JoinRequest) GetId

func (x *JoinRequest) GetId() string

func (*JoinRequest) GetMeshdnsPort added in v0.2.1

func (x *JoinRequest) GetMeshdnsPort() int32

func (*JoinRequest) GetPreferRaftIpv6

func (x *JoinRequest) GetPreferRaftIpv6() bool

func (*JoinRequest) GetPrimaryEndpoint

func (x *JoinRequest) GetPrimaryEndpoint() string

func (*JoinRequest) GetPublicKey

func (x *JoinRequest) GetPublicKey() string

func (*JoinRequest) GetRaftPort

func (x *JoinRequest) GetRaftPort() int32

func (*JoinRequest) GetRoutes

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

func (*JoinRequest) GetWireguardEndpoints

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

func (*JoinRequest) GetZoneAwarenessId

func (x *JoinRequest) GetZoneAwarenessId() string

func (*JoinRequest) ProtoMessage

func (*JoinRequest) ProtoMessage()

func (*JoinRequest) ProtoReflect

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

func (*JoinRequest) Reset

func (x *JoinRequest) Reset()

func (*JoinRequest) String

func (x *JoinRequest) String() string

type JoinResponse

type JoinResponse struct {

	// address_ipv4 is the private IPv4 wireguard address of the node
	// in CIDR format representing the network. This is only set if
	// assign_ipv4 was set in the request or no network_ipv6 was provided.
	// The bits are set to the network bits of the Mesh IPv4 network.
	AddressIpv4 string `protobuf:"bytes,1,opt,name=address_ipv4,json=addressIpv4,proto3" json:"address_ipv4,omitempty"`
	// address_ipv6 is the IPv6 network assigned to the node.
	AddressIpv6 string `protobuf:"bytes,2,opt,name=address_ipv6,json=addressIpv6,proto3" json:"address_ipv6,omitempty"`
	// network_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 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 ListRaftPeersResponse

type ListRaftPeersResponse struct {

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

ListRaftPeersResponse is the response to ListPeers.

func (*ListRaftPeersResponse) Descriptor deprecated

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

Deprecated: Use ListRaftPeersResponse.ProtoReflect.Descriptor instead.

func (*ListRaftPeersResponse) GetPeers

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

func (*ListRaftPeersResponse) ProtoMessage

func (*ListRaftPeersResponse) ProtoMessage()

func (*ListRaftPeersResponse) ProtoReflect

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

func (*ListRaftPeersResponse) Reset

func (x *ListRaftPeersResponse) Reset()

func (*ListRaftPeersResponse) String

func (x *ListRaftPeersResponse) String() string

type 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)
	// 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.
	Apply(ctx context.Context, in *RaftLogEntry, opts ...grpc.CallOption) (*RaftApplyResponse, error)
	// GetRaftConfiguration returns the current Raft configuration.
	GetRaftConfiguration(ctx context.Context, in *RaftConfigurationRequest, opts ...grpc.CallOption) (*RaftConfigurationResponse, 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)
	// 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.
	Apply(context.Context, *RaftLogEntry) (*RaftApplyResponse, error)
	// GetRaftConfiguration returns the current Raft configuration.
	GetRaftConfiguration(context.Context, *RaftConfigurationRequest) (*RaftConfigurationResponse, error)
	// contains filtered or unexported methods
}

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

type MeshClient

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

MeshClient is the client API for Mesh service.

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

func NewMeshClient

func NewMeshClient(cc grpc.ClientConnInterface) MeshClient

type MeshEdge

type MeshEdge struct {

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

MeshEdge is an edge between two nodes.

func (*MeshEdge) Descriptor deprecated

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

Deprecated: Use MeshEdge.ProtoReflect.Descriptor instead.

func (*MeshEdge) GetAttributes added in v0.1.3

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

func (*MeshEdge) GetSource

func (x *MeshEdge) GetSource() string

func (*MeshEdge) GetTarget

func (x *MeshEdge) GetTarget() string

func (*MeshEdge) GetWeight

func (x *MeshEdge) GetWeight() int32

func (*MeshEdge) ProtoMessage

func (*MeshEdge) ProtoMessage()

func (*MeshEdge) ProtoReflect

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

func (*MeshEdge) Reset

func (x *MeshEdge) Reset()

func (*MeshEdge) String

func (x *MeshEdge) String() string

type MeshEdges added in v0.1.3

type MeshEdges struct {

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

MeshEdges is a list of edges.

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

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

Deprecated: Use MeshEdges.ProtoReflect.Descriptor instead.

func (*MeshEdges) GetItems added in v0.1.3

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

func (*MeshEdges) ProtoMessage added in v0.1.3

func (*MeshEdges) ProtoMessage()

func (*MeshEdges) ProtoReflect added in v0.1.3

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

func (*MeshEdges) Reset added in v0.1.3

func (x *MeshEdges) Reset()

func (*MeshEdges) String added in v0.1.3

func (x *MeshEdges) String() string

type MeshGraph

type MeshGraph struct {

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

MeshGraph is a graph of nodes.

func (*MeshGraph) Descriptor deprecated

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

Deprecated: Use MeshGraph.ProtoReflect.Descriptor instead.

func (*MeshGraph) GetDot

func (x *MeshGraph) GetDot() string

func (*MeshGraph) GetEdges

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

func (*MeshGraph) GetNodes

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

func (*MeshGraph) ProtoMessage

func (*MeshGraph) ProtoMessage()

func (*MeshGraph) ProtoReflect

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

func (*MeshGraph) Reset

func (x *MeshGraph) Reset()

func (*MeshGraph) String

func (x *MeshGraph) String() string

type MeshNode

type MeshNode struct {

	// id is the ID of the node.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// primary_endpoint is the primary endpoint of the node.
	PrimaryEndpoint string `protobuf:"bytes,2,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints is a list of WireGuard endpoints for the node.
	WireguardEndpoints []string `protobuf:"bytes,3,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the node.
	ZoneAwarenessId string `protobuf:"bytes,4,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// raft_port is the Raft listen port of the node.
	RaftPort int32 `protobuf:"varint,5,opt,name=raft_port,json=raftPort,proto3" json:"raft_port,omitempty"`
	// grpc_port is the gRPC listen port of the node.
	GrpcPort int32 `protobuf:"varint,6,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	// meshdns_port is the port the node advertises to offer DNS to other peers.
	// a value of 0 means the node does not offer DNS. ports are currently
	// assumed to be UDP.
	MeshdnsPort int32 `protobuf:"varint,7,opt,name=meshdns_port,json=meshdnsPort,proto3" json:"meshdns_port,omitempty"`
	// public_key is the public key of the node.
	PublicKey string `protobuf:"bytes,8,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// private_ipv4 is the private IPv4 address of the node.
	PrivateIpv4 string `protobuf:"bytes,9,opt,name=private_ipv4,json=privateIpv4,proto3" json:"private_ipv4,omitempty"`
	// private_ipv6 is the private IPv6 address of the node.
	PrivateIpv6 string `protobuf:"bytes,10,opt,name=private_ipv6,json=privateIpv6,proto3" json:"private_ipv6,omitempty"`
	// features is a list of features supported by the node.
	Features []Feature `protobuf:"varint,11,rep,packed,name=features,proto3,enum=v1.Feature" json:"features,omitempty"`
	// updated_at is the last time the node joined the cluster.
	UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// created_at is the creation time for the node.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// cluster_status is the status of the node in the cluster.
	ClusterStatus ClusterStatus `protobuf:"varint,14,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// contains filtered or unexported fields
}

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

func (*MeshNode) Descriptor deprecated

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

Deprecated: Use MeshNode.ProtoReflect.Descriptor instead.

func (*MeshNode) GetClusterStatus

func (x *MeshNode) GetClusterStatus() ClusterStatus

func (*MeshNode) GetCreatedAt

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

func (*MeshNode) GetFeatures added in v0.2.1

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

func (*MeshNode) GetGrpcPort

func (x *MeshNode) GetGrpcPort() int32

func (*MeshNode) GetId

func (x *MeshNode) GetId() string

func (*MeshNode) GetMeshdnsPort added in v0.2.1

func (x *MeshNode) GetMeshdnsPort() int32

func (*MeshNode) GetPrimaryEndpoint

func (x *MeshNode) GetPrimaryEndpoint() string

func (*MeshNode) GetPrivateIpv4

func (x *MeshNode) GetPrivateIpv4() string

func (*MeshNode) GetPrivateIpv6

func (x *MeshNode) GetPrivateIpv6() string

func (*MeshNode) GetPublicKey

func (x *MeshNode) GetPublicKey() string

func (*MeshNode) GetRaftPort

func (x *MeshNode) GetRaftPort() int32

func (*MeshNode) GetUpdatedAt

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

func (*MeshNode) GetWireguardEndpoints

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

func (*MeshNode) GetZoneAwarenessId

func (x *MeshNode) GetZoneAwarenessId() string

func (*MeshNode) ProtoMessage

func (*MeshNode) ProtoMessage()

func (*MeshNode) ProtoReflect

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

func (*MeshNode) Reset

func (x *MeshNode) Reset()

func (*MeshNode) String

func (x *MeshNode) String() string

type MeshServer

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

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

type 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:".
	SourceNodes []string `protobuf:"bytes,4,rep,name=source_nodes,json=sourceNodes,proto3" json:"source_nodes,omitempty"`
	// destination_nodes is a list of destination nodes to match against. If empty, all nodes are matched.
	DestinationNodes []string `protobuf:"bytes,5,rep,name=destination_nodes,json=destinationNodes,proto3" json:"destination_nodes,omitempty"`
	// source_cidrs is a list of source CIDRs to match against. If empty, all CIDRs are matched.
	SourceCidrs []string `protobuf:"bytes,6,rep,name=source_cidrs,json=sourceCidrs,proto3" json:"source_cidrs,omitempty"`
	// destination_cidrs is a list of destination CIDRs to match against. If empty, all CIDRs are matched.
	DestinationCidrs []string `protobuf:"bytes,7,rep,name=destination_cidrs,json=destinationCidrs,proto3" json:"destination_cidrs,omitempty"`
	// protocols is a list of protocols to match against. If empty, all protocols are matched.
	// Protocols can be specified by name or number.
	Protocols []string `protobuf:"bytes,8,rep,name=protocols,proto3" json:"protocols,omitempty"`
	// ports is a list of ports to match against. If empty, all ports are matched.
	Ports []uint32 `protobuf:"varint,9,rep,packed,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

NetworkACL is a network ACL.

func (*NetworkACL) Descriptor deprecated

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

Deprecated: Use NetworkACL.ProtoReflect.Descriptor instead.

func (*NetworkACL) GetAction

func (x *NetworkACL) GetAction() ACLAction

func (*NetworkACL) GetDestinationCidrs

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

func (*NetworkACL) GetDestinationNodes

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

func (*NetworkACL) GetName

func (x *NetworkACL) GetName() string

func (*NetworkACL) GetPorts

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

func (*NetworkACL) GetPriority

func (x *NetworkACL) GetPriority() int32

func (*NetworkACL) GetProtocols

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

func (*NetworkACL) GetSourceCidrs

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

func (*NetworkACL) GetSourceNodes

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

func (*NetworkACL) ProtoMessage

func (*NetworkACL) ProtoMessage()

func (*NetworkACL) ProtoReflect

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

func (*NetworkACL) Reset

func (x *NetworkACL) Reset()

func (*NetworkACL) String

func (x *NetworkACL) String() string

type NetworkACLs

type NetworkACLs struct {

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

NetworkACLs is a list of network ACLs.

func (*NetworkACLs) Descriptor deprecated

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

Deprecated: Use NetworkACLs.ProtoReflect.Descriptor instead.

func (*NetworkACLs) GetItems

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

func (*NetworkACLs) ProtoMessage

func (*NetworkACLs) ProtoMessage()

func (*NetworkACLs) ProtoReflect

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

func (*NetworkACLs) Reset

func (x *NetworkACLs) Reset()

func (*NetworkACLs) String

func (x *NetworkACLs) String() string

type NetworkAction

type NetworkAction struct {

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

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

func (*NetworkAction) Descriptor deprecated

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

Deprecated: Use NetworkAction.ProtoReflect.Descriptor instead.

func (*NetworkAction) GetDstCidr

func (x *NetworkAction) GetDstCidr() string

func (*NetworkAction) GetDstNode

func (x *NetworkAction) GetDstNode() string

func (*NetworkAction) GetPort

func (x *NetworkAction) GetPort() uint32

func (*NetworkAction) GetProtocol

func (x *NetworkAction) GetProtocol() string

func (*NetworkAction) GetSrcCidr

func (x *NetworkAction) GetSrcCidr() string

func (*NetworkAction) GetSrcNode

func (x *NetworkAction) GetSrcNode() string

func (*NetworkAction) ProtoMessage

func (*NetworkAction) ProtoMessage()

func (*NetworkAction) ProtoReflect

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

func (*NetworkAction) Reset

func (x *NetworkAction) Reset()

func (*NetworkAction) String

func (x *NetworkAction) String() string

type NodeClient

type NodeClient interface {
	// GetStatus gets the status of a node in the cluster.
	GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, error)
	// Query is used to query the mesh for information.
	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (Node_QueryClient, 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)
	// Subscribe is used by non-raft nodes to receive updates to the mesh state. This is only
	// available on nodes that are members of the raft cluster.
	Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (Node_SubscribeClient, error)
	// NegotiateDataChannel is used to negotiate a WebRTC connection between a webmesh client
	// and a node in the cluster. The handling server will send the target node the source address,
	// the destination for traffic, and STUN/TURN servers to use for the negotiation. The node
	// responds with an offer to be forwarded to the client. When the handler receives an answer
	// from the client, it forwards it to the node. Once the node receives the answer, the stream
	// can optionally be used to exchange ICE candidates.
	NegotiateDataChannel(ctx context.Context, opts ...grpc.CallOption) (Node_NegotiateDataChannelClient, error)
}

NodeClient is the client API for Node service.

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

func NewNodeClient

func NewNodeClient(cc grpc.ClientConnInterface) NodeClient

type NodeList

type NodeList struct {

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

NodeList is a list of nodes.

func (*NodeList) Descriptor deprecated

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

Deprecated: Use NodeList.ProtoReflect.Descriptor instead.

func (*NodeList) GetNodes

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

func (*NodeList) ProtoMessage

func (*NodeList) ProtoMessage()

func (*NodeList) ProtoReflect

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

func (*NodeList) Reset

func (x *NodeList) Reset()

func (*NodeList) String

func (x *NodeList) String() string

type NodeServer

type NodeServer interface {
	// GetStatus gets the status of a node in the cluster.
	GetStatus(context.Context, *GetStatusRequest) (*Status, error)
	// Query is used to query the mesh for information.
	Query(*QueryRequest, Node_QueryServer) 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)
	// Subscribe is used by non-raft nodes to receive updates to the mesh state. This is only
	// available on nodes that are members of the raft cluster.
	Subscribe(*SubscribeRequest, Node_SubscribeServer) error
	// NegotiateDataChannel is used to negotiate a WebRTC connection between a webmesh client
	// and a node in the cluster. The handling server will send the target node the source address,
	// the destination for traffic, and STUN/TURN servers to use for the negotiation. The node
	// responds with an offer to be forwarded to the client. When the handler receives an answer
	// from the client, it forwards it to the node. Once the node receives the answer, the stream
	// can optionally be used to exchange ICE candidates.
	NegotiateDataChannel(Node_NegotiateDataChannelServer) error
	// contains filtered or unexported methods
}

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

type Node_NegotiateDataChannelClient

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

type Node_NegotiateDataChannelServer

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

type Node_QueryClient added in v0.2.2

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

type Node_QueryServer added in v0.2.2

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

type Node_SubscribeClient added in v0.2.2

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

type Node_SubscribeServer added in v0.2.2

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

type PeerDiscoveryClient

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

PeerDiscoveryClient is the client API for PeerDiscovery service.

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

type PeerDiscoveryServer

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

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

type PeerMetrics

type PeerMetrics struct {

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

PeerMetrics are the metrics for a node's peer.

func (*PeerMetrics) Descriptor deprecated

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

Deprecated: Use PeerMetrics.ProtoReflect.Descriptor instead.

func (*PeerMetrics) GetAllowedIps

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

func (*PeerMetrics) GetEndpoint

func (x *PeerMetrics) GetEndpoint() string

func (*PeerMetrics) GetLastHandshakeTime

func (x *PeerMetrics) GetLastHandshakeTime() string

func (*PeerMetrics) GetPersistentKeepAlive

func (x *PeerMetrics) GetPersistentKeepAlive() string

func (*PeerMetrics) GetProtocolVersion

func (x *PeerMetrics) GetProtocolVersion() int64

func (*PeerMetrics) GetPublicKey

func (x *PeerMetrics) GetPublicKey() string

func (*PeerMetrics) GetReceiveBytes

func (x *PeerMetrics) GetReceiveBytes() uint64

func (*PeerMetrics) GetTransmitBytes

func (x *PeerMetrics) GetTransmitBytes() uint64

func (*PeerMetrics) ProtoMessage

func (*PeerMetrics) ProtoMessage()

func (*PeerMetrics) ProtoReflect

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

func (*PeerMetrics) Reset

func (x *PeerMetrics) Reset()

func (*PeerMetrics) String

func (x *PeerMetrics) String() string

type PluginCapability

type PluginCapability int32

PluginCapability is the capabilities of a plugin.

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

func (PluginCapability) Descriptor

func (PluginCapability) Enum

func (PluginCapability) EnumDescriptor deprecated

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

Deprecated: Use PluginCapability.Descriptor instead.

func (PluginCapability) Number

func (PluginCapability) String

func (x PluginCapability) String() string

func (PluginCapability) Type

type PluginClient

type PluginClient interface {
	// GetInfo returns the information for the plugin.
	GetInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
	// Configure configures the plugin.
	Configure(ctx context.Context, in *PluginConfiguration, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// InjectQuerier is a stream opened by the node to faciliate read-only queries
	// 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. The plugin can return an Unimplemented
	// error or simply close the stream with no error it it does not wish to
	// keep the stream open.
	InjectQuerier(ctx context.Context, opts ...grpc.CallOption) (Plugin_InjectQuerierClient, 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 []PluginCapability `protobuf:"varint,5,rep,packed,name=capabilities,proto3,enum=v1.PluginCapability" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

PluginInfo is the information of a plugin.

func (*PluginInfo) Descriptor deprecated

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

Deprecated: Use PluginInfo.ProtoReflect.Descriptor instead.

func (*PluginInfo) GetCapabilities

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

func (*PluginInfo) GetDescription

func (x *PluginInfo) GetDescription() string

func (*PluginInfo) GetName

func (x *PluginInfo) GetName() string

func (*PluginInfo) GetVersion

func (x *PluginInfo) GetVersion() string

func (*PluginInfo) ProtoMessage

func (*PluginInfo) ProtoMessage()

func (*PluginInfo) ProtoReflect

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

func (*PluginInfo) Reset

func (x *PluginInfo) Reset()

func (*PluginInfo) String

func (x *PluginInfo) String() string

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

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 configures the plugin.
	Configure(context.Context, *PluginConfiguration) (*emptypb.Empty, error)
	// InjectQuerier is a stream opened by the node to faciliate read-only queries
	// 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. The plugin can return an Unimplemented
	// error or simply close the stream with no error it it does not wish to
	// keep the stream open.
	InjectQuerier(Plugin_InjectQuerierServer) 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 Plugin_InjectQuerierClient added in v0.1.4

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

type Plugin_InjectQuerierServer added in v0.1.4

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

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

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

RaftConfigurationRequest is a request to get the current Raft configuration.

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

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

Deprecated: Use RaftConfigurationRequest.ProtoReflect.Descriptor instead.

func (*RaftConfigurationRequest) ProtoMessage added in v0.2.2

func (*RaftConfigurationRequest) ProtoMessage()

func (*RaftConfigurationRequest) ProtoReflect added in v0.2.2

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

func (*RaftConfigurationRequest) Reset added in v0.2.2

func (x *RaftConfigurationRequest) Reset()

func (*RaftConfigurationRequest) String added in v0.2.2

func (x *RaftConfigurationRequest) String() string

type RaftConfigurationResponse added in v0.2.2

type RaftConfigurationResponse struct {

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

RaftConfigurationResponse is a response to a Raft configuration request.

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

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

Deprecated: Use RaftConfigurationResponse.ProtoReflect.Descriptor instead.

func (*RaftConfigurationResponse) GetServers added in v0.2.2

func (x *RaftConfigurationResponse) GetServers() []*RaftServer

func (*RaftConfigurationResponse) ProtoMessage added in v0.2.2

func (*RaftConfigurationResponse) ProtoMessage()

func (*RaftConfigurationResponse) ProtoReflect added in v0.2.2

func (*RaftConfigurationResponse) Reset added in v0.2.2

func (x *RaftConfigurationResponse) Reset()

func (*RaftConfigurationResponse) String added in v0.2.2

func (x *RaftConfigurationResponse) 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 RaftPeer

type RaftPeer struct {

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

RaftPeer is a peer in the Raft cluster.

func (*RaftPeer) Descriptor deprecated

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

Deprecated: Use RaftPeer.ProtoReflect.Descriptor instead.

func (*RaftPeer) GetAddress

func (x *RaftPeer) GetAddress() string

func (*RaftPeer) GetId

func (x *RaftPeer) GetId() string

func (*RaftPeer) GetLeader

func (x *RaftPeer) GetLeader() bool

func (*RaftPeer) GetVoter

func (x *RaftPeer) GetVoter() bool

func (*RaftPeer) ProtoMessage

func (*RaftPeer) ProtoMessage()

func (*RaftPeer) ProtoReflect

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

func (*RaftPeer) Reset

func (x *RaftPeer) Reset()

func (*RaftPeer) String

func (x *RaftPeer) String() string

type RaftServer added in v0.2.2

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

RaftServer is a server in the Raft configuration.

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

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

Deprecated: Use RaftServer.ProtoReflect.Descriptor instead.

func (*RaftServer) GetAddress added in v0.2.2

func (x *RaftServer) GetAddress() string

func (*RaftServer) GetId added in v0.2.2

func (x *RaftServer) GetId() string

func (*RaftServer) GetSuffrage added in v0.2.2

func (x *RaftServer) GetSuffrage() ClusterStatus

func (*RaftServer) ProtoMessage added in v0.2.2

func (*RaftServer) ProtoMessage()

func (*RaftServer) ProtoReflect added in v0.2.2

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

func (*RaftServer) Reset added in v0.2.2

func (x *RaftServer) Reset()

func (*RaftServer) String added in v0.2.2

func (x *RaftServer) 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 Role

type Role struct {

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

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

func (*Role) Descriptor deprecated

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

Deprecated: Use Role.ProtoReflect.Descriptor instead.

func (*Role) GetName

func (x *Role) GetName() string

func (*Role) GetRules

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

func (*Role) ProtoMessage

func (*Role) ProtoMessage()

func (*Role) ProtoReflect

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

func (*Role) Reset

func (x *Role) Reset()

func (*Role) String

func (x *Role) String() string

type RoleBinding

type RoleBinding struct {

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

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

func (*RoleBinding) Descriptor deprecated

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

Deprecated: Use RoleBinding.ProtoReflect.Descriptor instead.

func (*RoleBinding) GetName

func (x *RoleBinding) GetName() string

func (*RoleBinding) GetRole

func (x *RoleBinding) GetRole() string

func (*RoleBinding) GetSubjects

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

func (*RoleBinding) ProtoMessage

func (*RoleBinding) ProtoMessage()

func (*RoleBinding) ProtoReflect

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

func (*RoleBinding) Reset

func (x *RoleBinding) Reset()

func (*RoleBinding) String

func (x *RoleBinding) String() string

type RoleBindings

type RoleBindings struct {

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

RoleBindings is a list of role bindings.

func (*RoleBindings) Descriptor deprecated

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

Deprecated: Use RoleBindings.ProtoReflect.Descriptor instead.

func (*RoleBindings) GetItems

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

func (*RoleBindings) ProtoMessage

func (*RoleBindings) ProtoMessage()

func (*RoleBindings) ProtoReflect

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

func (*RoleBindings) Reset

func (x *RoleBindings) Reset()

func (*RoleBindings) String

func (x *RoleBindings) String() string

type Roles

type Roles struct {

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

Roles is a list of roles.

func (*Roles) Descriptor deprecated

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

Deprecated: Use Roles.ProtoReflect.Descriptor instead.

func (*Roles) GetItems

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

func (*Roles) ProtoMessage

func (*Roles) ProtoMessage()

func (*Roles) ProtoReflect

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

func (*Roles) Reset

func (x *Roles) Reset()

func (*Roles) String

func (x *Roles) String() string

type Route

type Route struct {

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

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

func (*Route) Descriptor deprecated

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

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetDestinationCidrs

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

func (*Route) GetName

func (x *Route) GetName() string

func (*Route) GetNextHopNode

func (x *Route) GetNextHopNode() string

func (*Route) GetNode

func (x *Route) GetNode() string

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect

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

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

type Routes

type Routes struct {

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

Routes is a list of routes.

func (*Routes) Descriptor deprecated

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

Deprecated: Use Routes.ProtoReflect.Descriptor instead.

func (*Routes) GetItems

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

func (*Routes) ProtoMessage

func (*Routes) ProtoMessage()

func (*Routes) ProtoReflect

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

func (*Routes) Reset

func (x *Routes) Reset()

func (*Routes) String

func (x *Routes) String() string

type Rule

type Rule struct {

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

Rule is a rule that applies to a resource.

func (*Rule) Descriptor deprecated

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

Deprecated: Use Rule.ProtoReflect.Descriptor instead.

func (*Rule) GetResourceNames

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

func (*Rule) GetResources

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

func (*Rule) GetVerbs

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

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) ProtoReflect

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

func (*Rule) Reset

func (x *Rule) Reset()

func (*Rule) String

func (x *Rule) String() string

type RuleResource

type RuleResource int32

RuleResource is the resource type for a rule.

const (
	// RESOURCE_UNKNOWN is an unknown resource.
	RuleResource_RESOURCE_UNKNOWN RuleResource = 0
	// RESOURCE_VOTES is the resource for voting in raft elections. The only
	// verb evaluated for this resource is PUT.
	RuleResource_RESOURCE_VOTES RuleResource = 1
	// RESOURCE_ROLES is the resource for managing roles.
	RuleResource_RESOURCE_ROLES RuleResource = 2
	// RESOURCE_ROLE_BINDINGS is the resource for managing role bindings.
	RuleResource_RESOURCE_ROLE_BINDINGS RuleResource = 3
	// RESOURCE_GROUPS is the resource for managing groups.
	RuleResource_RESOURCE_GROUPS RuleResource = 4
	// RESOURCE_NETWORK_ACLS is the resource for managing network ACLs.
	RuleResource_RESOURCE_NETWORK_ACLS RuleResource = 5
	// RESOURCE_ROUTES is the resource for managing routes.
	RuleResource_RESOURCE_ROUTES RuleResource = 6
	// RESOURCE_DATA_CHANNELS is the resource for creating data channels.
	RuleResource_RESOURCE_DATA_CHANNELS RuleResource = 7
	// RESOURCE_EDGES is the resource for managing edges 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 []Feature `protobuf:"varint,7,rep,packed,name=features,proto3,enum=v1.Feature" json:"features,omitempty"`
	// cluster_status is the status of the node in the cluster.
	ClusterStatus ClusterStatus `protobuf:"varint,8,opt,name=cluster_status,json=clusterStatus,proto3,enum=v1.ClusterStatus" json:"cluster_status,omitempty"`
	// current_leader is the current leader of the cluster.
	CurrentLeader string `protobuf:"bytes,9,opt,name=current_leader,json=currentLeader,proto3" json:"current_leader,omitempty"`
	// current_term is the current term of the cluster.
	CurrentTerm uint64 `protobuf:"varint,10,opt,name=current_term,json=currentTerm,proto3" json:"current_term,omitempty"`
	// last_log_index is the last log index of the cluster.
	LastLogIndex uint64 `protobuf:"varint,11,opt,name=last_log_index,json=lastLogIndex,proto3" json:"last_log_index,omitempty"`
	// last_applied is the last applied index of the cluster.
	LastApplied uint64 `protobuf:"varint,12,opt,name=last_applied,json=lastApplied,proto3" json:"last_applied,omitempty"`
	// interface_metrics are the metrics for the node's interfaces.
	InterfaceMetrics *InterfaceMetrics `protobuf:"bytes,13,opt,name=interface_metrics,json=interfaceMetrics,proto3" json:"interface_metrics,omitempty"`
	// contains filtered or unexported fields
}

Status represents the status of a node.

func (*Status) Descriptor deprecated

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

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetBuildDate

func (x *Status) GetBuildDate() string

func (*Status) GetClusterStatus

func (x *Status) GetClusterStatus() ClusterStatus

func (*Status) GetCommit

func (x *Status) GetCommit() string

func (*Status) GetCurrentLeader

func (x *Status) GetCurrentLeader() string

func (*Status) GetCurrentTerm

func (x *Status) GetCurrentTerm() uint64

func (*Status) GetFeatures

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

func (*Status) GetId

func (x *Status) GetId() string

func (*Status) GetInterfaceMetrics

func (x *Status) GetInterfaceMetrics() *InterfaceMetrics

func (*Status) GetLastApplied

func (x *Status) GetLastApplied() uint64

func (*Status) GetLastLogIndex

func (x *Status) GetLastLogIndex() uint64

func (*Status) GetStartedAt

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

func (*Status) GetUptime

func (x *Status) GetUptime() string

func (*Status) GetVersion

func (x *Status) GetVersion() string

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

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

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

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

type StoragePluginClient interface {
	// Store dispatches a Raft log entry for storage.
	Store(ctx context.Context, in *StoreLogRequest, opts ...grpc.CallOption) (*RaftApplyResponse, error)
	// RestoreSnapshot should drop any existing state and restore from the snapshot.
	RestoreSnapshot(ctx context.Context, in *DataSnapshot, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

StoragePluginClient is the client API for StoragePlugin 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 NewStoragePluginClient added in v0.1.4

func NewStoragePluginClient(cc grpc.ClientConnInterface) StoragePluginClient

type StoragePluginServer added in v0.1.4

type StoragePluginServer interface {
	// Store dispatches a Raft log entry for storage.
	Store(context.Context, *StoreLogRequest) (*RaftApplyResponse, error)
	// RestoreSnapshot should drop any existing state and restore from the snapshot.
	RestoreSnapshot(context.Context, *DataSnapshot) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

StoragePluginServer is the server API for StoragePlugin service. All implementations must embed UnimplementedStoragePluginServer for forward compatibility

type StoreLogRequest added in v0.1.2

type StoreLogRequest struct {

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

StoreLogRequest is the message containing a raft log entry.

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

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

Deprecated: Use StoreLogRequest.ProtoReflect.Descriptor instead.

func (*StoreLogRequest) GetIndex added in v0.1.2

func (x *StoreLogRequest) GetIndex() uint64

func (*StoreLogRequest) GetLog added in v0.1.2

func (x *StoreLogRequest) GetLog() *RaftLogEntry

func (*StoreLogRequest) GetTerm added in v0.1.2

func (x *StoreLogRequest) GetTerm() uint64

func (*StoreLogRequest) ProtoMessage added in v0.1.2

func (*StoreLogRequest) ProtoMessage()

func (*StoreLogRequest) ProtoReflect added in v0.1.2

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

func (*StoreLogRequest) Reset added in v0.1.2

func (x *StoreLogRequest) Reset()

func (*StoreLogRequest) String added in v0.1.2

func (x *StoreLogRequest) String() string

type Subject

type Subject struct {

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

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

func (*Subject) Descriptor deprecated

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

Deprecated: Use Subject.ProtoReflect.Descriptor instead.

func (*Subject) GetName

func (x *Subject) GetName() string

func (*Subject) GetType

func (x *Subject) GetType() SubjectType

func (*Subject) ProtoMessage

func (*Subject) ProtoMessage()

func (*Subject) ProtoReflect

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

func (*Subject) Reset

func (x *Subject) Reset()

func (*Subject) String

func (x *Subject) String() string

type SubjectType

type SubjectType int32

SubjectType is the type of a subject.

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

func (SubjectType) Descriptor

func (SubjectType) Enum

func (x SubjectType) Enum() *SubjectType

func (SubjectType) EnumDescriptor deprecated

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

Deprecated: Use SubjectType.Descriptor instead.

func (SubjectType) Number

func (x SubjectType) Number() protoreflect.EnumNumber

func (SubjectType) String

func (x SubjectType) String() string

func (SubjectType) Type

type 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) Connect added in v0.2.2

func (UnimplementedAppDaemonServer) Disconnect added in v0.2.2

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

func (UnimplementedMembershipServer) Join added in v0.2.2

func (UnimplementedMembershipServer) Leave added in v0.2.2

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

func (UnimplementedNodeServer) Query added in v0.2.2

func (UnimplementedNodeServer) Subscribe added in v0.2.2

type UnimplementedPeerDiscoveryServer

type UnimplementedPeerDiscoveryServer struct {
}

UnimplementedPeerDiscoveryServer must be embedded to have forward compatible implementations.

func (UnimplementedPeerDiscoveryServer) ListPeers

type UnimplementedPluginServer

type UnimplementedPluginServer struct {
}

UnimplementedPluginServer must be embedded to have forward compatible implementations.

func (UnimplementedPluginServer) Close added in v0.1.4

func (UnimplementedPluginServer) Configure

func (UnimplementedPluginServer) GetInfo

func (UnimplementedPluginServer) InjectQuerier added in v0.1.4

type UnimplementedStoragePluginServer added in v0.1.4

type UnimplementedStoragePluginServer struct {
}

UnimplementedStoragePluginServer must be embedded to have forward compatible implementations.

func (UnimplementedStoragePluginServer) RestoreSnapshot added in v0.1.4

func (UnimplementedStoragePluginServer) Store added in v0.1.4

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

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 UnsafePeerDiscoveryServer

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

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

type UnsafePluginServer

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

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

type UnsafeStoragePluginServer added in v0.1.4

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

UnsafeStoragePluginServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to StoragePluginServer 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 wireguard key of the node to broadcast to peers.
	PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// raft_port is the Raft listen port of the node.
	RaftPort int32 `protobuf:"varint,3,opt,name=raft_port,json=raftPort,proto3" json:"raft_port,omitempty"`
	// grpc_port is the gRPC listen port of the node.
	GrpcPort int32 `protobuf:"varint,4,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	// meshdns_port is the port the node wishes to advertise to offer DNS to other peers.
	// a value of 0 indicates the node does not wish to offer DNS. ports are currently
	// assumed to be UDP.
	MeshdnsPort int32 `protobuf:"varint,5,opt,name=meshdns_port,json=meshdnsPort,proto3" json:"meshdns_port,omitempty"`
	// primary_endpoint is a routable address for the node. If left unset,
	// the node is assumed to be behind a NAT and not directly accessible.
	PrimaryEndpoint string `protobuf:"bytes,6,opt,name=primary_endpoint,json=primaryEndpoint,proto3" json:"primary_endpoint,omitempty"`
	// wireguard_endpoints is a list of WireGuard endpoints for the node.
	WireguardEndpoints []string `protobuf:"bytes,7,rep,name=wireguard_endpoints,json=wireguardEndpoints,proto3" json:"wireguard_endpoints,omitempty"`
	// zone_awareness_id is the zone awareness ID of the node.
	ZoneAwarenessId string `protobuf:"bytes,8,opt,name=zone_awareness_id,json=zoneAwarenessId,proto3" json:"zone_awareness_id,omitempty"`
	// 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"`
	// 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,10,rep,name=routes,proto3" json:"routes,omitempty"`
	// features is a list of features supported by the node that should be advertised to peers.
	Features []Feature `protobuf:"varint,11,rep,packed,name=features,proto3,enum=v1.Feature" json:"features,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() []Feature

func (*UpdateRequest) GetGrpcPort added in v0.2.2

func (x *UpdateRequest) GetGrpcPort() int32

func (*UpdateRequest) GetId added in v0.2.2

func (x *UpdateRequest) GetId() string

func (*UpdateRequest) GetMeshdnsPort added in v0.2.2

func (x *UpdateRequest) GetMeshdnsPort() int32

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

func (x *UpdateRequest) GetRaftPort() int32

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 WatchEvent

type WatchEvent int32

WatchEvent is the type of a watch event.

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

func (WatchEvent) Descriptor

func (WatchEvent) Descriptor() protoreflect.EnumDescriptor

func (WatchEvent) Enum

func (x WatchEvent) Enum() *WatchEvent

func (WatchEvent) EnumDescriptor deprecated

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

Deprecated: Use WatchEvent.Descriptor instead.

func (WatchEvent) Number

func (x WatchEvent) Number() protoreflect.EnumNumber

func (WatchEvent) String

func (x WatchEvent) String() string

func (WatchEvent) Type

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

WebRTCClient is the client API for WebRTC service.

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

func NewWebRTCClient

func NewWebRTCClient(cc grpc.ClientConnInterface) WebRTCClient

type WebRTCServer

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

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

type WebRTC_StartDataChannelClient

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

type WebRTC_StartDataChannelServer

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

type WireGuardPeer

type WireGuardPeer struct {

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

WireGuardPeer is a peer in the Wireguard network.

func (*WireGuardPeer) Descriptor deprecated

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

Deprecated: Use WireGuardPeer.ProtoReflect.Descriptor instead.

func (*WireGuardPeer) GetAddressIpv4

func (x *WireGuardPeer) GetAddressIpv4() string

func (*WireGuardPeer) GetAddressIpv6

func (x *WireGuardPeer) GetAddressIpv6() string

func (*WireGuardPeer) GetAllowedIps

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

func (*WireGuardPeer) GetAllowedRoutes

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

func (*WireGuardPeer) GetGrpcPort added in v0.2.2

func (x *WireGuardPeer) GetGrpcPort() int32

func (*WireGuardPeer) GetIce added in v0.1.3

func (x *WireGuardPeer) GetIce() bool

func (*WireGuardPeer) GetId

func (x *WireGuardPeer) GetId() string

func (*WireGuardPeer) GetPrimaryEndpoint

func (x *WireGuardPeer) GetPrimaryEndpoint() string

func (*WireGuardPeer) GetPublicKey

func (x *WireGuardPeer) GetPublicKey() string

func (*WireGuardPeer) GetRaftMember added in v0.2.2

func (x *WireGuardPeer) GetRaftMember() bool

func (*WireGuardPeer) GetWireguardEndpoints

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

func (*WireGuardPeer) GetZoneAwarenessId

func (x *WireGuardPeer) GetZoneAwarenessId() string

func (*WireGuardPeer) ProtoMessage

func (*WireGuardPeer) ProtoMessage()

func (*WireGuardPeer) ProtoReflect

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

func (*WireGuardPeer) Reset

func (x *WireGuardPeer) Reset()

func (*WireGuardPeer) String

func (x *WireGuardPeer) String() string

Jump to

Keyboard shortcuts

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