netv1

package module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2026 License: BSD-3-Clause Imports: 9 Imported by: 0

README

weft-network-proto

gRPC contract of weft-network, the controller that reconciles Routers, Load Balancers, DNS zones / records, and Scheduling Rules from the agent's event stream into the data plane (embedded Caddy

  • caddy-l4 + WireGuard + GoBGP microVMs + CoreDNS ; VyOS / FRR remain as escape hatches via weft instance for tenants that need multi-protocol routing).

Sibling repo to weft-proto — the two control planes scale independently (agent = identity / compute / storage ; network = traffic / naming / placement), so they own their own proto surface. Same conventions (task proto to regenerate stubs, backwards-compatible additions only, breaking changes need a new major version).

Service

RPC family Resources
Routers List / Create / Delete (peer WG, egress GoBGP microVM ; VyOS / FRR via escape hatch)
Load Balancers List / Create / Delete / SetBackends (embedded Caddy / caddy-l4)
DNS Zones List / Create / Delete (CoreDNS authoritative + optional RFC-2136 push to a downstream BIND)
DNS Records List / Create / Delete (operator-managed static, controller-reconciled auto)
Scheduling Rules List / Create / Delete (declarative placement constraints)

Deployment

weft-network runs as 3 infra microVMs (one per DC), etcd-elected leader. The webui talks to whichever replica is reachable ; reads are local snapshots, writes go to the leader (followers forward). A separate socket (--weft-network-socket) so the agent and the network controller stay independent at the wire boundary.

Documentation

Index

Constants

View Source
const (
	NetworkControlPlane_ListRouters_FullMethodName             = "/weft.network.v1.NetworkControlPlane/ListRouters"
	NetworkControlPlane_CreateRouter_FullMethodName            = "/weft.network.v1.NetworkControlPlane/CreateRouter"
	NetworkControlPlane_DeleteRouter_FullMethodName            = "/weft.network.v1.NetworkControlPlane/DeleteRouter"
	NetworkControlPlane_ListLoadBalancers_FullMethodName       = "/weft.network.v1.NetworkControlPlane/ListLoadBalancers"
	NetworkControlPlane_CreateLoadBalancer_FullMethodName      = "/weft.network.v1.NetworkControlPlane/CreateLoadBalancer"
	NetworkControlPlane_DeleteLoadBalancer_FullMethodName      = "/weft.network.v1.NetworkControlPlane/DeleteLoadBalancer"
	NetworkControlPlane_SetLoadBalancerBackends_FullMethodName = "/weft.network.v1.NetworkControlPlane/SetLoadBalancerBackends"
	NetworkControlPlane_ListDNSZones_FullMethodName            = "/weft.network.v1.NetworkControlPlane/ListDNSZones"
	NetworkControlPlane_CreateDNSZone_FullMethodName           = "/weft.network.v1.NetworkControlPlane/CreateDNSZone"
	NetworkControlPlane_DeleteDNSZone_FullMethodName           = "/weft.network.v1.NetworkControlPlane/DeleteDNSZone"
	NetworkControlPlane_ListDNSRecords_FullMethodName          = "/weft.network.v1.NetworkControlPlane/ListDNSRecords"
	NetworkControlPlane_CreateDNSRecord_FullMethodName         = "/weft.network.v1.NetworkControlPlane/CreateDNSRecord"
	NetworkControlPlane_DeleteDNSRecord_FullMethodName         = "/weft.network.v1.NetworkControlPlane/DeleteDNSRecord"
	NetworkControlPlane_ListSchedulingRules_FullMethodName     = "/weft.network.v1.NetworkControlPlane/ListSchedulingRules"
	NetworkControlPlane_CreateSchedulingRule_FullMethodName    = "/weft.network.v1.NetworkControlPlane/CreateSchedulingRule"
	NetworkControlPlane_DeleteSchedulingRule_FullMethodName    = "/weft.network.v1.NetworkControlPlane/DeleteSchedulingRule"
)

Variables

View Source
var File_network_proto protoreflect.FileDescriptor
View Source
var NetworkControlPlane_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "weft.network.v1.NetworkControlPlane",
	HandlerType: (*NetworkControlPlaneServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListRouters",
			Handler:    _NetworkControlPlane_ListRouters_Handler,
		},
		{
			MethodName: "CreateRouter",
			Handler:    _NetworkControlPlane_CreateRouter_Handler,
		},
		{
			MethodName: "DeleteRouter",
			Handler:    _NetworkControlPlane_DeleteRouter_Handler,
		},
		{
			MethodName: "ListLoadBalancers",
			Handler:    _NetworkControlPlane_ListLoadBalancers_Handler,
		},
		{
			MethodName: "CreateLoadBalancer",
			Handler:    _NetworkControlPlane_CreateLoadBalancer_Handler,
		},
		{
			MethodName: "DeleteLoadBalancer",
			Handler:    _NetworkControlPlane_DeleteLoadBalancer_Handler,
		},
		{
			MethodName: "SetLoadBalancerBackends",
			Handler:    _NetworkControlPlane_SetLoadBalancerBackends_Handler,
		},
		{
			MethodName: "ListDNSZones",
			Handler:    _NetworkControlPlane_ListDNSZones_Handler,
		},
		{
			MethodName: "CreateDNSZone",
			Handler:    _NetworkControlPlane_CreateDNSZone_Handler,
		},
		{
			MethodName: "DeleteDNSZone",
			Handler:    _NetworkControlPlane_DeleteDNSZone_Handler,
		},
		{
			MethodName: "ListDNSRecords",
			Handler:    _NetworkControlPlane_ListDNSRecords_Handler,
		},
		{
			MethodName: "CreateDNSRecord",
			Handler:    _NetworkControlPlane_CreateDNSRecord_Handler,
		},
		{
			MethodName: "DeleteDNSRecord",
			Handler:    _NetworkControlPlane_DeleteDNSRecord_Handler,
		},
		{
			MethodName: "ListSchedulingRules",
			Handler:    _NetworkControlPlane_ListSchedulingRules_Handler,
		},
		{
			MethodName: "CreateSchedulingRule",
			Handler:    _NetworkControlPlane_CreateSchedulingRule_Handler,
		},
		{
			MethodName: "DeleteSchedulingRule",
			Handler:    _NetworkControlPlane_DeleteSchedulingRule_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "network.proto",
}

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

Functions

func RegisterNetworkControlPlaneServer

func RegisterNetworkControlPlaneServer(s grpc.ServiceRegistrar, srv NetworkControlPlaneServer)

Types

type CreateDNSRecordRequest

type CreateDNSRecordRequest struct {
	ZoneUuid string `protobuf:"bytes,1,opt,name=zone_uuid,json=zoneUuid,proto3" json:"zone_uuid,omitempty"`
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Type     string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	Value    string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	Ttl      int32  `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateDNSRecordRequest) Descriptor deprecated

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

Deprecated: Use CreateDNSRecordRequest.ProtoReflect.Descriptor instead.

func (*CreateDNSRecordRequest) GetName

func (x *CreateDNSRecordRequest) GetName() string

func (*CreateDNSRecordRequest) GetTtl

func (x *CreateDNSRecordRequest) GetTtl() int32

func (*CreateDNSRecordRequest) GetType

func (x *CreateDNSRecordRequest) GetType() string

func (*CreateDNSRecordRequest) GetValue

func (x *CreateDNSRecordRequest) GetValue() string

func (*CreateDNSRecordRequest) GetZoneUuid

func (x *CreateDNSRecordRequest) GetZoneUuid() string

func (*CreateDNSRecordRequest) ProtoMessage

func (*CreateDNSRecordRequest) ProtoMessage()

func (*CreateDNSRecordRequest) ProtoReflect

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

func (*CreateDNSRecordRequest) Reset

func (x *CreateDNSRecordRequest) Reset()

func (*CreateDNSRecordRequest) String

func (x *CreateDNSRecordRequest) String() string

type CreateDNSRecordResponse

type CreateDNSRecordResponse struct {
	Record *DNSRecordInfo `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateDNSRecordResponse) Descriptor deprecated

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

