Documentation ¶
Index ¶
- Variables
- func ReplicaSetForComponent(component string, config *GKEConfig) string
- type GKEConfig
- func (*GKEConfig) Descriptor() ([]byte, []int)deprecated
- func (x *GKEConfig) GetComponentIdentity() map[string]string
- func (x *GKEConfig) GetContainer() string
- func (x *GKEConfig) GetDeployment() *protos.Deployment
- func (x *GKEConfig) GetIdentityAllowlist() map[string]*GKEConfig_Components
- func (x *GKEConfig) GetImage() string
- func (x *GKEConfig) GetListeners() map[string]*GKEConfig_ListenerOptions
- func (x *GKEConfig) GetManagerAddr() string
- func (x *GKEConfig) GetMinReplicas() int32
- func (x *GKEConfig) GetMtls() bool
- func (x *GKEConfig) GetRegions() []string
- func (*GKEConfig) ProtoMessage()
- func (x *GKEConfig) ProtoReflect() protoreflect.Message
- func (x *GKEConfig) Reset()
- func (x *GKEConfig) String() string
- type GKEConfig_Components
- func (*GKEConfig_Components) Descriptor() ([]byte, []int)deprecated
- func (x *GKEConfig_Components) GetComponent() []string
- func (*GKEConfig_Components) ProtoMessage()
- func (x *GKEConfig_Components) ProtoReflect() protoreflect.Message
- func (x *GKEConfig_Components) Reset()
- func (x *GKEConfig_Components) String() string
- type GKEConfig_ListenerOptions
- func (*GKEConfig_ListenerOptions) Descriptor() ([]byte, []int)deprecated
- func (x *GKEConfig_ListenerOptions) GetPublicHostname() string
- func (*GKEConfig_ListenerOptions) ProtoMessage()
- func (x *GKEConfig_ListenerOptions) ProtoReflect() protoreflect.Message
- func (x *GKEConfig_ListenerOptions) Reset()
- func (x *GKEConfig_ListenerOptions) String() string
Constants ¶
This section is empty.
Variables ¶
var File_internal_config_config_proto protoreflect.FileDescriptor
Functions ¶
func ReplicaSetForComponent ¶ added in v0.22.1
ReplicaSetForComponent returns the name of the Kubernetes ReplicaSet that should host the given component.
Types ¶
type GKEConfig ¶
type GKEConfig struct { // Name of the base docker image used to build the container. // // If empty, Service Weaver will pick 'ubuntu:rolling' as the base image. Image string `protobuf:"bytes,12,opt,name=image,proto3" json:"image,omitempty"` // List of unique regions to deploy the application to. Service Weaver will // manage the clusters in the given regions. // // If empty, Service Weaver will pick regions automatically. // // For a list of Google Cloud regions, see: // // https://cloud.google.com/compute/docs/regions-zones Regions []string `protobuf:"bytes,3,rep,name=regions,proto3" json:"regions,omitempty"` // Minimum number of running pods for each component. MinReplicas int32 `protobuf:"varint,11,opt,name=min_replicas,json=minReplicas,proto3" json:"min_replicas,omitempty"` Listeners map[string]*GKEConfig_ListenerOptions `` /* 159-byte string literal not displayed */ // If true, enables the intra-component mTLS protocol. In particular: // 1. All intra-component communication will be authenticated, ensuring // that the caller and callee components' identities can be verified. // 2. All intra-component communication will be authorized, ensuring that // the caller -> callee relationship matches the call graph encoded // in the program. // 3. All intra-component traffic will be encrypted, ensuring that a third // party cannot snoop on the network packets. // // Note that enabling mTLS will likely increase the CPU usage of your // application. Mtls bool `protobuf:"varint,8,opt,name=mtls,proto3" json:"mtls,omitempty"` // Address of the manager local to a Service Weaver process. This field is // typically filled by the manager, before starting a Service Weaver process. ManagerAddr string `protobuf:"bytes,5,opt,name=manager_addr,json=managerAddr,proto3" json:"manager_addr,omitempty"` // The URL of the container used to deploy the application (e.g., // us-docker.pkg.dev/my-project/serviceweaver-repo/todo:tag4df65e28), or the // empty string if containers are not being used. Container string `protobuf:"bytes,6,opt,name=container,proto3" json:"container,omitempty"` Deployment *protos.Deployment `protobuf:"bytes,7,opt,name=deployment,proto3" json:"deployment,omitempty"` // Map from component name to the expected component identity. ComponentIdentity map[string]string `` /* 200-byte string literal not displayed */ IdentityAllowlist map[string]*GKEConfig_Components `` /* 201-byte string literal not displayed */ // contains filtered or unexported fields }
GKEConfig holds configuration information for one execution of a Service Weaver application on GKE. Fields are populated from a combination of user specified configuration and Service Weaver provided information specific to a particular execution.
func (*GKEConfig) Descriptor
deprecated
func (*GKEConfig) GetComponentIdentity ¶ added in v0.10.0
func (*GKEConfig) GetContainer ¶
func (*GKEConfig) GetDeployment ¶
func (x *GKEConfig) GetDeployment() *protos.Deployment
func (*GKEConfig) GetIdentityAllowlist ¶ added in v0.10.0
func (x *GKEConfig) GetIdentityAllowlist() map[string]*GKEConfig_Components
func (*GKEConfig) GetListeners ¶ added in v0.15.0
func (x *GKEConfig) GetListeners() map[string]*GKEConfig_ListenerOptions
func (*GKEConfig) GetManagerAddr ¶
func (*GKEConfig) GetMinReplicas ¶ added in v0.23.1
func (*GKEConfig) GetRegions ¶
func (*GKEConfig) ProtoMessage ¶
func (*GKEConfig) ProtoMessage()
func (*GKEConfig) ProtoReflect ¶
func (x *GKEConfig) ProtoReflect() protoreflect.Message
type GKEConfig_Components ¶ added in v0.10.0
type GKEConfig_Components struct { Component []string `protobuf:"bytes,1,rep,name=component,proto3" json:"component,omitempty"` // contains filtered or unexported fields }
Map from a component identity to the list of components the identity is allowed to invoke methods on.
func (*GKEConfig_Components) Descriptor
deprecated
added in
v0.10.0
func (*GKEConfig_Components) Descriptor() ([]byte, []int)
Deprecated: Use GKEConfig_Components.ProtoReflect.Descriptor instead.
func (*GKEConfig_Components) GetComponent ¶ added in v0.10.0
func (x *GKEConfig_Components) GetComponent() []string
func (*GKEConfig_Components) ProtoMessage ¶ added in v0.10.0
func (*GKEConfig_Components) ProtoMessage()
func (*GKEConfig_Components) ProtoReflect ¶ added in v0.10.0
func (x *GKEConfig_Components) ProtoReflect() protoreflect.Message
func (*GKEConfig_Components) Reset ¶ added in v0.10.0
func (x *GKEConfig_Components) Reset()
func (*GKEConfig_Components) String ¶ added in v0.10.0
func (x *GKEConfig_Components) String() string
type GKEConfig_ListenerOptions ¶ added in v0.15.0
type GKEConfig_ListenerOptions struct { // Public hostname for the listener. If empty, the listener is assumed // to be private. // // Public listeners will be configured to receive ingress traffic; all other // listeners will be configured only for VPC-internal access. PublicHostname string `protobuf:"bytes,1,opt,name=public_hostname,json=publicHostname,proto3" json:"public_hostname,omitempty"` // contains filtered or unexported fields }
Options for the application listeners, keyed by listener name. If a listener isn't specified in the map, default options will be used.
func (*GKEConfig_ListenerOptions) Descriptor
deprecated
added in
v0.15.0
func (*GKEConfig_ListenerOptions) Descriptor() ([]byte, []int)
Deprecated: Use GKEConfig_ListenerOptions.ProtoReflect.Descriptor instead.
func (*GKEConfig_ListenerOptions) GetPublicHostname ¶ added in v0.15.0
func (x *GKEConfig_ListenerOptions) GetPublicHostname() string
func (*GKEConfig_ListenerOptions) ProtoMessage ¶ added in v0.15.0
func (*GKEConfig_ListenerOptions) ProtoMessage()
func (*GKEConfig_ListenerOptions) ProtoReflect ¶ added in v0.15.0
func (x *GKEConfig_ListenerOptions) ProtoReflect() protoreflect.Message
func (*GKEConfig_ListenerOptions) Reset ¶ added in v0.15.0
func (x *GKEConfig_ListenerOptions) Reset()
func (*GKEConfig_ListenerOptions) String ¶ added in v0.15.0
func (x *GKEConfig_ListenerOptions) String() string