config

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 15, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_internal_config_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type GKEConfig

type GKEConfig struct {

	// Cloud project the application should be deployed to. If empty, the
	// project value will be extracted from the active gcloud configuration
	// on the deploying machine.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Cloud account that should be used to deploy the application. If empty,
	// the account value will be extracted from the active gcloud
	// configuration on the deploying machine.
	Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,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"`
	PublicListener []*GKEConfig_PublicListener `protobuf:"bytes,4,rep,name=public_listener,json=publicListener,proto3" json:"public_listener,omitempty"`
	// 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.
	UseMtls bool `protobuf:"varint,8,opt,name=use_mtls,json=useMtls,proto3" json:"use_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) Descriptor() ([]byte, []int)

Deprecated: Use GKEConfig.ProtoReflect.Descriptor instead.

func (*GKEConfig) GetAccount

func (x *GKEConfig) GetAccount() string

func (*GKEConfig) GetComponentIdentity added in v0.10.0

func (x *GKEConfig) GetComponentIdentity() map[string]string

func (*GKEConfig) GetContainer

func (x *GKEConfig) GetContainer() string

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

func (x *GKEConfig) GetManagerAddr() string

func (*GKEConfig) GetProject

func (x *GKEConfig) GetProject() string

func (*GKEConfig) GetPublicListener

func (x *GKEConfig) GetPublicListener() []*GKEConfig_PublicListener

func (*GKEConfig) GetRegions

func (x *GKEConfig) GetRegions() []string

func (*GKEConfig) GetUseMtls added in v0.10.0

func (x *GKEConfig) GetUseMtls() bool

func (*GKEConfig) ProtoMessage

func (*GKEConfig) ProtoMessage()

func (*GKEConfig) ProtoReflect

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

func (*GKEConfig) Reset

func (x *GKEConfig) Reset()

func (*GKEConfig) String

func (x *GKEConfig) String() string

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_PublicListener

type GKEConfig_PublicListener struct {

	// Name of the listener. Must match the name the listener is created
	// with in the application binary (i.e., via a call to Listener()).
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Hostname under which the listener will be accessible.
	//
	// The hostname is used for routing ingress traffic to the listener.
	// It is an error to leave this field empty.
	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// contains filtered or unexported fields
}

Publicly accessible HTTP listeners for the application.

Service Weaver applications create HTTP listeners dynamically, i.e., via calls to Listener(). Only listeners listed here will be configured to receive ingress traffic; all other listeners will be configured only for VPC-internal access.

func (*GKEConfig_PublicListener) Descriptor deprecated

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

Deprecated: Use GKEConfig_PublicListener.ProtoReflect.Descriptor instead.

func (*GKEConfig_PublicListener) GetHostname

func (x *GKEConfig_PublicListener) GetHostname() string

func (*GKEConfig_PublicListener) GetName

func (x *GKEConfig_PublicListener) GetName() string

func (*GKEConfig_PublicListener) ProtoMessage

func (*GKEConfig_PublicListener) ProtoMessage()

func (*GKEConfig_PublicListener) ProtoReflect

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

func (*GKEConfig_PublicListener) Reset

func (x *GKEConfig_PublicListener) Reset()

func (*GKEConfig_PublicListener) String

func (x *GKEConfig_PublicListener) String() string

Jump to

Keyboard shortcuts

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