Deprecated: Use CreateDNSRecordResponse.ProtoReflect.Descriptor instead.

func (*CreateDNSRecordResponse) GetRecord

func (x *CreateDNSRecordResponse) GetRecord() *DNSRecordInfo

func (*CreateDNSRecordResponse) ProtoMessage

func (*CreateDNSRecordResponse) ProtoMessage()

func (*CreateDNSRecordResponse) ProtoReflect

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

func (*CreateDNSRecordResponse) Reset

func (x *CreateDNSRecordResponse) Reset()

func (*CreateDNSRecordResponse) String

func (x *CreateDNSRecordResponse) String() string

type CreateDNSZoneRequest

type CreateDNSZoneRequest struct {
	Project    string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Name       string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Role       string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` // empty → "primary"
	TtlDefault int32  `protobuf:"varint,4,opt,name=ttl_default,json=ttlDefault,proto3" json:"ttl_default,omitempty"`
	PushTarget string `protobuf:"bytes,5,opt,name=push_target,json=pushTarget,proto3" json:"push_target,omitempty"` // empty = internal-only
	// contains filtered or unexported fields
}

func (*CreateDNSZoneRequest) Descriptor deprecated

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

Deprecated: Use CreateDNSZoneRequest.ProtoReflect.Descriptor instead.

func (*CreateDNSZoneRequest) GetName

func (x *CreateDNSZoneRequest) GetName() string

func (*CreateDNSZoneRequest) GetProject

func (x *CreateDNSZoneRequest) GetProject() string

func (*CreateDNSZoneRequest) GetPushTarget

func (x *CreateDNSZoneRequest) GetPushTarget() string

func (*CreateDNSZoneRequest) GetRole

func (x *CreateDNSZoneRequest) GetRole() string

func (*CreateDNSZoneRequest) GetTtlDefault

func (x *CreateDNSZoneRequest) GetTtlDefault() int32

func (*CreateDNSZoneRequest) ProtoMessage

func (*CreateDNSZoneRequest) ProtoMessage()

func (*CreateDNSZoneRequest) ProtoReflect

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

func (*CreateDNSZoneRequest) Reset

func (x *CreateDNSZoneRequest) Reset()

func (*CreateDNSZoneRequest) String

func (x *CreateDNSZoneRequest) String() string

type CreateDNSZoneResponse

type CreateDNSZoneResponse struct {
	Zone *DNSZoneInfo `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateDNSZoneResponse) Descriptor deprecated

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

Deprecated: Use CreateDNSZoneResponse.ProtoReflect.Descriptor instead.

func (*CreateDNSZoneResponse) GetZone

func (x *CreateDNSZoneResponse) GetZone() *DNSZoneInfo

func (*CreateDNSZoneResponse) ProtoMessage

func (*CreateDNSZoneResponse) ProtoMessage()

func (*CreateDNSZoneResponse) ProtoReflect

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

func (*CreateDNSZoneResponse) Reset

func (x *CreateDNSZoneResponse) Reset()

func (*CreateDNSZoneResponse) String

func (x *CreateDNSZoneResponse) String() string

type CreateLoadBalancerRequest

type CreateLoadBalancerRequest struct {
	Project  string   `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Name     string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Mode     string   `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` // "L4" | "L7"
	Port     uint32   `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
	Backends []string `protobuf:"bytes,5,rep,name=backends,proto3" json:"backends,omitempty"`
	Az       string   `protobuf:"bytes,6,opt,name=az,proto3" json:"az,omitempty"` // empty → "multi"
	// contains filtered or unexported fields
}

func (*CreateLoadBalancerRequest) Descriptor deprecated

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

Deprecated: Use CreateLoadBalancerRequest.ProtoReflect.Descriptor instead.

func (*CreateLoadBalancerRequest) GetAz

func (x *CreateLoadBalancerRequest) GetAz() string

func (*CreateLoadBalancerRequest) GetBackends

func (x *CreateLoadBalancerRequest) GetBackends() []string

func (*CreateLoadBalancerRequest) GetMode

func (x *CreateLoadBalancerRequest) GetMode() string

func (*CreateLoadBalancerRequest) GetName

func (x *CreateLoadBalancerRequest) GetName() string

func (*CreateLoadBalancerRequest) GetPort

func (x *CreateLoadBalancerRequest) GetPort() uint32

func (*CreateLoadBalancerRequest) GetProject

func (x *CreateLoadBalancerRequest) GetProject() string

func (*CreateLoadBalancerRequest) ProtoMessage

func (*CreateLoadBalancerRequest) ProtoMessage()

func (*CreateLoadBalancerRequest) ProtoReflect

func (*CreateLoadBalancerRequest) Reset

func (x *CreateLoadBalancerRequest) Reset()

func (*CreateLoadBalancerRequest) String

func (x *CreateLoadBalancerRequest) String() string

type CreateLoadBalancerResponse

type CreateLoadBalancerResponse struct {
	LoadBalancer *LoadBalancerInfo `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateLoadBalancerResponse) Descriptor deprecated

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

Deprecated: Use CreateLoadBalancerResponse.ProtoReflect.Descriptor instead.

func (*CreateLoadBalancerResponse) GetLoadBalancer

func (x *CreateLoadBalancerResponse) GetLoadBalancer() *LoadBalancerInfo

func (*CreateLoadBalancerResponse) ProtoMessage

func (*CreateLoadBalancerResponse) ProtoMessage()

func (*CreateLoadBalancerResponse) ProtoReflect

func (*CreateLoadBalancerResponse) Reset

func (x *CreateLoadBalancerResponse) Reset()

func (*CreateLoadBalancerResponse) String

func (x *CreateLoadBalancerResponse) String() string

type CreateRouterRequest

type CreateRouterRequest struct {
	Project  string   `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Name     string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Kind     string   `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`
	Backend  string   `protobuf:"bytes,4,opt,name=backend,proto3" json:"backend,omitempty"`
	Networks []string `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`
	External string   `protobuf:"bytes,6,opt,name=external,proto3" json:"external,omitempty"`
	Prefixes []string `protobuf:"bytes,7,rep,name=prefixes,proto3" json:"prefixes,omitempty"`  // see RouterInfo.prefixes
	Replicas int32    `protobuf:"varint,8,opt,name=replicas,proto3" json:"replicas,omitempty"` // see RouterInfo.replicas ; 0 → default 1
	// contains filtered or unexported fields
}

func (*CreateRouterRequest) Descriptor deprecated

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

Deprecated: Use CreateRouterRequest.ProtoReflect.Descriptor instead.

func (*CreateRouterRequest) GetBackend

func (x *CreateRouterRequest) GetBackend() string

func (*CreateRouterRequest) GetExternal

func (x *CreateRouterRequest) GetExternal() string

func (*CreateRouterRequest) GetKind

func (x *CreateRouterRequest) GetKind() string

func (*CreateRouterRequest) GetName

func (x *CreateRouterRequest) GetName() string

