mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-10-08 19:06:14 -08:00
* feat(easytier-go): accept data plane ABI v4 The core raised DATA_PLANE_ABI_VERSION to 4 inf26c2aa1("feat(wasi): run EasyTier core on Cloudflare Workers and browsers") to advertise the new guest exports easytier_data_plane_tcp_shutdown_write_submit and easytier_data_plane_tcp_shutdown_write_result_take, which let a host half-close guest TCP streams. The Go host has no caller for half-close: net.Conn exposes only Close, which already tears down both directions, so the v3 behavior is preserved and no new plumbing is added. Without this bump, any artifact rebuilt from current core source is rejected at instance creation with "unsupported EasyTier data plane ABI version 4, want 3". * fix(easytier-go): decode socket options wire v3, rebuild core artifact38e2a621("refactor(ohos): 拆分 OHRS 包并按 socket 精细保护 VPN 流量") raised the host socket options wire format from version 2 to 3: a need_protect byte is appended after the purpose byte in TCP connect, UDP bind, and TCP listen options, shifting bind_device one byte later. The Go hostABI decoders were never updated, so every socket operation from a HEAD-built core was rejected as "invalid options" and required listeners failed to start. Bump the accepted wire version to 3 and skip the need_protect byte in all three decoders. The byte requests VPN socket protection, which only Android-style VPN hosts can honor; on every other platform sockets are already protected, so reading and discarding it is correct. Regenerate the embedded core artifact and protobuf bindings from HEAD (599e4eac) so the shipped artifact matches the Go host again. The proto regeneration also picks up schema fields added since the last embed (e.g. prefer_peer_relay). * perf(easytier-go): release compiler garbage after host init wazero's optimizing compiler allocates ~100MB of throwaway state on the Go heap while compiling the embedded core. Go's runtime does not return that memory to the OS after the initiating GC, so the process retained the compilation peak for its entire lifetime: RSS sat at ~164MB before any instance or network activity. Call debug.FreeOSMemory() once after the module is instantiated. NewHost is a one-time initialization path outside the dataplane, so the stop-the-world pass is safe here. Measured RSS after host.New drops from ~164MB to ~64MB; no behavioral change. * chore(easytier-js): bump toolchain dependencies - vitest 2.1.9 -> 3.2.7 (all three packages) - esbuild 0.25.9 -> 0.28.2 (browser bundler) - wrangler 4.114.0 -> 4.134.0 (cloudflare + web example) - @cloudflare/workers-types 5.20260724.1 -> 5.20260917.1 - binaryen 131.0.0 -> 132.0.0 (JS bindings only; the wasm build uses the standalone wasm-opt binary fetched by the build script) Not bumped: typescript stays at 5.9.3 (latest 5.x; 7.0 is a major jump not worth taking for this workspace), vite stays at 5.4.21 (web-example only; 5->8 spans three majors). Verified with pnpm test (28 + 2 + 2 tests across runtime, browser, cloudflare) and pnpm check (tsc + wrangler deploy --dry-run). pnpm-workspace.yaml gained three minimumReleaseAgeExclude entries recorded automatically by pnpm for freshly published versions. * fix(easytier-js): align host wire format with core wire v3 The core socket options wire format moved to version 3 in38e2a621(need_protect byte after purpose). The JS websocket-host still required version 2 and rejected every TCP bind from a HEAD-built core, breaking browser port leases. - websocket-host.ts: accept version 3, minimum length 49. The need_protect byte sits after purpose (offset 43) and is a no-op outside Android VPN hosts, so the decoder just skips it. - websocket-host.test.ts: update the test encoder to emit v3. - binaryen stays at 131.0.0 to match script/build-wasi-core.sh, which intentionally pins binaryen 131 for the Go-side embedded core. The npm binaryen package provides the wasm-opt binary used by build-wasm.mjs, so keeping both sides on the same version avoids divergent optimization output. - pnpm-workspace.yaml: drop two stale minimumReleaseAgeExclude entries for @cloudflare/workers-types versions no longer in the lockfile. * test(easytier-go): cover socket options wire v3 decoders Direct unit tests for decodeTCPConnectOptions, decodeUDPBindOptions, and decodeTCPListenOptions with wire v3 documents. Covers combinations of socket mark, netns, bind device, and local address presence, plus rejection of wire v2. Resolves review feedback on PR #2588.
1062 lines
35 KiB
Go
1062 lines
35 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.11
|
|
// protoc v7.35.1
|
|
// source: api_config.proto
|
|
|
|
package config
|
|
|
|
import (
|
|
acl "github.com/easytier/easytier/easytier-go/proto/acl"
|
|
instance "github.com/easytier/easytier/easytier-go/proto/api/instance"
|
|
manage "github.com/easytier/easytier/easytier-go/proto/api/manage"
|
|
common "github.com/easytier/easytier/easytier-go/proto/common"
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type ConfigPatchAction int32
|
|
|
|
const (
|
|
ConfigPatchAction_ADD ConfigPatchAction = 0
|
|
ConfigPatchAction_REMOVE ConfigPatchAction = 1
|
|
ConfigPatchAction_CLEAR ConfigPatchAction = 2
|
|
)
|
|
|
|
// Enum value maps for ConfigPatchAction.
|
|
var (
|
|
ConfigPatchAction_name = map[int32]string{
|
|
0: "ADD",
|
|
1: "REMOVE",
|
|
2: "CLEAR",
|
|
}
|
|
ConfigPatchAction_value = map[string]int32{
|
|
"ADD": 0,
|
|
"REMOVE": 1,
|
|
"CLEAR": 2,
|
|
}
|
|
)
|
|
|
|
func (x ConfigPatchAction) Enum() *ConfigPatchAction {
|
|
p := new(ConfigPatchAction)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ConfigPatchAction) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ConfigPatchAction) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_api_config_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (ConfigPatchAction) Type() protoreflect.EnumType {
|
|
return &file_api_config_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x ConfigPatchAction) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ConfigPatchAction.Descriptor instead.
|
|
func (ConfigPatchAction) EnumDescriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
type InstanceConfigPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Hostname *string `protobuf:"bytes,1,opt,name=hostname,proto3,oneof" json:"hostname,omitempty"`
|
|
Ipv4 *common.Ipv4Inet `protobuf:"bytes,2,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"`
|
|
Ipv6 *common.Ipv6Inet `protobuf:"bytes,3,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"`
|
|
PortForwards []*PortForwardPatch `protobuf:"bytes,4,rep,name=port_forwards,json=portForwards,proto3" json:"port_forwards,omitempty"`
|
|
Acl *AclPatch `protobuf:"bytes,5,opt,name=acl,proto3,oneof" json:"acl,omitempty"`
|
|
ProxyNetworks []*ProxyNetworkPatch `protobuf:"bytes,6,rep,name=proxy_networks,json=proxyNetworks,proto3" json:"proxy_networks,omitempty"`
|
|
Routes []*RoutePatch `protobuf:"bytes,7,rep,name=routes,proto3" json:"routes,omitempty"`
|
|
ExitNodes []*ExitNodePatch `protobuf:"bytes,8,rep,name=exit_nodes,json=exitNodes,proto3" json:"exit_nodes,omitempty"`
|
|
MappedListeners []*UrlPatch `protobuf:"bytes,9,rep,name=mapped_listeners,json=mappedListeners,proto3" json:"mapped_listeners,omitempty"`
|
|
Connectors []*UrlPatch `protobuf:"bytes,10,rep,name=connectors,proto3" json:"connectors,omitempty"`
|
|
Ipv6PublicAddrProvider *bool `protobuf:"varint,11,opt,name=ipv6_public_addr_provider,json=ipv6PublicAddrProvider,proto3,oneof" json:"ipv6_public_addr_provider,omitempty"`
|
|
Ipv6PublicAddrAuto *bool `protobuf:"varint,12,opt,name=ipv6_public_addr_auto,json=ipv6PublicAddrAuto,proto3,oneof" json:"ipv6_public_addr_auto,omitempty"`
|
|
Ipv6PublicAddrPrefix *string `protobuf:"bytes,13,opt,name=ipv6_public_addr_prefix,json=ipv6PublicAddrPrefix,proto3,oneof" json:"ipv6_public_addr_prefix,omitempty"`
|
|
DisableRelayData *bool `protobuf:"varint,14,opt,name=disable_relay_data,json=disableRelayData,proto3,oneof" json:"disable_relay_data,omitempty"`
|
|
VpnPortalClients []*VpnPortalClientPatch `protobuf:"bytes,15,rep,name=vpn_portal_clients,json=vpnPortalClients,proto3" json:"vpn_portal_clients,omitempty"`
|
|
ManagedCredentials *manage.ManagedCredentialSet `protobuf:"bytes,16,opt,name=managed_credentials,json=managedCredentials,proto3" json:"managed_credentials,omitempty"`
|
|
PreferPeerRelay *bool `protobuf:"varint,17,opt,name=prefer_peer_relay,json=preferPeerRelay,proto3,oneof" json:"prefer_peer_relay,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) Reset() {
|
|
*x = InstanceConfigPatch{}
|
|
mi := &file_api_config_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*InstanceConfigPatch) ProtoMessage() {}
|
|
|
|
func (x *InstanceConfigPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use InstanceConfigPatch.ProtoReflect.Descriptor instead.
|
|
func (*InstanceConfigPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetHostname() string {
|
|
if x != nil && x.Hostname != nil {
|
|
return *x.Hostname
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetIpv4() *common.Ipv4Inet {
|
|
if x != nil {
|
|
return x.Ipv4
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetIpv6() *common.Ipv6Inet {
|
|
if x != nil {
|
|
return x.Ipv6
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetPortForwards() []*PortForwardPatch {
|
|
if x != nil {
|
|
return x.PortForwards
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetAcl() *AclPatch {
|
|
if x != nil {
|
|
return x.Acl
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetProxyNetworks() []*ProxyNetworkPatch {
|
|
if x != nil {
|
|
return x.ProxyNetworks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetRoutes() []*RoutePatch {
|
|
if x != nil {
|
|
return x.Routes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetExitNodes() []*ExitNodePatch {
|
|
if x != nil {
|
|
return x.ExitNodes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetMappedListeners() []*UrlPatch {
|
|
if x != nil {
|
|
return x.MappedListeners
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetConnectors() []*UrlPatch {
|
|
if x != nil {
|
|
return x.Connectors
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetIpv6PublicAddrProvider() bool {
|
|
if x != nil && x.Ipv6PublicAddrProvider != nil {
|
|
return *x.Ipv6PublicAddrProvider
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetIpv6PublicAddrAuto() bool {
|
|
if x != nil && x.Ipv6PublicAddrAuto != nil {
|
|
return *x.Ipv6PublicAddrAuto
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetIpv6PublicAddrPrefix() string {
|
|
if x != nil && x.Ipv6PublicAddrPrefix != nil {
|
|
return *x.Ipv6PublicAddrPrefix
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetDisableRelayData() bool {
|
|
if x != nil && x.DisableRelayData != nil {
|
|
return *x.DisableRelayData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetVpnPortalClients() []*VpnPortalClientPatch {
|
|
if x != nil {
|
|
return x.VpnPortalClients
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetManagedCredentials() *manage.ManagedCredentialSet {
|
|
if x != nil {
|
|
return x.ManagedCredentials
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *InstanceConfigPatch) GetPreferPeerRelay() bool {
|
|
if x != nil && x.PreferPeerRelay != nil {
|
|
return *x.PreferPeerRelay
|
|
}
|
|
return false
|
|
}
|
|
|
|
type VpnPortalClientPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Client *manage.VpnPortalClientConfig `protobuf:"bytes,2,opt,name=client,proto3" json:"client,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *VpnPortalClientPatch) Reset() {
|
|
*x = VpnPortalClientPatch{}
|
|
mi := &file_api_config_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *VpnPortalClientPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*VpnPortalClientPatch) ProtoMessage() {}
|
|
|
|
func (x *VpnPortalClientPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use VpnPortalClientPatch.ProtoReflect.Descriptor instead.
|
|
func (*VpnPortalClientPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *VpnPortalClientPatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *VpnPortalClientPatch) GetClient() *manage.VpnPortalClientConfig {
|
|
if x != nil {
|
|
return x.Client
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PortForwardPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Cfg *common.PortForwardConfigPb `protobuf:"bytes,2,opt,name=cfg,proto3" json:"cfg,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PortForwardPatch) Reset() {
|
|
*x = PortForwardPatch{}
|
|
mi := &file_api_config_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PortForwardPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PortForwardPatch) ProtoMessage() {}
|
|
|
|
func (x *PortForwardPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PortForwardPatch.ProtoReflect.Descriptor instead.
|
|
func (*PortForwardPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *PortForwardPatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *PortForwardPatch) GetCfg() *common.PortForwardConfigPb {
|
|
if x != nil {
|
|
return x.Cfg
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type StringPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StringPatch) Reset() {
|
|
*x = StringPatch{}
|
|
mi := &file_api_config_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StringPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StringPatch) ProtoMessage() {}
|
|
|
|
func (x *StringPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StringPatch.ProtoReflect.Descriptor instead.
|
|
func (*StringPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *StringPatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *StringPatch) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type UrlPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Url *common.Url `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *UrlPatch) Reset() {
|
|
*x = UrlPatch{}
|
|
mi := &file_api_config_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *UrlPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UrlPatch) ProtoMessage() {}
|
|
|
|
func (x *UrlPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UrlPatch.ProtoReflect.Descriptor instead.
|
|
func (*UrlPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *UrlPatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *UrlPatch) GetUrl() *common.Url {
|
|
if x != nil {
|
|
return x.Url
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AclPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Acl *acl.Acl `protobuf:"bytes,1,opt,name=acl,proto3,oneof" json:"acl,omitempty"`
|
|
TcpWhitelist []*StringPatch `protobuf:"bytes,2,rep,name=tcp_whitelist,json=tcpWhitelist,proto3" json:"tcp_whitelist,omitempty"`
|
|
UdpWhitelist []*StringPatch `protobuf:"bytes,3,rep,name=udp_whitelist,json=udpWhitelist,proto3" json:"udp_whitelist,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AclPatch) Reset() {
|
|
*x = AclPatch{}
|
|
mi := &file_api_config_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AclPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AclPatch) ProtoMessage() {}
|
|
|
|
func (x *AclPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AclPatch.ProtoReflect.Descriptor instead.
|
|
func (*AclPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *AclPatch) GetAcl() *acl.Acl {
|
|
if x != nil {
|
|
return x.Acl
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AclPatch) GetTcpWhitelist() []*StringPatch {
|
|
if x != nil {
|
|
return x.TcpWhitelist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AclPatch) GetUdpWhitelist() []*StringPatch {
|
|
if x != nil {
|
|
return x.UdpWhitelist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ProxyNetworkPatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Cidr *common.Ipv4Inet `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
|
|
MappedCidr *common.Ipv4Inet `protobuf:"bytes,3,opt,name=mapped_cidr,json=mappedCidr,proto3,oneof" json:"mapped_cidr,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ProxyNetworkPatch) Reset() {
|
|
*x = ProxyNetworkPatch{}
|
|
mi := &file_api_config_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ProxyNetworkPatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ProxyNetworkPatch) ProtoMessage() {}
|
|
|
|
func (x *ProxyNetworkPatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ProxyNetworkPatch.ProtoReflect.Descriptor instead.
|
|
func (*ProxyNetworkPatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *ProxyNetworkPatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *ProxyNetworkPatch) GetCidr() *common.Ipv4Inet {
|
|
if x != nil {
|
|
return x.Cidr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ProxyNetworkPatch) GetMappedCidr() *common.Ipv4Inet {
|
|
if x != nil {
|
|
return x.MappedCidr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type RoutePatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Cidr *common.Ipv4Inet `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RoutePatch) Reset() {
|
|
*x = RoutePatch{}
|
|
mi := &file_api_config_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RoutePatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RoutePatch) ProtoMessage() {}
|
|
|
|
func (x *RoutePatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RoutePatch.ProtoReflect.Descriptor instead.
|
|
func (*RoutePatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *RoutePatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *RoutePatch) GetCidr() *common.Ipv4Inet {
|
|
if x != nil {
|
|
return x.Cidr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ExitNodePatch struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Action ConfigPatchAction `protobuf:"varint,1,opt,name=action,proto3,enum=api.config.ConfigPatchAction" json:"action,omitempty"`
|
|
Node *common.IpAddr `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ExitNodePatch) Reset() {
|
|
*x = ExitNodePatch{}
|
|
mi := &file_api_config_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ExitNodePatch) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ExitNodePatch) ProtoMessage() {}
|
|
|
|
func (x *ExitNodePatch) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ExitNodePatch.ProtoReflect.Descriptor instead.
|
|
func (*ExitNodePatch) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *ExitNodePatch) GetAction() ConfigPatchAction {
|
|
if x != nil {
|
|
return x.Action
|
|
}
|
|
return ConfigPatchAction_ADD
|
|
}
|
|
|
|
func (x *ExitNodePatch) GetNode() *common.IpAddr {
|
|
if x != nil {
|
|
return x.Node
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PatchConfigRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Patch *InstanceConfigPatch `protobuf:"bytes,1,opt,name=patch,proto3" json:"patch,omitempty"`
|
|
Instance *instance.InstanceIdentifier `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PatchConfigRequest) Reset() {
|
|
*x = PatchConfigRequest{}
|
|
mi := &file_api_config_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PatchConfigRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PatchConfigRequest) ProtoMessage() {}
|
|
|
|
func (x *PatchConfigRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PatchConfigRequest.ProtoReflect.Descriptor instead.
|
|
func (*PatchConfigRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *PatchConfigRequest) GetPatch() *InstanceConfigPatch {
|
|
if x != nil {
|
|
return x.Patch
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PatchConfigRequest) GetInstance() *instance.InstanceIdentifier {
|
|
if x != nil {
|
|
return x.Instance
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PatchConfigResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PatchConfigResponse) Reset() {
|
|
*x = PatchConfigResponse{}
|
|
mi := &file_api_config_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PatchConfigResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PatchConfigResponse) ProtoMessage() {}
|
|
|
|
func (x *PatchConfigResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PatchConfigResponse.ProtoReflect.Descriptor instead.
|
|
func (*PatchConfigResponse) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
type GetConfigRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Instance *instance.InstanceIdentifier `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GetConfigRequest) Reset() {
|
|
*x = GetConfigRequest{}
|
|
mi := &file_api_config_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GetConfigRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetConfigRequest) ProtoMessage() {}
|
|
|
|
func (x *GetConfigRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetConfigRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetConfigRequest) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *GetConfigRequest) GetInstance() *instance.InstanceIdentifier {
|
|
if x != nil {
|
|
return x.Instance
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type GetConfigResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Config *manage.NetworkConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
|
|
TomlConfig string `protobuf:"bytes,2,opt,name=toml_config,json=tomlConfig,proto3" json:"toml_config,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GetConfigResponse) Reset() {
|
|
*x = GetConfigResponse{}
|
|
mi := &file_api_config_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GetConfigResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetConfigResponse) ProtoMessage() {}
|
|
|
|
func (x *GetConfigResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_api_config_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetConfigResponse.ProtoReflect.Descriptor instead.
|
|
func (*GetConfigResponse) Descriptor() ([]byte, []int) {
|
|
return file_api_config_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *GetConfigResponse) GetConfig() *manage.NetworkConfig {
|
|
if x != nil {
|
|
return x.Config
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetConfigResponse) GetTomlConfig() string {
|
|
if x != nil {
|
|
return x.TomlConfig
|
|
}
|
|
return ""
|
|
}
|
|
|
|
var File_api_config_proto protoreflect.FileDescriptor
|
|
|
|
const file_api_config_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\x10api_config.proto\x12\n" +
|
|
"api.config\x1a\fcommon.proto\x1a\tacl.proto\x1a\x12api_instance.proto\x1a\x10api_manage.proto\"\x86\t\n" +
|
|
"\x13InstanceConfigPatch\x12\x1f\n" +
|
|
"\bhostname\x18\x01 \x01(\tH\x00R\bhostname\x88\x01\x01\x12)\n" +
|
|
"\x04ipv4\x18\x02 \x01(\v2\x10.common.Ipv4InetH\x01R\x04ipv4\x88\x01\x01\x12)\n" +
|
|
"\x04ipv6\x18\x03 \x01(\v2\x10.common.Ipv6InetH\x02R\x04ipv6\x88\x01\x01\x12A\n" +
|
|
"\rport_forwards\x18\x04 \x03(\v2\x1c.api.config.PortForwardPatchR\fportForwards\x12+\n" +
|
|
"\x03acl\x18\x05 \x01(\v2\x14.api.config.AclPatchH\x03R\x03acl\x88\x01\x01\x12D\n" +
|
|
"\x0eproxy_networks\x18\x06 \x03(\v2\x1d.api.config.ProxyNetworkPatchR\rproxyNetworks\x12.\n" +
|
|
"\x06routes\x18\a \x03(\v2\x16.api.config.RoutePatchR\x06routes\x128\n" +
|
|
"\n" +
|
|
"exit_nodes\x18\b \x03(\v2\x19.api.config.ExitNodePatchR\texitNodes\x12?\n" +
|
|
"\x10mapped_listeners\x18\t \x03(\v2\x14.api.config.UrlPatchR\x0fmappedListeners\x124\n" +
|
|
"\n" +
|
|
"connectors\x18\n" +
|
|
" \x03(\v2\x14.api.config.UrlPatchR\n" +
|
|
"connectors\x12>\n" +
|
|
"\x19ipv6_public_addr_provider\x18\v \x01(\bH\x04R\x16ipv6PublicAddrProvider\x88\x01\x01\x126\n" +
|
|
"\x15ipv6_public_addr_auto\x18\f \x01(\bH\x05R\x12ipv6PublicAddrAuto\x88\x01\x01\x12:\n" +
|
|
"\x17ipv6_public_addr_prefix\x18\r \x01(\tH\x06R\x14ipv6PublicAddrPrefix\x88\x01\x01\x121\n" +
|
|
"\x12disable_relay_data\x18\x0e \x01(\bH\aR\x10disableRelayData\x88\x01\x01\x12N\n" +
|
|
"\x12vpn_portal_clients\x18\x0f \x03(\v2 .api.config.VpnPortalClientPatchR\x10vpnPortalClients\x12Q\n" +
|
|
"\x13managed_credentials\x18\x10 \x01(\v2 .api.manage.ManagedCredentialSetR\x12managedCredentials\x12/\n" +
|
|
"\x11prefer_peer_relay\x18\x11 \x01(\bH\bR\x0fpreferPeerRelay\x88\x01\x01B\v\n" +
|
|
"\t_hostnameB\a\n" +
|
|
"\x05_ipv4B\a\n" +
|
|
"\x05_ipv6B\x06\n" +
|
|
"\x04_aclB\x1c\n" +
|
|
"\x1a_ipv6_public_addr_providerB\x18\n" +
|
|
"\x16_ipv6_public_addr_autoB\x1a\n" +
|
|
"\x18_ipv6_public_addr_prefixB\x15\n" +
|
|
"\x13_disable_relay_dataB\x14\n" +
|
|
"\x12_prefer_peer_relay\"\x88\x01\n" +
|
|
"\x14VpnPortalClientPatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x129\n" +
|
|
"\x06client\x18\x02 \x01(\v2!.api.manage.VpnPortalClientConfigR\x06client\"x\n" +
|
|
"\x10PortForwardPatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12-\n" +
|
|
"\x03cfg\x18\x02 \x01(\v2\x1b.common.PortForwardConfigPbR\x03cfg\"Z\n" +
|
|
"\vStringPatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value\"`\n" +
|
|
"\bUrlPatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12\x1d\n" +
|
|
"\x03url\x18\x02 \x01(\v2\v.common.UrlR\x03url\"\xaf\x01\n" +
|
|
"\bAclPatch\x12\x1f\n" +
|
|
"\x03acl\x18\x01 \x01(\v2\b.acl.AclH\x00R\x03acl\x88\x01\x01\x12<\n" +
|
|
"\rtcp_whitelist\x18\x02 \x03(\v2\x17.api.config.StringPatchR\ftcpWhitelist\x12<\n" +
|
|
"\rudp_whitelist\x18\x03 \x03(\v2\x17.api.config.StringPatchR\fudpWhitelistB\x06\n" +
|
|
"\x04_acl\"\xb8\x01\n" +
|
|
"\x11ProxyNetworkPatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12$\n" +
|
|
"\x04cidr\x18\x02 \x01(\v2\x10.common.Ipv4InetR\x04cidr\x126\n" +
|
|
"\vmapped_cidr\x18\x03 \x01(\v2\x10.common.Ipv4InetH\x00R\n" +
|
|
"mappedCidr\x88\x01\x01B\x0e\n" +
|
|
"\f_mapped_cidr\"i\n" +
|
|
"\n" +
|
|
"RoutePatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12$\n" +
|
|
"\x04cidr\x18\x02 \x01(\v2\x10.common.Ipv4InetR\x04cidr\"j\n" +
|
|
"\rExitNodePatch\x125\n" +
|
|
"\x06action\x18\x01 \x01(\x0e2\x1d.api.config.ConfigPatchActionR\x06action\x12\"\n" +
|
|
"\x04node\x18\x02 \x01(\v2\x0e.common.IpAddrR\x04node\"\x89\x01\n" +
|
|
"\x12PatchConfigRequest\x125\n" +
|
|
"\x05patch\x18\x01 \x01(\v2\x1f.api.config.InstanceConfigPatchR\x05patch\x12<\n" +
|
|
"\binstance\x18\x02 \x01(\v2 .api.instance.InstanceIdentifierR\binstance\"\x15\n" +
|
|
"\x13PatchConfigResponse\"P\n" +
|
|
"\x10GetConfigRequest\x12<\n" +
|
|
"\binstance\x18\x01 \x01(\v2 .api.instance.InstanceIdentifierR\binstance\"g\n" +
|
|
"\x11GetConfigResponse\x121\n" +
|
|
"\x06config\x18\x01 \x01(\v2\x19.api.manage.NetworkConfigR\x06config\x12\x1f\n" +
|
|
"\vtoml_config\x18\x02 \x01(\tR\n" +
|
|
"tomlConfig*3\n" +
|
|
"\x11ConfigPatchAction\x12\a\n" +
|
|
"\x03ADD\x10\x00\x12\n" +
|
|
"\n" +
|
|
"\x06REMOVE\x10\x01\x12\t\n" +
|
|
"\x05CLEAR\x10\x022\xa5\x01\n" +
|
|
"\tConfigRpc\x12N\n" +
|
|
"\vPatchConfig\x12\x1e.api.config.PatchConfigRequest\x1a\x1f.api.config.PatchConfigResponse\x12H\n" +
|
|
"\tGetConfig\x12\x1c.api.config.GetConfigRequest\x1a\x1d.api.config.GetConfigResponseb\x06proto3"
|
|
|
|
var (
|
|
file_api_config_proto_rawDescOnce sync.Once
|
|
file_api_config_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_api_config_proto_rawDescGZIP() []byte {
|
|
file_api_config_proto_rawDescOnce.Do(func() {
|
|
file_api_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_config_proto_rawDesc), len(file_api_config_proto_rawDesc)))
|
|
})
|
|
return file_api_config_proto_rawDescData
|
|
}
|
|
|
|
var file_api_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
|
var file_api_config_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
|
var file_api_config_proto_goTypes = []any{
|
|
(ConfigPatchAction)(0), // 0: api.config.ConfigPatchAction
|
|
(*InstanceConfigPatch)(nil), // 1: api.config.InstanceConfigPatch
|
|
(*VpnPortalClientPatch)(nil), // 2: api.config.VpnPortalClientPatch
|
|
(*PortForwardPatch)(nil), // 3: api.config.PortForwardPatch
|
|
(*StringPatch)(nil), // 4: api.config.StringPatch
|
|
(*UrlPatch)(nil), // 5: api.config.UrlPatch
|
|
(*AclPatch)(nil), // 6: api.config.AclPatch
|
|
(*ProxyNetworkPatch)(nil), // 7: api.config.ProxyNetworkPatch
|
|
(*RoutePatch)(nil), // 8: api.config.RoutePatch
|
|
(*ExitNodePatch)(nil), // 9: api.config.ExitNodePatch
|
|
(*PatchConfigRequest)(nil), // 10: api.config.PatchConfigRequest
|
|
(*PatchConfigResponse)(nil), // 11: api.config.PatchConfigResponse
|
|
(*GetConfigRequest)(nil), // 12: api.config.GetConfigRequest
|
|
(*GetConfigResponse)(nil), // 13: api.config.GetConfigResponse
|
|
(*common.Ipv4Inet)(nil), // 14: common.Ipv4Inet
|
|
(*common.Ipv6Inet)(nil), // 15: common.Ipv6Inet
|
|
(*manage.ManagedCredentialSet)(nil), // 16: api.manage.ManagedCredentialSet
|
|
(*manage.VpnPortalClientConfig)(nil), // 17: api.manage.VpnPortalClientConfig
|
|
(*common.PortForwardConfigPb)(nil), // 18: common.PortForwardConfigPb
|
|
(*common.Url)(nil), // 19: common.Url
|
|
(*acl.Acl)(nil), // 20: acl.Acl
|
|
(*common.IpAddr)(nil), // 21: common.IpAddr
|
|
(*instance.InstanceIdentifier)(nil), // 22: api.instance.InstanceIdentifier
|
|
(*manage.NetworkConfig)(nil), // 23: api.manage.NetworkConfig
|
|
}
|
|
var file_api_config_proto_depIdxs = []int32{
|
|
14, // 0: api.config.InstanceConfigPatch.ipv4:type_name -> common.Ipv4Inet
|
|
15, // 1: api.config.InstanceConfigPatch.ipv6:type_name -> common.Ipv6Inet
|
|
3, // 2: api.config.InstanceConfigPatch.port_forwards:type_name -> api.config.PortForwardPatch
|
|
6, // 3: api.config.InstanceConfigPatch.acl:type_name -> api.config.AclPatch
|
|
7, // 4: api.config.InstanceConfigPatch.proxy_networks:type_name -> api.config.ProxyNetworkPatch
|
|
8, // 5: api.config.InstanceConfigPatch.routes:type_name -> api.config.RoutePatch
|
|
9, // 6: api.config.InstanceConfigPatch.exit_nodes:type_name -> api.config.ExitNodePatch
|
|
5, // 7: api.config.InstanceConfigPatch.mapped_listeners:type_name -> api.config.UrlPatch
|
|
5, // 8: api.config.InstanceConfigPatch.connectors:type_name -> api.config.UrlPatch
|
|
2, // 9: api.config.InstanceConfigPatch.vpn_portal_clients:type_name -> api.config.VpnPortalClientPatch
|
|
16, // 10: api.config.InstanceConfigPatch.managed_credentials:type_name -> api.manage.ManagedCredentialSet
|
|
0, // 11: api.config.VpnPortalClientPatch.action:type_name -> api.config.ConfigPatchAction
|
|
17, // 12: api.config.VpnPortalClientPatch.client:type_name -> api.manage.VpnPortalClientConfig
|
|
0, // 13: api.config.PortForwardPatch.action:type_name -> api.config.ConfigPatchAction
|
|
18, // 14: api.config.PortForwardPatch.cfg:type_name -> common.PortForwardConfigPb
|
|
0, // 15: api.config.StringPatch.action:type_name -> api.config.ConfigPatchAction
|
|
0, // 16: api.config.UrlPatch.action:type_name -> api.config.ConfigPatchAction
|
|
19, // 17: api.config.UrlPatch.url:type_name -> common.Url
|
|
20, // 18: api.config.AclPatch.acl:type_name -> acl.Acl
|
|
4, // 19: api.config.AclPatch.tcp_whitelist:type_name -> api.config.StringPatch
|
|
4, // 20: api.config.AclPatch.udp_whitelist:type_name -> api.config.StringPatch
|
|
0, // 21: api.config.ProxyNetworkPatch.action:type_name -> api.config.ConfigPatchAction
|
|
14, // 22: api.config.ProxyNetworkPatch.cidr:type_name -> common.Ipv4Inet
|
|
14, // 23: api.config.ProxyNetworkPatch.mapped_cidr:type_name -> common.Ipv4Inet
|
|
0, // 24: api.config.RoutePatch.action:type_name -> api.config.ConfigPatchAction
|
|
14, // 25: api.config.RoutePatch.cidr:type_name -> common.Ipv4Inet
|
|
0, // 26: api.config.ExitNodePatch.action:type_name -> api.config.ConfigPatchAction
|
|
21, // 27: api.config.ExitNodePatch.node:type_name -> common.IpAddr
|
|
1, // 28: api.config.PatchConfigRequest.patch:type_name -> api.config.InstanceConfigPatch
|
|
22, // 29: api.config.PatchConfigRequest.instance:type_name -> api.instance.InstanceIdentifier
|
|
22, // 30: api.config.GetConfigRequest.instance:type_name -> api.instance.InstanceIdentifier
|
|
23, // 31: api.config.GetConfigResponse.config:type_name -> api.manage.NetworkConfig
|
|
10, // 32: api.config.ConfigRpc.PatchConfig:input_type -> api.config.PatchConfigRequest
|
|
12, // 33: api.config.ConfigRpc.GetConfig:input_type -> api.config.GetConfigRequest
|
|
11, // 34: api.config.ConfigRpc.PatchConfig:output_type -> api.config.PatchConfigResponse
|
|
13, // 35: api.config.ConfigRpc.GetConfig:output_type -> api.config.GetConfigResponse
|
|
34, // [34:36] is the sub-list for method output_type
|
|
32, // [32:34] is the sub-list for method input_type
|
|
32, // [32:32] is the sub-list for extension type_name
|
|
32, // [32:32] is the sub-list for extension extendee
|
|
0, // [0:32] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_api_config_proto_init() }
|
|
func file_api_config_proto_init() {
|
|
if File_api_config_proto != nil {
|
|
return
|
|
}
|
|
file_api_config_proto_msgTypes[0].OneofWrappers = []any{}
|
|
file_api_config_proto_msgTypes[5].OneofWrappers = []any{}
|
|
file_api_config_proto_msgTypes[6].OneofWrappers = []any{}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_config_proto_rawDesc), len(file_api_config_proto_rawDesc)),
|
|
NumEnums: 1,
|
|
NumMessages: 13,
|
|
NumExtensions: 0,
|
|
NumServices: 1,
|
|
},
|
|
GoTypes: file_api_config_proto_goTypes,
|
|
DependencyIndexes: file_api_config_proto_depIdxs,
|
|
EnumInfos: file_api_config_proto_enumTypes,
|
|
MessageInfos: file_api_config_proto_msgTypes,
|
|
}.Build()
|
|
File_api_config_proto = out.File
|
|
file_api_config_proto_goTypes = nil
|
|
file_api_config_proto_depIdxs = nil
|
|
}
|