func (*CreateRouterRequest) GetNetworks

func (x *CreateRouterRequest) GetNetworks() []string

func (*CreateRouterRequest) GetPrefixes

func (x *CreateRouterRequest) GetPrefixes() []string

func (*CreateRouterRequest) GetProject

func (x *CreateRouterRequest) GetProject() string

func (*CreateRouterRequest) GetReplicas

func (x *CreateRouterRequest) GetReplicas() int32

func (*CreateRouterRequest) ProtoMessage

func (*CreateRouterRequest) ProtoMessage()

func (*CreateRouterRequest) ProtoReflect

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

func (*CreateRouterRequest) Reset

func (x *CreateRouterRequest) Reset()

func (*CreateRouterRequest) String

func (x *CreateRouterRequest) String() string

type CreateRouterResponse

type CreateRouterResponse struct {
	Router *RouterInfo `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRouterResponse) Descriptor deprecated

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

Deprecated: Use CreateRouterResponse.ProtoReflect.Descriptor instead.

func (*CreateRouterResponse) GetRouter

func (x *CreateRouterResponse) GetRouter() *RouterInfo

func (*CreateRouterResponse) ProtoMessage

func (*CreateRouterResponse) ProtoMessage()

func (*CreateRouterResponse) ProtoReflect

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

func (*CreateRouterResponse) Reset

func (x *CreateRouterResponse) Reset()

func (*CreateRouterResponse) String

func (x *CreateRouterResponse) String() string

type CreateSchedulingRuleRequest

type CreateSchedulingRuleRequest struct {
	Project  string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Count    int32  `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
	Selector string `protobuf:"bytes,4,opt,name=selector,proto3" json:"selector,omitempty"`
	Az       string `protobuf:"bytes,5,opt,name=az,proto3" json:"az,omitempty"`
	Rack     string `protobuf:"bytes,6,opt,name=rack,proto3" json:"rack,omitempty"`
	Host     string `protobuf:"bytes,7,opt,name=host,proto3" json:"host,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateSchedulingRuleRequest) Descriptor deprecated

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

Deprecated: Use CreateSchedulingRuleRequest.ProtoReflect.Descriptor instead.

func (*CreateSchedulingRuleRequest) GetAz

func (*CreateSchedulingRuleRequest) GetCount

func (x *CreateSchedulingRuleRequest) GetCount() int32

func (*CreateSchedulingRuleRequest) GetHost

func (x *CreateSchedulingRuleRequest) GetHost() string

func (*CreateSchedulingRuleRequest) GetName

func (x *CreateSchedulingRuleRequest) GetName() string

func (*CreateSchedulingRuleRequest) GetProject

func (x *CreateSchedulingRuleRequest) GetProject() string

func (*CreateSchedulingRuleRequest) GetRack

func (x *CreateSchedulingRuleRequest) GetRack() string

func (*CreateSchedulingRuleRequest) GetSelector

func (x *CreateSchedulingRuleRequest) GetSelector() string

func (*CreateSchedulingRuleRequest) ProtoMessage

func (*CreateSchedulingRuleRequest) ProtoMessage()

func (*CreateSchedulingRuleRequest) ProtoReflect

func (*CreateSchedulingRuleRequest) Reset

func (x *CreateSchedulingRuleRequest) Reset()

func (*CreateSchedulingRuleRequest) String

func (x *CreateSchedulingRuleRequest) String() string

type CreateSchedulingRuleResponse

type CreateSchedulingRuleResponse struct {
	Rule *SchedulingRuleInfo `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateSchedulingRuleResponse) Descriptor deprecated

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

Deprecated: Use CreateSchedulingRuleResponse.ProtoReflect.Descriptor instead.

func (*CreateSchedulingRuleResponse) GetRule

func (*CreateSchedulingRuleResponse) ProtoMessage

func (*CreateSchedulingRuleResponse) ProtoMessage()

func (*CreateSchedulingRuleResponse) ProtoReflect

func (*CreateSchedulingRuleResponse) Reset

func (x *CreateSchedulingRuleResponse) Reset()

func (*CreateSchedulingRuleResponse) String

type DNSRecordInfo

type DNSRecordInfo struct {
	Uuid     string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	ZoneUuid string `protobuf:"bytes,2,opt,name=zone_uuid,json=zoneUuid,proto3" json:"zone_uuid,omitempty"`
	Zone     string `protobuf:"bytes,3,opt,name=zone,proto3" json:"zone,omitempty"`   // denormalised for the table
	Name     string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`   // leaf or "@" for the apex
	Type     string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`   // "A" | "AAAA" | "CNAME" | "SRV" | "TXT" | "NS" | "MX"
	Value    string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"` // RHS
	Ttl      int32  `protobuf:"varint,7,opt,name=ttl,proto3" json:"ttl,omitempty"`
	Source   string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` // "static" | "auto"
	// contains filtered or unexported fields
}

func (*DNSRecordInfo) Descriptor deprecated

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

Deprecated: Use DNSRecordInfo.ProtoReflect.Descriptor instead.

func (*DNSRecordInfo) GetName

func (x *DNSRecordInfo) GetName() string

func (*DNSRecordInfo) GetSource

func (x *DNSRecordInfo) GetSource() string

func (*DNSRecordInfo) GetTtl

func (x *DNSRecordInfo) GetTtl() int32

func (*DNSRecordInfo) GetType

func (x *DNSRecordInfo) GetType() string

func (*DNSRecordInfo) GetUuid

func (x *DNSRecordInfo) GetUuid() string

func (*DNSRecordInfo) GetValue

func (x *DNSRecordInfo) GetValue() string

func (*DNSRecordInfo) GetZone

func (x *DNSRecordInfo) GetZone() string

func (*DNSRecordInfo) GetZoneUuid

func (x *DNSRecordInfo) GetZoneUuid() string

func (*DNSRecordInfo) ProtoMessage

func (*DNSRecordInfo) ProtoMessage()

func (*DNSRecordInfo) ProtoReflect

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

func (*DNSRecordInfo) Reset

func (x *DNSRecordInfo) Reset()

func (*DNSRecordInfo) String

func (x *DNSRecordInfo) String() string

type DNSZoneInfo

type DNSZoneInfo struct {
	Uuid            string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Name            string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`        // "weft.internal", "acme.weft.internal", …
	Role            string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`        // "primary" | "secondary" | "forward"
	Records         int32  `protobuf:"varint,4,opt,name=records,proto3" json:"records,omitempty"` // live record count
	TtlDefault      int32  `protobuf:"varint,5,opt,name=ttl_default,json=ttlDefault,proto3" json:"ttl_default,omitempty"`
	Backend         string `protobuf:"bytes,6,opt,name=backend,proto3" json:"backend,omitempty"`                         // "coredns"
	PushTarget      string `protobuf:"bytes,7,opt,name=push_target,json=pushTarget,proto3" json:"push_target,omitempty"` // empty = internal-only ; "ns1.acme.example (bind9, tsig acme-key)"
	PushState       string `protobuf:"bytes,8,opt,name=push_state,json=pushState,proto3" json:"push_state,omitempty"`    // empty | "synced @ <ts>" | "failed: <reason>"
	Project         string `protobuf:"bytes,9,opt,name=project,proto3" json:"project,omitempty"`                         // "platform" for root / tenant glue, else the project
	Status          string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`                          // "active" | "syncing" | "failed"
	CreatedAtUnixNs int64  `protobuf:"varint,11,opt,name=created_at_unix_ns,json=createdAtUnixNs,proto3" json:"created_at_unix_ns,omitempty"`
	// contains filtered or unexported fields
}

func (*DNSZoneInfo) Descriptor deprecated

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

Deprecated: Use DNSZoneInfo.ProtoReflect.Descriptor instead.

func (*DNSZoneInfo) GetBackend

func (x *DNSZoneInfo) GetBackend() string

func (*DNSZoneInfo) GetCreatedAtUnixNs

func (x *DNSZoneInfo) GetCreatedAtUnixNs() int64

func (*DNSZoneInfo) GetName

func (x *DNSZoneInfo) GetName() string

func (*DNSZoneInfo) GetProject

func (x *DNSZoneInfo) GetProject() string

func (*DNSZoneInfo) GetPushState

func (x *DNSZoneInfo) GetPushState() string

func (*DNSZoneInfo) GetPushTarget

func (x *DNSZoneInfo) GetPushTarget() string

func (*DNSZoneInfo) GetRecords

func (x *DNSZoneInfo) GetRecords() int32

func (*DNSZoneInfo) GetRole

func (x *DNSZoneInfo) GetRole() string

func (*DNSZoneInfo) GetStatus

func (x *DNSZoneInfo) GetStatus() string

func (*DNSZoneInfo) GetTtlDefault

func (x *DNSZoneInfo) GetTtlDefault() int32

func (*DNSZoneInfo) GetUuid

func (x *DNSZoneInfo) GetUuid() string

func (*DNSZoneInfo) ProtoMessage

func (*DNSZoneInfo) ProtoMessage()

func (*DNSZoneInfo) ProtoReflect

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

func (*DNSZoneInfo) Reset

func (x *DNSZoneInfo) Reset()

func (*DNSZoneInfo) String

func (x *DNSZoneInfo) String() string

type DeleteDNSRecordRequest

type DeleteDNSRecordRequest struct {
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteDNSRecordRequest) Descriptor deprecated

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

Deprecated: Use DeleteDNSRecordRequest.ProtoReflect.Descriptor instead.

func (*DeleteDNSRecordRequest) GetUuid

func (x *DeleteDNSRecordRequest) GetUuid() string

func (*DeleteDNSRecordRequest) ProtoMessage

func (*DeleteDNSRecordRequest) ProtoMessage()

func (*DeleteDNSRecordRequest) ProtoReflect

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

func (*DeleteDNSRecordRequest) Reset

func (x *DeleteDNSRecordRequest) Reset()

func (*DeleteDNSRecordRequest) String

func (x *DeleteDNSRecordRequest) String() string

type DeleteDNSRecordResponse

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

func (*DeleteDNSRecordResponse) Descriptor deprecated

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

Deprecated: Use DeleteDNSRecordResponse.ProtoReflect.Descriptor instead.

func (*DeleteDNSRecordResponse) ProtoMessage

func (*DeleteDNSRecordResponse) ProtoMessage()

func (*DeleteDNSRecordResponse) ProtoReflect

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

func (*DeleteDNSRecordResponse) Reset

func (x *DeleteDNSRecordResponse) Reset()

func (*DeleteDNSRecordResponse) String

func (x *DeleteDNSRecordResponse) String() string

type DeleteDNSZoneRequest

type DeleteDNSZoneRequest struct {
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteDNSZoneRequest) Descriptor deprecated

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

Deprecated: Use DeleteDNSZoneRequest.ProtoReflect.Descriptor instead.

func (*DeleteDNSZoneRequest) GetUuid

func (x *DeleteDNSZoneRequest) GetUuid() string

func (*DeleteDNSZoneRequest) ProtoMessage

func (*DeleteDNSZoneRequest) ProtoMessage()

func (*DeleteDNSZoneRequest) ProtoReflect

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

func (*DeleteDNSZoneRequest) Reset

func (x *DeleteDNSZoneRequest) Reset()

func (*DeleteDNSZoneRequest) String

func (x *DeleteDNSZoneRequest) String() string

type DeleteDNSZoneResponse

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

func (*DeleteDNSZoneResponse) Descriptor deprecated

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

Deprecated: Use DeleteDNSZoneResponse.ProtoReflect.Descriptor instead.

func (*DeleteDNSZoneResponse) ProtoMessage

func (*DeleteDNSZoneResponse) ProtoMessage()

func (*DeleteDNSZoneResponse) ProtoReflect

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

func (*DeleteDNSZoneResponse) Reset

func (x *DeleteDNSZoneResponse) Reset()

func (*DeleteDNSZoneResponse) String

func (x *DeleteDNSZoneResponse) String() string

type DeleteLoadBalancerRequest

type DeleteLoadBalancerRequest struct {
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteLoadBalancerRequest) Descriptor deprecated

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

Deprecated: Use DeleteLoadBalancerRequest.ProtoReflect.Descriptor instead.

func (*DeleteLoadBalancerRequest) GetUuid

func (x *DeleteLoadBalancerRequest) GetUuid() string

func (*DeleteLoadBalancerRequest) ProtoMessage

func (*DeleteLoadBalancerRequest) ProtoMessage()

func (*DeleteLoadBalancerRequest) ProtoReflect

func (*DeleteLoadBalancerRequest) Reset

func (x *DeleteLoadBalancerRequest) Reset()

func (*DeleteLoadBalancerRequest) String

func (x *DeleteLoadBalancerRequest) String() string

type DeleteLoadBalancerResponse

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

func (*DeleteLoadBalancerResponse) Descriptor deprecated

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

Deprecated: Use DeleteLoadBalancerResponse.ProtoReflect.Descriptor instead.

func (*DeleteLoadBalancerResponse) ProtoMessage

func (*DeleteLoadBalancerResponse) ProtoMessage()

func (*DeleteLoadBalancerResponse) ProtoReflect

func (*DeleteLoadBalancerResponse) Reset

func (x *DeleteLoadBalancerResponse) Reset()

func (*DeleteLoadBalancerResponse) String

func (x *DeleteLoadBalancerResponse) String() string

type DeleteRouterRequest

type DeleteRouterRequest struct {
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteRouterRequest) Descriptor deprecated

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

Deprecated: Use DeleteRouterRequest.ProtoReflect.Descriptor instead.

func (*DeleteRouterRequest) GetUuid

func (x *DeleteRouterRequest) GetUuid() string

func (*DeleteRouterRequest) ProtoMessage

func (*DeleteRouterRequest) ProtoMessage()

func (*DeleteRouterRequest) ProtoReflect

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

func (*DeleteRouterRequest) Reset

func (x *DeleteRouterRequest) Reset()

func (*DeleteRouterRequest) String

func (x *DeleteRouterRequest) String() string

type DeleteRouterResponse

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

func (*DeleteRouterResponse) Descriptor deprecated

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

Deprecated: Use DeleteRouterResponse.ProtoReflect.Descriptor instead.

func (*DeleteRouterResponse) ProtoMessage

func (*DeleteRouterResponse) ProtoMessage()

func (*DeleteRouterResponse) ProtoReflect

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

func (*DeleteRouterResponse) Reset

func (x *DeleteRouterResponse) Reset()

func (*DeleteRouterResponse) String

func (x *DeleteRouterResponse) String() string

type DeleteSchedulingRuleRequest

type DeleteSchedulingRuleRequest struct {
	Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteSchedulingRuleRequest) Descriptor deprecated

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

Deprecated: Use DeleteSchedulingRuleRequest.ProtoReflect.Descriptor instead.

func (*DeleteSchedulingRuleRequest) GetUuid

func (x *DeleteSchedulingRuleRequest) GetUuid() string

func (*DeleteSchedulingRuleRequest) ProtoMessage

func (*DeleteSchedulingRuleRequest) ProtoMessage()

func (*DeleteSchedulingRuleRequest) ProtoReflect

func (*DeleteSchedulingRuleRequest) Reset

func (x *DeleteSchedulingRuleRequest) Reset()

func (*DeleteSchedulingRuleRequest) String

func (x *DeleteSchedulingRuleRequest) String() string

type DeleteSchedulingRuleResponse

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

func (*DeleteSchedulingRuleResponse) Descriptor deprecated

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

Deprecated: Use DeleteSchedulingRuleResponse.ProtoReflect.Descriptor instead.

func (*DeleteSchedulingRuleResponse) ProtoMessage

func (*DeleteSchedulingRuleResponse) ProtoMessage()

func (*DeleteSchedulingRuleResponse) ProtoReflect

func (*DeleteSchedulingRuleResponse) Reset

func (x *DeleteSchedulingRuleResponse) Reset()

func (*DeleteSchedulingRuleResponse) String

type ListDNSRecordsRequest

type ListDNSRecordsRequest struct {
	ZoneUuid  string `protobuf:"bytes,1,opt,name=zone_uuid,json=zoneUuid,proto3" json:"zone_uuid,omitempty"` // empty = every zone
	Limit     int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListDNSRecordsRequest) Descriptor deprecated

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

Deprecated: Use ListDNSRecordsRequest.ProtoReflect.Descriptor instead.

func (*ListDNSRecordsRequest) GetLimit

func (x *ListDNSRecordsRequest) GetLimit() int32

func (*ListDNSRecordsRequest) GetPageToken

func (x *ListDNSRecordsRequest) GetPageToken() string

func (*ListDNSRecordsRequest) GetZoneUuid

func (x *ListDNSRecordsRequest) GetZoneUuid() string

func (*ListDNSRecordsRequest) ProtoMessage

func (*ListDNSRecordsRequest) ProtoMessage()

func (*ListDNSRecordsRequest) ProtoReflect

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

func (*ListDNSRecordsRequest) Reset

func (x *ListDNSRecordsRequest) Reset()

func (*ListDNSRecordsRequest) String

func (x *ListDNSRecordsRequest) String() string

type ListDNSRecordsResponse

type ListDNSRecordsResponse struct {
	Records       []*DNSRecordInfo `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	NextPageToken string           `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListDNSRecordsResponse) Descriptor deprecated

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

Deprecated: Use ListDNSRecordsResponse.ProtoReflect.Descriptor instead.

func (*ListDNSRecordsResponse) GetNextPageToken

func (x *ListDNSRecordsResponse) GetNextPageToken() string

func (*ListDNSRecordsResponse) GetRecords

func (x *ListDNSRecordsResponse) GetRecords() []*DNSRecordInfo

func (*ListDNSRecordsResponse) ProtoMessage

func (*ListDNSRecordsResponse) ProtoMessage()

func (*ListDNSRecordsResponse) ProtoReflect

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

func (*ListDNSRecordsResponse) Reset

func (x *ListDNSRecordsResponse) Reset()

func (*ListDNSRecordsResponse) String

func (x *ListDNSRecordsResponse) String() string

type ListDNSZonesRequest

type ListDNSZonesRequest struct {
	Project   string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Limit     int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListDNSZonesRequest) Descriptor deprecated

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

Deprecated: Use ListDNSZonesRequest.ProtoReflect.Descriptor instead.

func (*ListDNSZonesRequest) GetLimit

func (x *ListDNSZonesRequest) GetLimit() int32

func (*ListDNSZonesRequest) GetPageToken

func (x *ListDNSZonesRequest) GetPageToken() string

func (*ListDNSZonesRequest) GetProject

func (x *ListDNSZonesRequest) GetProject() string

func (*ListDNSZonesRequest) ProtoMessage

func (*ListDNSZonesRequest) ProtoMessage()

func (*ListDNSZonesRequest) ProtoReflect

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

func (*ListDNSZonesRequest) Reset

func (x *ListDNSZonesRequest) Reset()

func (*ListDNSZonesRequest) String

func (x *ListDNSZonesRequest) String() string

type ListDNSZonesResponse

type ListDNSZonesResponse struct {
	Zones         []*DNSZoneInfo `protobuf:"bytes,1,rep,name=zones,proto3" json:"zones,omitempty"`
	NextPageToken string         `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListDNSZonesResponse) Descriptor deprecated

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

Deprecated: Use ListDNSZonesResponse.ProtoReflect.Descriptor instead.

func (*ListDNSZonesResponse) GetNextPageToken

func (x *ListDNSZonesResponse) GetNextPageToken() string

func (*ListDNSZonesResponse) GetZones

func (x *ListDNSZonesResponse) GetZones() []*DNSZoneInfo

func (*ListDNSZonesResponse) ProtoMessage

func (*ListDNSZonesResponse) ProtoMessage()

func (*ListDNSZonesResponse) ProtoReflect

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

func (*ListDNSZonesResponse) Reset

func (x *ListDNSZonesResponse) Reset()

func (*ListDNSZonesResponse) String

func (x *ListDNSZonesResponse) String() string

type ListLoadBalancersRequest

type ListLoadBalancersRequest struct {
	Project   string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Limit     int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListLoadBalancersRequest) Descriptor deprecated

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

Deprecated: Use ListLoadBalancersRequest.ProtoReflect.Descriptor instead.

func (*ListLoadBalancersRequest) GetLimit

func (x *ListLoadBalancersRequest) GetLimit() int32

func (*ListLoadBalancersRequest) GetPageToken

func (x *ListLoadBalancersRequest) GetPageToken() string

func (*ListLoadBalancersRequest) GetProject

func (x *ListLoadBalancersRequest) GetProject() string

func (*ListLoadBalancersRequest) ProtoMessage

func (*ListLoadBalancersRequest) ProtoMessage()

func (*ListLoadBalancersRequest) ProtoReflect

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

func (*ListLoadBalancersRequest) Reset

func (x *ListLoadBalancersRequest) Reset()

func (*ListLoadBalancersRequest) String

func (x *ListLoadBalancersRequest) String() string

type ListLoadBalancersResponse

type ListLoadBalancersResponse struct {
	LoadBalancers []*LoadBalancerInfo `protobuf:"bytes,1,rep,name=load_balancers,json=loadBalancers,proto3" json:"load_balancers,omitempty"`
	NextPageToken string              `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListLoadBalancersResponse) Descriptor deprecated

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

Deprecated: Use ListLoadBalancersResponse.ProtoReflect.Descriptor instead.

func (*ListLoadBalancersResponse) GetLoadBalancers

func (x *ListLoadBalancersResponse) GetLoadBalancers() []*LoadBalancerInfo

func (*ListLoadBalancersResponse) GetNextPageToken

func (x *ListLoadBalancersResponse) GetNextPageToken() string

func (*ListLoadBalancersResponse) ProtoMessage

func (*ListLoadBalancersResponse) ProtoMessage()

func (*ListLoadBalancersResponse) ProtoReflect

func (*ListLoadBalancersResponse) Reset

func (x *ListLoadBalancersResponse) Reset()

func (*ListLoadBalancersResponse) String

func (x *ListLoadBalancersResponse) String() string

type ListRoutersRequest

type ListRoutersRequest struct {
	Project   string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Limit     int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListRoutersRequest) Descriptor deprecated

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

Deprecated: Use ListRoutersRequest.ProtoReflect.Descriptor instead.

func (*ListRoutersRequest) GetLimit

func (x *ListRoutersRequest) GetLimit() int32

func (*ListRoutersRequest) GetPageToken

func (x *ListRoutersRequest) GetPageToken() string

func (*ListRoutersRequest) GetProject

func (x *ListRoutersRequest) GetProject() string

func (*ListRoutersRequest) ProtoMessage

func (*ListRoutersRequest) ProtoMessage()

func (*ListRoutersRequest) ProtoReflect

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

func (*ListRoutersRequest) Reset

func (x *ListRoutersRequest) Reset()

func (*ListRoutersRequest) String

func (x *ListRoutersRequest) String() string

type ListRoutersResponse

type ListRoutersResponse struct {
	Routers       []*RouterInfo `protobuf:"bytes,1,rep,name=routers,proto3" json:"routers,omitempty"`
	NextPageToken string        `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListRoutersResponse) Descriptor deprecated

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

Deprecated: Use ListRoutersResponse.ProtoReflect.Descriptor instead.

func (*ListRoutersResponse) GetNextPageToken

func (x *ListRoutersResponse) GetNextPageToken() string

func (*ListRoutersResponse) GetRouters

func (x *ListRoutersResponse) GetRouters() []*RouterInfo

func (*ListRoutersResponse) ProtoMessage

func (*ListRoutersResponse) ProtoMessage()

func (*ListRoutersResponse) ProtoReflect

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

func (*ListRoutersResponse) Reset

func (x *ListRoutersResponse) Reset()

func (*ListRoutersResponse) String

func (x *ListRoutersResponse) String() string

type ListSchedulingRulesRequest

type ListSchedulingRulesRequest struct {
	Project   string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Limit     int32  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSchedulingRulesRequest) Descriptor deprecated

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

Deprecated: Use ListSchedulingRulesRequest.ProtoReflect.Descriptor instead.

func (*ListSchedulingRulesRequest) GetLimit

func (x *ListSchedulingRulesRequest) GetLimit() int32

func (*ListSchedulingRulesRequest) GetPageToken

func (x *ListSchedulingRulesRequest) GetPageToken() string

func (*ListSchedulingRulesRequest) GetProject

func (x *ListSchedulingRulesRequest) GetProject() string

func (*ListSchedulingRulesRequest) ProtoMessage

func (*ListSchedulingRulesRequest) ProtoMessage()

func (*ListSchedulingRulesRequest) ProtoReflect

func (*ListSchedulingRulesRequest) Reset

func (x *ListSchedulingRulesRequest) Reset()

func (*ListSchedulingRulesRequest) String

func (x *ListSchedulingRulesRequest) String() string

type ListSchedulingRulesResponse

type ListSchedulingRulesResponse struct {
	Rules         []*SchedulingRuleInfo `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	NextPageToken string                `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSchedulingRulesResponse) Descriptor deprecated

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

Deprecated: Use ListSchedulingRulesResponse.ProtoReflect.Descriptor instead.

func (*ListSchedulingRulesResponse) GetNextPageToken

func (x *ListSchedulingRulesResponse) GetNextPageToken() string

func (*ListSchedulingRulesResponse) GetRules

func (*ListSchedulingRulesResponse) ProtoMessage

func (*ListSchedulingRulesResponse) ProtoMessage()

func (*ListSchedulingRulesResponse) ProtoReflect

func (*ListSchedulingRulesResponse) Reset

func (x *ListSchedulingRulesResponse) Reset()

func (*ListSchedulingRulesResponse) String

func (x *ListSchedulingRulesResponse) String() string

type LoadBalancerInfo

type LoadBalancerInfo struct {
	Uuid            string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Name            string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Mode            string   `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"`       // "L4" | "L7"
	Address         string   `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` // VIP : "203.0.113.20" or "10.10.0.100"
	Port            uint32   `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
	Backends        []string `protobuf:"bytes,6,rep,name=backends,proto3" json:"backends,omitempty"`     // VM / instance names this LB fronts
	Az              string   `protobuf:"bytes,7,opt,name=az,proto3" json:"az,omitempty"`                 // "DC-A" / "DC-B" / "DC-C" / "multi"
	Controller      string   `protobuf:"bytes,8,opt,name=controller,proto3" json:"controller,omitempty"` // weft-network instance currently owning the Caddy reconciler
	Project         string   `protobuf:"bytes,9,opt,name=project,proto3" json:"project,omitempty"`
	Status          string   `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` // "active" | "provisioning" | "failed"
	CreatedAtUnixNs int64    `protobuf:"varint,11,opt,name=created_at_unix_ns,json=createdAtUnixNs,proto3" json:"created_at_unix_ns,omitempty"`
	// contains filtered or unexported fields
}

func (*LoadBalancerInfo) Descriptor deprecated

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

Deprecated: Use LoadBalancerInfo.ProtoReflect.Descriptor instead.

func (*LoadBalancerInfo) GetAddress

func (x *LoadBalancerInfo) GetAddress() string

func (*LoadBalancerInfo) GetAz

func (x *LoadBalancerInfo) GetAz() string

func (*LoadBalancerInfo) GetBackends

func (x *LoadBalancerInfo) GetBackends() []string

func (*LoadBalancerInfo) GetController

func (x *LoadBalancerInfo) GetController() string

func (*LoadBalancerInfo) GetCreatedAtUnixNs

func (x *LoadBalancerInfo) GetCreatedAtUnixNs() int64

func (*LoadBalancerInfo) GetMode

func (x *LoadBalancerInfo) GetMode() string

func (*LoadBalancerInfo) GetName

func (x *LoadBalancerInfo) GetName() string

func (*LoadBalancerInfo) GetPort

func (x *LoadBalancerInfo) GetPort() uint32

func (*LoadBalancerInfo) GetProject

func (x *LoadBalancerInfo) GetProject() string

func (*LoadBalancerInfo) GetStatus

func (x *LoadBalancerInfo) GetStatus() string

func (*LoadBalancerInfo) GetUuid

func (x *LoadBalancerInfo) GetUuid() string

func (*LoadBalancerInfo) ProtoMessage

func (*LoadBalancerInfo) ProtoMessage()

func (*LoadBalancerInfo) ProtoReflect

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

func (*LoadBalancerInfo) Reset

func (x *LoadBalancerInfo) Reset()

func (*LoadBalancerInfo) String

func (x *LoadBalancerInfo) String() string

type NetworkControlPlaneClient

type NetworkControlPlaneClient interface {
	// Routers
	ListRouters(ctx context.Context, in *ListRoutersRequest, opts ...grpc.CallOption) (*ListRoutersResponse, error)
	CreateRouter(ctx context.Context, in *CreateRouterRequest, opts ...grpc.CallOption) (*CreateRouterResponse, error)
	DeleteRouter(ctx context.Context, in *DeleteRouterRequest, opts ...grpc.CallOption) (*DeleteRouterResponse, error)
	// Load Balancers
	ListLoadBalancers(ctx context.Context, in *ListLoadBalancersRequest, opts ...grpc.CallOption) (*ListLoadBalancersResponse, error)
	CreateLoadBalancer(ctx context.Context, in *CreateLoadBalancerRequest, opts ...grpc.CallOption) (*CreateLoadBalancerResponse, error)
	DeleteLoadBalancer(ctx context.Context, in *DeleteLoadBalancerRequest, opts ...grpc.CallOption) (*DeleteLoadBalancerResponse, error)
	SetLoadBalancerBackends(ctx context.Context, in *SetLoadBalancerBackendsRequest, opts ...grpc.CallOption) (*SetLoadBalancerBackendsResponse, error)
	// DNS Zones
	ListDNSZones(ctx context.Context, in *ListDNSZonesRequest, opts ...grpc.CallOption) (*ListDNSZonesResponse, error)
	CreateDNSZone(ctx context.Context, in *CreateDNSZoneRequest, opts ...grpc.CallOption) (*CreateDNSZoneResponse, error)
	DeleteDNSZone(ctx context.Context, in *DeleteDNSZoneRequest, opts ...grpc.CallOption) (*DeleteDNSZoneResponse, error)
	// DNS Records
	ListDNSRecords(ctx context.Context, in *ListDNSRecordsRequest, opts ...grpc.CallOption) (*ListDNSRecordsResponse, error)
	CreateDNSRecord(ctx context.Context, in *CreateDNSRecordRequest, opts ...grpc.CallOption) (*CreateDNSRecordResponse, error)
	DeleteDNSRecord(ctx context.Context, in *DeleteDNSRecordRequest, opts ...grpc.CallOption) (*DeleteDNSRecordResponse, error)
	// Scheduling Rules
	ListSchedulingRules(ctx context.Context, in *ListSchedulingRulesRequest, opts ...grpc.CallOption) (*ListSchedulingRulesResponse, error)
	CreateSchedulingRule(ctx context.Context, in *CreateSchedulingRuleRequest, opts ...grpc.CallOption) (*CreateSchedulingRuleResponse, error)
	DeleteSchedulingRule(ctx context.Context, in *DeleteSchedulingRuleRequest, opts ...grpc.CallOption) (*DeleteSchedulingRuleResponse, error)
}

NetworkControlPlaneClient is the client API for NetworkControlPlane 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 NetworkControlPlaneServer

type NetworkControlPlaneServer interface {
	// Routers
	ListRouters(context.Context, *ListRoutersRequest) (*ListRoutersResponse, error)
	CreateRouter(context.Context, *CreateRouterRequest) (*CreateRouterResponse, error)
	DeleteRouter(context.Context, *DeleteRouterRequest) (*DeleteRouterResponse, error)
	// Load Balancers
	ListLoadBalancers(context.Context, *ListLoadBalancersRequest) (*ListLoadBalancersResponse, error)
	CreateLoadBalancer(context.Context, *CreateLoadBalancerRequest) (*CreateLoadBalancerResponse, error)
	DeleteLoadBalancer(context.Context, *DeleteLoadBalancerRequest) (*DeleteLoadBalancerResponse, error)
	SetLoadBalancerBackends(context.Context, *SetLoadBalancerBackendsRequest) (*SetLoadBalancerBackendsResponse, error)
	// DNS Zones
	ListDNSZones(context.Context, *ListDNSZonesRequest) (*ListDNSZonesResponse, error)
	CreateDNSZone(context.Context, *CreateDNSZoneRequest) (*CreateDNSZoneResponse, error)
	DeleteDNSZone(context.Context, *DeleteDNSZoneRequest) (*DeleteDNSZoneResponse, error)
	// DNS Records
	ListDNSRecords(context.Context, *ListDNSRecordsRequest) (*ListDNSRecordsResponse, error)
	CreateDNSRecord(context.Context, *CreateDNSRecordRequest) (*CreateDNSRecordResponse, error)
	DeleteDNSRecord(context.Context, *DeleteDNSRecordRequest) (*DeleteDNSRecordResponse, error)
	// Scheduling Rules
	ListSchedulingRules(context.Context, *ListSchedulingRulesRequest) (*ListSchedulingRulesResponse, error)
	CreateSchedulingRule(context.Context, *CreateSchedulingRuleRequest) (*CreateSchedulingRuleResponse, error)
	DeleteSchedulingRule(context.Context, *DeleteSchedulingRuleRequest) (*DeleteSchedulingRuleResponse, error)
	// contains filtered or unexported methods
}

NetworkControlPlaneServer is the server API for NetworkControlPlane service. All implementations must embed UnimplementedNetworkControlPlaneServer for forward compatibility.

type RouterInfo

type RouterInfo struct {
	Uuid            string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Name            string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Kind            string   `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`                            // "peer" | "egress"
	Backend         string   `protobuf:"bytes,4,opt,name=backend,proto3" json:"backend,omitempty"`                      // "wireguard" | "gobgp" | "vyos" | "frr"
	Networks        []string `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`                    // tenant network names this router stitches
	External        string   `protobuf:"bytes,6,opt,name=external,proto3" json:"external,omitempty"`                    // AS number / peer ; empty for `kind=peer`
	PeerState       string   `protobuf:"bytes,7,opt,name=peer_state,json=peerState,proto3" json:"peer_state,omitempty"` // live handshake info for `kind=peer`
	Project         string   `protobuf:"bytes,8,opt,name=project,proto3" json:"project,omitempty"`                      // owning project ; "platform" for infra routers
	Status          string   `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`                        // "active" | "down" | "configuring"
	CreatedAtUnixNs int64    `protobuf:"varint,10,opt,name=created_at_unix_ns,json=createdAtUnixNs,proto3" json:"created_at_unix_ns,omitempty"`
	// Prefixes the router advertises to its peers (kind=egress + backend=gobgp).
	// CIDR strings, IPv4 or IPv6 ; one entry per advertised prefix. Empty for
	// kind=peer routers. Optional communities / per-prefix next-hops will land
	// in a separate field shape when the operator workflow asks for them ;
	// today this single list covers the 99% case of "advertise my owned space".
	Prefixes []string `protobuf:"bytes,11,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
	// Replicas is the number of weft-router microVMs spawned for this
	// Router. Default 1 (single-VM, single point of failure).
	// Production HA setup : set to 2 or 3, the orchestrator spawns one
	// microVM per replica with deterministic names
	// ("weft-router-<uuid>-1", "-2", ...). All replicas subscribe to
	// the same NATS config subject + advertise the same prefixes ;
	// the upstream peer load-balances inbound traffic via BGP
	// multipath / ECMP. Failure of one replica drops a path ; the
	// others stay live, the upstream redistributes within one BGP
	// keepalive window. 1 ≤ replicas ≤ 10.
	Replicas int32 `protobuf:"varint,12,opt,name=replicas,proto3" json:"replicas,omitempty"`
	// contains filtered or unexported fields
}

RouterInfo is one entry in the router registry.

`kind` distinguishes the controller's two main shapes :

  • "peer" : a WireGuard peer wiring two tenant networks together. Backend is always "wireguard". `peer_state` carries the live handshake info reported by the data plane.
  • "egress" : BGP gateway to the public internet. Backend defaults to "gobgp" (the weft-router micro-VM running GoBGP + netlink — pure-Go, micro-VM-scaled, the openweft microVM-first strategy). "vyos" / "frr" remain accepted as escape hatches for tenants that need multi-protocol routing (OSPF / IS-IS / RSVP-TE) and run as classic VMs via `weft instance`. `external` describes the upstream (ASN, peer IP, …).

func (*RouterInfo) Descriptor deprecated

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

Deprecated: Use RouterInfo.ProtoReflect.Descriptor instead.

func (*RouterInfo) GetBackend

func (x *RouterInfo) GetBackend() string

func (*RouterInfo) GetCreatedAtUnixNs

func (x *RouterInfo) GetCreatedAtUnixNs() int64

func (*RouterInfo) GetExternal

func (x *RouterInfo) GetExternal() string

func (*RouterInfo) GetKind

func (x *RouterInfo) GetKind() string

func (*RouterInfo) GetName

func (x *RouterInfo) GetName() string

func (*RouterInfo) GetNetworks

func (x *RouterInfo) GetNetworks() []string

func (*RouterInfo) GetPeerState

func (x *RouterInfo) GetPeerState() string

func (*RouterInfo) GetPrefixes

func (x *RouterInfo) GetPrefixes() []string

func (*RouterInfo) GetProject

func (x *RouterInfo) GetProject() string

func (*RouterInfo) GetReplicas

func (x *RouterInfo) GetReplicas() int32

func (*RouterInfo) GetStatus

func (x *RouterInfo) GetStatus() string

func (*RouterInfo) GetUuid

func (x *RouterInfo) GetUuid() string

func (*RouterInfo) ProtoMessage

func (*RouterInfo) ProtoMessage()

func (*RouterInfo) ProtoReflect

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

func (*RouterInfo) Reset

func (x *RouterInfo) Reset()

func (*RouterInfo) String

func (x *RouterInfo) String() string

type SchedulingRuleInfo

type SchedulingRuleInfo struct {
	Uuid            string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Name            string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Count           int32  `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // desired replicas
	Ready           int32  `protobuf:"varint,4,opt,name=ready,proto3" json:"ready,omitempty"` // observed compliant replicas
	Selector        string `protobuf:"bytes,5,opt,name=selector,proto3" json:"selector,omitempty"`
	Az              string `protobuf:"bytes,6,opt,name=az,proto3" json:"az,omitempty"` // "" | "same" | "different" | <name>
	Rack            string `protobuf:"bytes,7,opt,name=rack,proto3" json:"rack,omitempty"`
	Host            string `protobuf:"bytes,8,opt,name=host,proto3" json:"host,omitempty"`
	Project         string `protobuf:"bytes,9,opt,name=project,proto3" json:"project,omitempty"`
	Status          string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` // "compliant" | "drifting" | "unschedulable"
	CreatedAtUnixNs int64  `protobuf:"varint,11,opt,name=created_at_unix_ns,json=createdAtUnixNs,proto3" json:"created_at_unix_ns,omitempty"`
	// contains filtered or unexported fields
}

func (*SchedulingRuleInfo) Descriptor deprecated

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

Deprecated: Use SchedulingRuleInfo.ProtoReflect.Descriptor instead.

func (*SchedulingRuleInfo) GetAz

func (x *SchedulingRuleInfo) GetAz() string

func (*SchedulingRuleInfo) GetCount

func (x *SchedulingRuleInfo) GetCount() int32

func (*SchedulingRuleInfo) GetCreatedAtUnixNs

func (x *SchedulingRuleInfo) GetCreatedAtUnixNs() int64

func (*SchedulingRuleInfo) GetHost

func (x *SchedulingRuleInfo) GetHost() string

func (*SchedulingRuleInfo) GetName

func (x *SchedulingRuleInfo) GetName() string

func (*SchedulingRuleInfo) GetProject

func (x *SchedulingRuleInfo) GetProject() string

func (*SchedulingRuleInfo) GetRack

func (x *SchedulingRuleInfo) GetRack() string

func (*SchedulingRuleInfo) GetReady

func (x *SchedulingRuleInfo) GetReady() int32

func (*SchedulingRuleInfo) GetSelector

func (x *SchedulingRuleInfo) GetSelector() string

func (*SchedulingRuleInfo) GetStatus

func (x *SchedulingRuleInfo) GetStatus() string

func (*SchedulingRuleInfo) GetUuid

func (x *SchedulingRuleInfo) GetUuid() string

func (*SchedulingRuleInfo) ProtoMessage

func (*SchedulingRuleInfo) ProtoMessage()

func (*SchedulingRuleInfo) ProtoReflect

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

func (*SchedulingRuleInfo) Reset

func (x *SchedulingRuleInfo) Reset()

func (*SchedulingRuleInfo) String

func (x *SchedulingRuleInfo) String() string

type SetLoadBalancerBackendsRequest

type SetLoadBalancerBackendsRequest struct {
	Uuid     string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Backends []string `protobuf:"bytes,2,rep,name=backends,proto3" json:"backends,omitempty"`
	// contains filtered or unexported fields
}

SetLoadBalancerBackends replaces the backend list atomically. The reconciler diffs against the live state and patches the embedded Caddy config via its admin API (only the changed upstream pool).

func (*SetLoadBalancerBackendsRequest) Descriptor deprecated

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

Deprecated: Use SetLoadBalancerBackendsRequest.ProtoReflect.Descriptor instead.

func (*SetLoadBalancerBackendsRequest) GetBackends

func (x *SetLoadBalancerBackendsRequest) GetBackends() []string

func (*SetLoadBalancerBackendsRequest) GetUuid

func (*SetLoadBalancerBackendsRequest) ProtoMessage

func (*SetLoadBalancerBackendsRequest) ProtoMessage()

func (*SetLoadBalancerBackendsRequest) ProtoReflect

func (*SetLoadBalancerBackendsRequest) Reset

func (x *SetLoadBalancerBackendsRequest) Reset()

func (*SetLoadBalancerBackendsRequest) String

type SetLoadBalancerBackendsResponse

type SetLoadBalancerBackendsResponse struct {
	LoadBalancer *LoadBalancerInfo `protobuf:"bytes,1,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
	// contains filtered or unexported fields
}

func (*SetLoadBalancerBackendsResponse) Descriptor deprecated

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

Deprecated: Use SetLoadBalancerBackendsResponse.ProtoReflect.Descriptor instead.

func (*SetLoadBalancerBackendsResponse) GetLoadBalancer

func (x *SetLoadBalancerBackendsResponse) GetLoadBalancer() *LoadBalancerInfo

func (*SetLoadBalancerBackendsResponse) ProtoMessage

func (*SetLoadBalancerBackendsResponse) ProtoMessage()

func (*SetLoadBalancerBackendsResponse) ProtoReflect

func (*SetLoadBalancerBackendsResponse) Reset

func (*SetLoadBalancerBackendsResponse) String

type UnimplementedNetworkControlPlaneServer

type UnimplementedNetworkControlPlaneServer struct{}

UnimplementedNetworkControlPlaneServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedNetworkControlPlaneServer) CreateDNSRecord

func (UnimplementedNetworkControlPlaneServer) CreateDNSZone

func (UnimplementedNetworkControlPlaneServer) CreateLoadBalancer

func (UnimplementedNetworkControlPlaneServer) CreateRouter

func (UnimplementedNetworkControlPlaneServer) CreateSchedulingRule

func (UnimplementedNetworkControlPlaneServer) DeleteDNSRecord

func (UnimplementedNetworkControlPlaneServer) DeleteDNSZone

func (UnimplementedNetworkControlPlaneServer) DeleteLoadBalancer

func (UnimplementedNetworkControlPlaneServer) DeleteRouter

func (UnimplementedNetworkControlPlaneServer) DeleteSchedulingRule

func (UnimplementedNetworkControlPlaneServer) ListDNSRecords

func (UnimplementedNetworkControlPlaneServer) ListDNSZones

func (UnimplementedNetworkControlPlaneServer) ListLoadBalancers

func (UnimplementedNetworkControlPlaneServer) ListRouters

func (UnimplementedNetworkControlPlaneServer) ListSchedulingRules

type UnsafeNetworkControlPlaneServer

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

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

Jump to

Keyboard shortcuts

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