Documentation ¶
Index ¶
- Constants
- Variables
- func Advance(s *Schedule) error
- func ChangeTimes(t *TargetFn, start time.Time) []time.Time
- func Done(s *Schedule) bool
- func Fraction(s *Schedule) float32
- func Hostname(lis string, loc string, cfg *config.GKEConfig) (string, bool)
- func IncrementAppliedDuration(s *Schedule, d time.Duration)
- func Length(t *TargetFn) time.Duration
- func Ready(s *Schedule) bool
- func Remaining(s *Schedule) time.Duration
- func TargetFraction(t *TargetFn, d time.Duration) float32
- type ActivateComponentRequest
- func (*ActivateComponentRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ActivateComponentRequest) GetComponent() string
- func (x *ActivateComponentRequest) GetConfig() *config.GKEConfig
- func (x *ActivateComponentRequest) GetReplicaSet() string
- func (x *ActivateComponentRequest) GetRouted() bool
- func (*ActivateComponentRequest) ProtoMessage()
- func (x *ActivateComponentRequest) ProtoReflect() protoreflect.Message
- func (x *ActivateComponentRequest) Reset()
- func (x *ActivateComponentRequest) String() string
- type ApplicationCleanupRequest
- func (*ApplicationCleanupRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationCleanupRequest) GetAppName() string
- func (x *ApplicationCleanupRequest) GetVersions() []string
- func (*ApplicationCleanupRequest) ProtoMessage()
- func (x *ApplicationCleanupRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationCleanupRequest) Reset()
- func (x *ApplicationCleanupRequest) String() string
- type ApplicationDeleteRequest
- func (*ApplicationDeleteRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationDeleteRequest) GetAppName() string
- func (x *ApplicationDeleteRequest) GetVersions() []*config.GKEConfig
- func (*ApplicationDeleteRequest) ProtoMessage()
- func (x *ApplicationDeleteRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationDeleteRequest) Reset()
- func (x *ApplicationDeleteRequest) String() string
- type ApplicationDeploymentRequest
- func (*ApplicationDeploymentRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationDeploymentRequest) GetAppName() string
- func (x *ApplicationDeploymentRequest) GetVersions() []*config.GKEConfig
- func (*ApplicationDeploymentRequest) ProtoMessage()
- func (x *ApplicationDeploymentRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationDeploymentRequest) Reset()
- func (x *ApplicationDeploymentRequest) String() string
- type ApplicationDistributionRequest
- func (*ApplicationDistributionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationDistributionRequest) GetAppName() string
- func (x *ApplicationDistributionRequest) GetRequests() []*VersionDistributionRequest
- func (*ApplicationDistributionRequest) ProtoMessage()
- func (x *ApplicationDistributionRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationDistributionRequest) Reset()
- func (x *ApplicationDistributionRequest) String() string
- type ApplicationStateAtDistributor
- func (*ApplicationStateAtDistributor) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationStateAtDistributor) GetDeletedVersions() []string
- func (x *ApplicationStateAtDistributor) GetVersionState() []*VersionStateAtDistributor
- func (*ApplicationStateAtDistributor) ProtoMessage()
- func (x *ApplicationStateAtDistributor) ProtoReflect() protoreflect.Message
- func (x *ApplicationStateAtDistributor) Reset()
- func (x *ApplicationStateAtDistributor) String() string
- type ApplicationStateAtDistributorRequest
- func (*ApplicationStateAtDistributorRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationStateAtDistributorRequest) GetAppName() string
- func (*ApplicationStateAtDistributorRequest) ProtoMessage()
- func (x *ApplicationStateAtDistributorRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationStateAtDistributorRequest) Reset()
- func (x *ApplicationStateAtDistributorRequest) String() string
- type ApplicationStopRequest
- func (*ApplicationStopRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplicationStopRequest) GetAppName() string
- func (x *ApplicationStopRequest) GetVersions() []*config.GKEConfig
- func (*ApplicationStopRequest) ProtoMessage()
- func (x *ApplicationStopRequest) ProtoReflect() protoreflect.Message
- func (x *ApplicationStopRequest) Reset()
- func (x *ApplicationStopRequest) String() string
- type CascadeTarget
- type ExportListenerRequest
- func (*ExportListenerRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ExportListenerRequest) GetConfig() *config.GKEConfig
- func (x *ExportListenerRequest) GetListener() *Listener
- func (x *ExportListenerRequest) GetReplicaSet() string
- func (*ExportListenerRequest) ProtoMessage()
- func (x *ExportListenerRequest) ProtoReflect() protoreflect.Message
- func (x *ExportListenerRequest) Reset()
- func (x *ExportListenerRequest) String() string
- type FractionSpec
- func (*FractionSpec) Descriptor() ([]byte, []int)deprecated
- func (x *FractionSpec) GetDuration() *durationpb.Duration
- func (x *FractionSpec) GetTrafficFraction() float32
- func (*FractionSpec) ProtoMessage()
- func (x *FractionSpec) ProtoReflect() protoreflect.Message
- func (x *FractionSpec) Reset()
- func (x *FractionSpec) String() string
- type GetComponentsReply
- func (*GetComponentsReply) Descriptor() ([]byte, []int)deprecated
- func (x *GetComponentsReply) GetComponents() []string
- func (x *GetComponentsReply) GetVersion() string
- func (*GetComponentsReply) ProtoMessage()
- func (x *GetComponentsReply) ProtoReflect() protoreflect.Message
- func (x *GetComponentsReply) Reset()
- func (x *GetComponentsReply) String() string
- type GetComponentsRequest
- func (*GetComponentsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetComponentsRequest) GetConfig() *config.GKEConfig
- func (x *GetComponentsRequest) GetReplicaSet() string
- func (x *GetComponentsRequest) GetVersion() string
- func (*GetComponentsRequest) ProtoMessage()
- func (x *GetComponentsRequest) ProtoReflect() protoreflect.Message
- func (x *GetComponentsRequest) Reset()
- func (x *GetComponentsRequest) String() string
- type GetListenerAddressRequest
- func (*GetListenerAddressRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetListenerAddressRequest) GetConfig() *config.GKEConfig
- func (x *GetListenerAddressRequest) GetListener() string
- func (x *GetListenerAddressRequest) GetReplicaSet() string
- func (*GetListenerAddressRequest) ProtoMessage()
- func (x *GetListenerAddressRequest) ProtoReflect() protoreflect.Message
- func (x *GetListenerAddressRequest) Reset()
- func (x *GetListenerAddressRequest) String() string
- type GetProfileRequest
- func (*GetProfileRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetProfileRequest) GetAppName() string
- func (x *GetProfileRequest) GetCpuDurationNs() int64
- func (x *GetProfileRequest) GetProfileType() protos.ProfileType
- func (x *GetProfileRequest) GetVersionId() string
- func (*GetProfileRequest) ProtoMessage()
- func (x *GetProfileRequest) ProtoReflect() protoreflect.Message
- func (x *GetProfileRequest) Reset()
- func (x *GetProfileRequest) String() string
- type GetReplicaSetsReply
- func (*GetReplicaSetsReply) Descriptor() ([]byte, []int)deprecated
- func (x *GetReplicaSetsReply) GetReplicaSets() []*ReplicaSet
- func (*GetReplicaSetsReply) ProtoMessage()
- func (x *GetReplicaSetsReply) ProtoReflect() protoreflect.Message
- func (x *GetReplicaSetsReply) Reset()
- func (x *GetReplicaSetsReply) String() string
- type GetReplicaSetsRequest
- func (*GetReplicaSetsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetReplicaSetsRequest) GetAppName() string
- func (x *GetReplicaSetsRequest) GetVersionId() string
- func (*GetReplicaSetsRequest) ProtoMessage()
- func (x *GetReplicaSetsRequest) ProtoReflect() protoreflect.Message
- func (x *GetReplicaSetsRequest) Reset()
- func (x *GetReplicaSetsRequest) String() string
- type GetRoutingReply
- func (*GetRoutingReply) Descriptor() ([]byte, []int)deprecated
- func (x *GetRoutingReply) GetRouting() *protos.RoutingInfo
- func (x *GetRoutingReply) GetVersion() string
- func (*GetRoutingReply) ProtoMessage()
- func (x *GetRoutingReply) ProtoReflect() protoreflect.Message
- func (x *GetRoutingReply) Reset()
- func (x *GetRoutingReply) String() string
- type GetRoutingRequest
- func (*GetRoutingRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetRoutingRequest) GetComponent() string
- func (x *GetRoutingRequest) GetConfig() *config.GKEConfig
- func (x *GetRoutingRequest) GetReplicaSet() string
- func (x *GetRoutingRequest) GetVersion() string
- func (*GetRoutingRequest) ProtoMessage()
- func (x *GetRoutingRequest) ProtoReflect() protoreflect.Message
- func (x *GetRoutingRequest) Reset()
- func (x *GetRoutingRequest) String() string
- type HostTrafficAssignment
- func (*HostTrafficAssignment) Descriptor() ([]byte, []int)deprecated
- func (x *HostTrafficAssignment) GetAllocs() []*TrafficAllocation
- func (*HostTrafficAssignment) ProtoMessage()
- func (x *HostTrafficAssignment) ProtoReflect() protoreflect.Message
- func (x *HostTrafficAssignment) Reset()
- func (x *HostTrafficAssignment) String() string
- type Listener
- type LoadReport
- func (*LoadReport) Descriptor() ([]byte, []int)deprecated
- func (x *LoadReport) GetConfig() *config.GKEConfig
- func (x *LoadReport) GetLoad() *protos.LoadReport
- func (x *LoadReport) GetPodName() string
- func (x *LoadReport) GetReplicaSet() string
- func (x *LoadReport) GetWeaveletAddr() string
- func (*LoadReport) ProtoMessage()
- func (x *LoadReport) ProtoReflect() protoreflect.Message
- func (x *LoadReport) Reset()
- func (x *LoadReport) String() string
- type Pod
- func (*Pod) Descriptor() ([]byte, []int)deprecated
- func (x *Pod) GetBabysitterAddr() string
- func (x *Pod) GetHealthyComponents() []string
- func (x *Pod) GetLoad() *protos.LoadReport
- func (x *Pod) GetWeaveletAddr() string
- func (*Pod) ProtoMessage()
- func (x *Pod) ProtoReflect() protoreflect.Message
- func (x *Pod) Reset()
- func (x *Pod) String() string
- type ReplicaSet
- func (*ReplicaSet) Descriptor() ([]byte, []int)deprecated
- func (x *ReplicaSet) GetComponents() []string
- func (x *ReplicaSet) GetConfig() *config.GKEConfig
- func (x *ReplicaSet) GetListeners() []string
- func (x *ReplicaSet) GetName() string
- func (x *ReplicaSet) GetPods() []*Pod
- func (*ReplicaSet) ProtoMessage()
- func (x *ReplicaSet) ProtoReflect() protoreflect.Message
- func (x *ReplicaSet) Reset()
- func (x *ReplicaSet) String() string
- type Schedule
- func (*Schedule) Descriptor() ([]byte, []int)deprecated
- func (x *Schedule) GetAppliedDuration() *durationpb.Duration
- func (x *Schedule) GetIndex() int64
- func (x *Schedule) GetTargetFn() *TargetFn
- func (*Schedule) ProtoMessage()
- func (x *Schedule) ProtoReflect() protoreflect.Message
- func (x *Schedule) Reset()
- func (x *Schedule) String() string
- type TargetFn
- type TrafficAllocation
- func (*TrafficAllocation) Descriptor() ([]byte, []int)deprecated
- func (x *TrafficAllocation) GetAppName() string
- func (x *TrafficAllocation) GetListener() *Listener
- func (x *TrafficAllocation) GetLocation() string
- func (x *TrafficAllocation) GetTrafficFraction() float32
- func (x *TrafficAllocation) GetVersionId() string
- func (*TrafficAllocation) ProtoMessage()
- func (x *TrafficAllocation) ProtoReflect() protoreflect.Message
- func (x *TrafficAllocation) Reset()
- func (x *TrafficAllocation) String() string
- type TrafficAssignment
- func (*TrafficAssignment) Descriptor() ([]byte, []int)deprecated
- func (x *TrafficAssignment) GetHostAssignment() map[string]*HostTrafficAssignment
- func (*TrafficAssignment) ProtoMessage()
- func (x *TrafficAssignment) ProtoReflect() protoreflect.Message
- func (x *TrafficAssignment) Reset()
- func (x *TrafficAssignment) String() string
- type VersionDistributionRequest
- func (*VersionDistributionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *VersionDistributionRequest) GetConfig() *config.GKEConfig
- func (x *VersionDistributionRequest) GetSubmissionId() int64
- func (x *VersionDistributionRequest) GetTargetFn() *TargetFn
- func (*VersionDistributionRequest) ProtoMessage()
- func (x *VersionDistributionRequest) ProtoReflect() protoreflect.Message
- func (x *VersionDistributionRequest) Reset()
- func (x *VersionDistributionRequest) String() string
- type VersionStateAtDistributor
- func (*VersionStateAtDistributor) Descriptor() ([]byte, []int)deprecated
- func (x *VersionStateAtDistributor) GetIsDeployed() bool
- func (x *VersionStateAtDistributor) GetLastTrafficFractionApplied() float32
- func (x *VersionStateAtDistributor) GetReplicaSets() []*ReplicaSet
- func (x *VersionStateAtDistributor) GetRolloutCompleted() bool
- func (x *VersionStateAtDistributor) GetVersionId() string
- func (*VersionStateAtDistributor) ProtoMessage()
- func (x *VersionStateAtDistributor) ProtoReflect() protoreflect.Message
- func (x *VersionStateAtDistributor) Reset()
- func (x *VersionStateAtDistributor) String() string
Constants ¶
const InternalDNSDomain = "serviceweaver.internal"
Internal domain name for applications' private listeners.
Variables ¶
var File_internal_nanny_nanny_proto protoreflect.FileDescriptor
Functions ¶
func Advance ¶
Advance advances the schedule to the next traffic fraction. A schedule can only be advanced if it's ready. See the Ready method.
func ChangeTimes ¶
ChangeTimes returns the set of times at which the target function changes, assuming the target function is started at the provided time.
func Hostname ¶ added in v0.23.5
Hostname returns the hostname for the given listener, and the boolean value indicating whether the given listener is public.
func IncrementAppliedDuration ¶
IncrementAppliedDuration increases the duration the current traffic fraction has been applied.
func Ready ¶
Ready returns whether the schedule is ready to be advanced. A schedule is ready to be advanced if the current traffic fraction has been applied for its specified duration.
Example usage:
if Ready(schedule) { if err := Advance(schedule); err != nil { ... } }
Types ¶
type ActivateComponentRequest ¶ added in v0.2.0
type ActivateComponentRequest struct { Component string `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` // Component that needs to be activated. Routed bool `protobuf:"varint,2,opt,name=routed,proto3" json:"routed,omitempty"` // Is the component routed? ReplicaSet string `protobuf:"bytes,3,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // ReplicaSet of the above component. Config *config.GKEConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
ActivateComponentRequest is a request to activate a given component.
func (*ActivateComponentRequest) Descriptor
deprecated
added in
v0.2.0
func (*ActivateComponentRequest) Descriptor() ([]byte, []int)
Deprecated: Use ActivateComponentRequest.ProtoReflect.Descriptor instead.
func (*ActivateComponentRequest) GetComponent ¶ added in v0.2.0
func (x *ActivateComponentRequest) GetComponent() string
func (*ActivateComponentRequest) GetConfig ¶ added in v0.2.0
func (x *ActivateComponentRequest) GetConfig() *config.GKEConfig
func (*ActivateComponentRequest) GetReplicaSet ¶ added in v0.22.1
func (x *ActivateComponentRequest) GetReplicaSet() string
func (*ActivateComponentRequest) GetRouted ¶ added in v0.2.0
func (x *ActivateComponentRequest) GetRouted() bool
func (*ActivateComponentRequest) ProtoMessage ¶ added in v0.2.0
func (*ActivateComponentRequest) ProtoMessage()
func (*ActivateComponentRequest) ProtoReflect ¶ added in v0.2.0
func (x *ActivateComponentRequest) ProtoReflect() protoreflect.Message
func (*ActivateComponentRequest) Reset ¶ added in v0.2.0
func (x *ActivateComponentRequest) Reset()
func (*ActivateComponentRequest) String ¶ added in v0.2.0
func (x *ActivateComponentRequest) String() string
type ApplicationCleanupRequest ¶
type ApplicationCleanupRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Versions []string `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"` // contains filtered or unexported fields }
ApplicationCleanupRequest is a request to the distributor to clean up a set of versions for a given application.
func (*ApplicationCleanupRequest) Descriptor
deprecated
func (*ApplicationCleanupRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationCleanupRequest.ProtoReflect.Descriptor instead.
func (*ApplicationCleanupRequest) GetAppName ¶
func (x *ApplicationCleanupRequest) GetAppName() string
func (*ApplicationCleanupRequest) GetVersions ¶
func (x *ApplicationCleanupRequest) GetVersions() []string
func (*ApplicationCleanupRequest) ProtoMessage ¶
func (*ApplicationCleanupRequest) ProtoMessage()
func (*ApplicationCleanupRequest) ProtoReflect ¶
func (x *ApplicationCleanupRequest) ProtoReflect() protoreflect.Message
func (*ApplicationCleanupRequest) Reset ¶
func (x *ApplicationCleanupRequest) Reset()
func (*ApplicationCleanupRequest) String ¶
func (x *ApplicationCleanupRequest) String() string
type ApplicationDeleteRequest ¶
type ApplicationDeleteRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Versions []*config.GKEConfig `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"` // contains filtered or unexported fields }
ApplicationDeleteRequest is a request to the manager to delete a set of versions for a given application.
func (*ApplicationDeleteRequest) Descriptor
deprecated
func (*ApplicationDeleteRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationDeleteRequest.ProtoReflect.Descriptor instead.
func (*ApplicationDeleteRequest) GetAppName ¶
func (x *ApplicationDeleteRequest) GetAppName() string
func (*ApplicationDeleteRequest) GetVersions ¶
func (x *ApplicationDeleteRequest) GetVersions() []*config.GKEConfig
func (*ApplicationDeleteRequest) ProtoMessage ¶
func (*ApplicationDeleteRequest) ProtoMessage()
func (*ApplicationDeleteRequest) ProtoReflect ¶
func (x *ApplicationDeleteRequest) ProtoReflect() protoreflect.Message
func (*ApplicationDeleteRequest) Reset ¶
func (x *ApplicationDeleteRequest) Reset()
func (*ApplicationDeleteRequest) String ¶
func (x *ApplicationDeleteRequest) String() string
type ApplicationDeploymentRequest ¶
type ApplicationDeploymentRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Versions []*config.GKEConfig `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"` // contains filtered or unexported fields }
ApplicationDeploymentRequest is a request to the manager to deploy a set of versions for a given application.
func (*ApplicationDeploymentRequest) Descriptor
deprecated
func (*ApplicationDeploymentRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationDeploymentRequest.ProtoReflect.Descriptor instead.
func (*ApplicationDeploymentRequest) GetAppName ¶
func (x *ApplicationDeploymentRequest) GetAppName() string
func (*ApplicationDeploymentRequest) GetVersions ¶
func (x *ApplicationDeploymentRequest) GetVersions() []*config.GKEConfig
func (*ApplicationDeploymentRequest) ProtoMessage ¶
func (*ApplicationDeploymentRequest) ProtoMessage()
func (*ApplicationDeploymentRequest) ProtoReflect ¶
func (x *ApplicationDeploymentRequest) ProtoReflect() protoreflect.Message
func (*ApplicationDeploymentRequest) Reset ¶
func (x *ApplicationDeploymentRequest) Reset()
func (*ApplicationDeploymentRequest) String ¶
func (x *ApplicationDeploymentRequest) String() string
type ApplicationDistributionRequest ¶
type ApplicationDistributionRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Requests []*VersionDistributionRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` // contains filtered or unexported fields }
ApplicationDistributionRequest is a request to the distributor to start a set of versions for a given application in their deployment locations (e.g., a cloud region), and gradually shift traffic to them.
func (*ApplicationDistributionRequest) Descriptor
deprecated
func (*ApplicationDistributionRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationDistributionRequest.ProtoReflect.Descriptor instead.
func (*ApplicationDistributionRequest) GetAppName ¶
func (x *ApplicationDistributionRequest) GetAppName() string
func (*ApplicationDistributionRequest) GetRequests ¶
func (x *ApplicationDistributionRequest) GetRequests() []*VersionDistributionRequest
func (*ApplicationDistributionRequest) ProtoMessage ¶
func (*ApplicationDistributionRequest) ProtoMessage()
func (*ApplicationDistributionRequest) ProtoReflect ¶
func (x *ApplicationDistributionRequest) ProtoReflect() protoreflect.Message
func (*ApplicationDistributionRequest) Reset ¶
func (x *ApplicationDistributionRequest) Reset()
func (*ApplicationDistributionRequest) String ¶
func (x *ApplicationDistributionRequest) String() string
type ApplicationStateAtDistributor ¶
type ApplicationStateAtDistributor struct { VersionState []*VersionStateAtDistributor `protobuf:"bytes,1,rep,name=version_state,json=versionState,proto3" json:"version_state,omitempty"` DeletedVersions []string `protobuf:"bytes,2,rep,name=deleted_versions,json=deletedVersions,proto3" json:"deleted_versions,omitempty"` // contains filtered or unexported fields }
ApplicationStateAtDistributor contains the latest state for a given application at a particular distributor.
func (*ApplicationStateAtDistributor) Descriptor
deprecated
func (*ApplicationStateAtDistributor) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationStateAtDistributor.ProtoReflect.Descriptor instead.
func (*ApplicationStateAtDistributor) GetDeletedVersions ¶
func (x *ApplicationStateAtDistributor) GetDeletedVersions() []string
func (*ApplicationStateAtDistributor) GetVersionState ¶
func (x *ApplicationStateAtDistributor) GetVersionState() []*VersionStateAtDistributor
func (*ApplicationStateAtDistributor) ProtoMessage ¶
func (*ApplicationStateAtDistributor) ProtoMessage()
func (*ApplicationStateAtDistributor) ProtoReflect ¶
func (x *ApplicationStateAtDistributor) ProtoReflect() protoreflect.Message
func (*ApplicationStateAtDistributor) Reset ¶
func (x *ApplicationStateAtDistributor) Reset()
func (*ApplicationStateAtDistributor) String ¶
func (x *ApplicationStateAtDistributor) String() string
type ApplicationStateAtDistributorRequest ¶
type ApplicationStateAtDistributorRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` // contains filtered or unexported fields }
ApplicationStateAtDistributorRequest is a request to the distributor to get the latest state for a given application.
func (*ApplicationStateAtDistributorRequest) Descriptor
deprecated
func (*ApplicationStateAtDistributorRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationStateAtDistributorRequest.ProtoReflect.Descriptor instead.
func (*ApplicationStateAtDistributorRequest) GetAppName ¶
func (x *ApplicationStateAtDistributorRequest) GetAppName() string
func (*ApplicationStateAtDistributorRequest) ProtoMessage ¶
func (*ApplicationStateAtDistributorRequest) ProtoMessage()
func (*ApplicationStateAtDistributorRequest) ProtoReflect ¶
func (x *ApplicationStateAtDistributorRequest) ProtoReflect() protoreflect.Message
func (*ApplicationStateAtDistributorRequest) Reset ¶
func (x *ApplicationStateAtDistributorRequest) Reset()
func (*ApplicationStateAtDistributorRequest) String ¶
func (x *ApplicationStateAtDistributorRequest) String() string
type ApplicationStopRequest ¶
type ApplicationStopRequest struct { AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` Versions []*config.GKEConfig `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"` // contains filtered or unexported fields }
ApplicationStopRequest is a request to the manager to stop a set of versions for a given application.
func (*ApplicationStopRequest) Descriptor
deprecated
func (*ApplicationStopRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplicationStopRequest.ProtoReflect.Descriptor instead.
func (*ApplicationStopRequest) GetAppName ¶
func (x *ApplicationStopRequest) GetAppName() string
func (*ApplicationStopRequest) GetVersions ¶
func (x *ApplicationStopRequest) GetVersions() []*config.GKEConfig
func (*ApplicationStopRequest) ProtoMessage ¶
func (*ApplicationStopRequest) ProtoMessage()
func (*ApplicationStopRequest) ProtoReflect ¶
func (x *ApplicationStopRequest) ProtoReflect() protoreflect.Message
func (*ApplicationStopRequest) Reset ¶
func (x *ApplicationStopRequest) Reset()
func (*ApplicationStopRequest) String ¶
func (x *ApplicationStopRequest) String() string
type CascadeTarget ¶
type CascadeTarget struct { Location string // e.g. "local", "us-central1" AppName string // e.g. "collatz", "todo" VersionId string // e.g. "6ba7b810-9dad-11d1" Listeners map[string][]*Listener // listeners, keyed by host TrafficFraction float32 // the desired traffic fraction }
CascadeTarget encapsulates the traffic specific information about a version of a Service Weaver app. Typically, you create one CascadeTarget for every version of your app and then call CascadeTraffic to assign traffic between them.
type ExportListenerRequest ¶
type ExportListenerRequest struct { ReplicaSet string `protobuf:"bytes,1,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // ReplicaSet name (e.g., "main") Listener *Listener `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"` Config *config.GKEConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
ExportListenerRequest is a request to the manager to export a listener.
func (*ExportListenerRequest) Descriptor
deprecated
func (*ExportListenerRequest) Descriptor() ([]byte, []int)
Deprecated: Use ExportListenerRequest.ProtoReflect.Descriptor instead.
func (*ExportListenerRequest) GetConfig ¶
func (x *ExportListenerRequest) GetConfig() *config.GKEConfig
func (*ExportListenerRequest) GetListener ¶
func (x *ExportListenerRequest) GetListener() *Listener
func (*ExportListenerRequest) GetReplicaSet ¶ added in v0.2.0
func (x *ExportListenerRequest) GetReplicaSet() string
func (*ExportListenerRequest) ProtoMessage ¶
func (*ExportListenerRequest) ProtoMessage()
func (*ExportListenerRequest) ProtoReflect ¶
func (x *ExportListenerRequest) ProtoReflect() protoreflect.Message
func (*ExportListenerRequest) Reset ¶
func (x *ExportListenerRequest) Reset()
func (*ExportListenerRequest) String ¶
func (x *ExportListenerRequest) String() string
type FractionSpec ¶
type FractionSpec struct { // Minimum duration the traffic fraction should be applied. Duration *durationpb.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` // Traffic fraction in the range [0, 1] to be sent to the application version. TrafficFraction float32 `protobuf:"fixed32,2,opt,name=traffic_fraction,json=trafficFraction,proto3" json:"traffic_fraction,omitempty"` // contains filtered or unexported fields }
FractionSpec represents one stage in the TargetFn that should be applied to a given application version.
It stores the traffic fraction that should be assigned to the application version, as well as the duration of that traffic assignment. Once the traffic fraction has been applied for longer than the specified duration, the target function moves to the next rollout stage (see comments above TargetFn).
func (*FractionSpec) Descriptor
deprecated
func (*FractionSpec) Descriptor() ([]byte, []int)
Deprecated: Use FractionSpec.ProtoReflect.Descriptor instead.
func (*FractionSpec) GetDuration ¶
func (x *FractionSpec) GetDuration() *durationpb.Duration
func (*FractionSpec) GetTrafficFraction ¶
func (x *FractionSpec) GetTrafficFraction() float32
func (*FractionSpec) ProtoMessage ¶
func (*FractionSpec) ProtoMessage()
func (*FractionSpec) ProtoReflect ¶
func (x *FractionSpec) ProtoReflect() protoreflect.Message
func (*FractionSpec) Reset ¶
func (x *FractionSpec) Reset()
func (*FractionSpec) String ¶
func (x *FractionSpec) String() string
type GetComponentsReply ¶ added in v0.2.0
type GetComponentsReply struct { Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Version of the current component set. Components []string `protobuf:"bytes,2,rep,name=components,proto3" json:"components,omitempty"` // A list of components to run. // contains filtered or unexported fields }
GetComponentsReply is a manager's reply to GetComponentsRequest.
func (*GetComponentsReply) Descriptor
deprecated
added in
v0.2.0
func (*GetComponentsReply) Descriptor() ([]byte, []int)
Deprecated: Use GetComponentsReply.ProtoReflect.Descriptor instead.
func (*GetComponentsReply) GetComponents ¶ added in v0.2.0
func (x *GetComponentsReply) GetComponents() []string
func (*GetComponentsReply) GetVersion ¶ added in v0.2.0
func (x *GetComponentsReply) GetVersion() string
func (*GetComponentsReply) ProtoMessage ¶ added in v0.2.0
func (*GetComponentsReply) ProtoMessage()
func (*GetComponentsReply) ProtoReflect ¶ added in v0.2.0
func (x *GetComponentsReply) ProtoReflect() protoreflect.Message
func (*GetComponentsReply) Reset ¶ added in v0.2.0
func (x *GetComponentsReply) Reset()
func (*GetComponentsReply) String ¶ added in v0.2.0
func (x *GetComponentsReply) String() string
type GetComponentsRequest ¶ added in v0.2.0
type GetComponentsRequest struct { ReplicaSet string `protobuf:"bytes,1,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // ReplicaSet name (e.g., "main") Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Version of the latest fetched component set. Config *config.GKEConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
GetComponentsRequest is a request to the manager to get the latest set of components to run.
func (*GetComponentsRequest) Descriptor
deprecated
added in
v0.2.0
func (*GetComponentsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetComponentsRequest.ProtoReflect.Descriptor instead.
func (*GetComponentsRequest) GetConfig ¶ added in v0.2.0
func (x *GetComponentsRequest) GetConfig() *config.GKEConfig
func (*GetComponentsRequest) GetReplicaSet ¶ added in v0.2.0
func (x *GetComponentsRequest) GetReplicaSet() string
func (*GetComponentsRequest) GetVersion ¶ added in v0.2.0
func (x *GetComponentsRequest) GetVersion() string
func (*GetComponentsRequest) ProtoMessage ¶ added in v0.2.0
func (*GetComponentsRequest) ProtoMessage()
func (*GetComponentsRequest) ProtoReflect ¶ added in v0.2.0
func (x *GetComponentsRequest) ProtoReflect() protoreflect.Message
func (*GetComponentsRequest) Reset ¶ added in v0.2.0
func (x *GetComponentsRequest) Reset()
func (*GetComponentsRequest) String ¶ added in v0.2.0
func (x *GetComponentsRequest) String() string
type GetListenerAddressRequest ¶ added in v0.1.3
type GetListenerAddressRequest struct { ReplicaSet string `protobuf:"bytes,1,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // ReplicaSet name (e.g., "main"). Listener string `protobuf:"bytes,2,opt,name=listener,proto3" json:"listener,omitempty"` // Listener name. Config *config.GKEConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
GetListenerAddressRequest is a request to the manager to get an address a listener in a given Kubernetes ReplicaSet should listen on.
func (*GetListenerAddressRequest) Descriptor
deprecated
added in
v0.1.3
func (*GetListenerAddressRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetListenerAddressRequest.ProtoReflect.Descriptor instead.
func (*GetListenerAddressRequest) GetConfig ¶ added in v0.1.3
func (x *GetListenerAddressRequest) GetConfig() *config.GKEConfig
func (*GetListenerAddressRequest) GetListener ¶ added in v0.1.3
func (x *GetListenerAddressRequest) GetListener() string
func (*GetListenerAddressRequest) GetReplicaSet ¶ added in v0.2.0
func (x *GetListenerAddressRequest) GetReplicaSet() string
func (*GetListenerAddressRequest) ProtoMessage ¶ added in v0.1.3
func (*GetListenerAddressRequest) ProtoMessage()
func (*GetListenerAddressRequest) ProtoReflect ¶ added in v0.1.3
func (x *GetListenerAddressRequest) ProtoReflect() protoreflect.Message
func (*GetListenerAddressRequest) Reset ¶ added in v0.1.3
func (x *GetListenerAddressRequest) Reset()
func (*GetListenerAddressRequest) String ¶ added in v0.1.3
func (x *GetListenerAddressRequest) String() string
type GetProfileRequest ¶ added in v0.2.0
type GetProfileRequest struct { // Application name and version. // // If the application name is non-empty, the request is for profiling only // the given application; otherwise, the request is to profile all active // applications. // If the application version is non-empty, the request is for profiling // only a particular application version; otherwise, the request is for // profiling all versions of an application (or a collection of applications). // It is illegal to specify the version and not the application name. AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` VersionId string `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` // Type of the profile (e.g., heap, cpu). ProfileType protos.ProfileType `protobuf:"varint,3,opt,name=profile_type,json=profileType,proto3,enum=runtime.ProfileType" json:"profile_type,omitempty"` // Duration of CPU profiles, in nanoseconds. CpuDurationNs int64 `protobuf:"varint,4,opt,name=cpu_duration_ns,json=cpuDurationNs,proto3" json:"cpu_duration_ns,omitempty"` // contains filtered or unexported fields }
GetProfileRequest is a request to profile the given application version or a collection of applications and their versions.
func (*GetProfileRequest) Descriptor
deprecated
added in
v0.2.0
func (*GetProfileRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetProfileRequest.ProtoReflect.Descriptor instead.
func (*GetProfileRequest) GetAppName ¶ added in v0.2.0
func (x *GetProfileRequest) GetAppName() string
func (*GetProfileRequest) GetCpuDurationNs ¶ added in v0.2.0
func (x *GetProfileRequest) GetCpuDurationNs() int64
func (*GetProfileRequest) GetProfileType ¶ added in v0.2.0
func (x *GetProfileRequest) GetProfileType() protos.ProfileType
func (*GetProfileRequest) GetVersionId ¶ added in v0.2.0
func (x *GetProfileRequest) GetVersionId() string
func (*GetProfileRequest) ProtoMessage ¶ added in v0.2.0
func (*GetProfileRequest) ProtoMessage()
func (*GetProfileRequest) ProtoReflect ¶ added in v0.2.0
func (x *GetProfileRequest) ProtoReflect() protoreflect.Message
func (*GetProfileRequest) Reset ¶ added in v0.2.0
func (x *GetProfileRequest) Reset()
func (*GetProfileRequest) String ¶ added in v0.2.0
func (x *GetProfileRequest) String() string
type GetReplicaSetsReply ¶ added in v0.22.1
type GetReplicaSetsReply struct { ReplicaSets []*ReplicaSet `protobuf:"bytes,1,rep,name=replica_sets,json=replicaSets,proto3" json:"replica_sets,omitempty"` // contains filtered or unexported fields }
GetReplicaSetsReply is a reply to a GetReplicaSetsRequest.
func (*GetReplicaSetsReply) Descriptor
deprecated
added in
v0.22.1
func (*GetReplicaSetsReply) Descriptor() ([]byte, []int)
Deprecated: Use GetReplicaSetsReply.ProtoReflect.Descriptor instead.
func (*GetReplicaSetsReply) GetReplicaSets ¶ added in v0.22.1
func (x *GetReplicaSetsReply) GetReplicaSets() []*ReplicaSet
func (*GetReplicaSetsReply) ProtoMessage ¶ added in v0.22.1
func (*GetReplicaSetsReply) ProtoMessage()
func (*GetReplicaSetsReply) ProtoReflect ¶ added in v0.22.1
func (x *GetReplicaSetsReply) ProtoReflect() protoreflect.Message
func (*GetReplicaSetsReply) Reset ¶ added in v0.22.1
func (x *GetReplicaSetsReply) Reset()
func (*GetReplicaSetsReply) String ¶ added in v0.22.1
func (x *GetReplicaSetsReply) String() string
type GetReplicaSetsRequest ¶ added in v0.22.1
type GetReplicaSetsRequest struct { // Application name and version. // // If the application name is non-empty, the request is for retrieving // replica sets only for the given application; otherwise, the request is // for retrieving replica sets for all active applications. // If the application version is non-empty, the request is for retrieving // replica sets only for a particular version of an application; // otherwise, the request is for retrieving replica sets for all versions // of an application (or a collection of applications). // It is illegal to specify the version and not the application name. AppName string `protobuf:"bytes,1,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` VersionId string `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` // contains filtered or unexported fields }
GetReplicaSetsRequest is a request to fetch the state of Kubernetes ReplicaSets for the given application version or a collection of applications and their versions.
func (*GetReplicaSetsRequest) Descriptor
deprecated
added in
v0.22.1
func (*GetReplicaSetsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetReplicaSetsRequest.ProtoReflect.Descriptor instead.
func (*GetReplicaSetsRequest) GetAppName ¶ added in v0.22.1
func (x *GetReplicaSetsRequest) GetAppName() string
func (*GetReplicaSetsRequest) GetVersionId ¶ added in v0.22.1
func (x *GetReplicaSetsRequest) GetVersionId() string
func (*GetReplicaSetsRequest) ProtoMessage ¶ added in v0.22.1
func (*GetReplicaSetsRequest) ProtoMessage()
func (*GetReplicaSetsRequest) ProtoReflect ¶ added in v0.22.1
func (x *GetReplicaSetsRequest) ProtoReflect() protoreflect.Message
func (*GetReplicaSetsRequest) Reset ¶ added in v0.22.1
func (x *GetReplicaSetsRequest) Reset()
func (*GetReplicaSetsRequest) String ¶ added in v0.22.1
func (x *GetReplicaSetsRequest) String() string
type GetRoutingReply ¶ added in v0.2.0
type GetRoutingReply struct { Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` Routing *protos.RoutingInfo `protobuf:"bytes,2,opt,name=routing,proto3" json:"routing,omitempty"` // contains filtered or unexported fields }
RoutingInfo is a manager's reply to GetRoutingRequest.
func (*GetRoutingReply) Descriptor
deprecated
added in
v0.2.0
func (*GetRoutingReply) Descriptor() ([]byte, []int)
Deprecated: Use GetRoutingReply.ProtoReflect.Descriptor instead.
func (*GetRoutingReply) GetRouting ¶ added in v0.2.0
func (x *GetRoutingReply) GetRouting() *protos.RoutingInfo
func (*GetRoutingReply) GetVersion ¶ added in v0.2.0
func (x *GetRoutingReply) GetVersion() string
func (*GetRoutingReply) ProtoMessage ¶ added in v0.2.0
func (*GetRoutingReply) ProtoMessage()
func (*GetRoutingReply) ProtoReflect ¶ added in v0.2.0
func (x *GetRoutingReply) ProtoReflect() protoreflect.Message
func (*GetRoutingReply) Reset ¶ added in v0.2.0
func (x *GetRoutingReply) Reset()
func (*GetRoutingReply) String ¶ added in v0.2.0
func (x *GetRoutingReply) String() string
type GetRoutingRequest ¶ added in v0.2.0
type GetRoutingRequest struct { Component string `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` // Component whose routing information is needed. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Version of the latest fetched routing info. ReplicaSet string `protobuf:"bytes,3,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // Replica set of the above component. Config *config.GKEConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
GetRoutingInfo is a request to the manager to retrieve routing information for a given component.
func (*GetRoutingRequest) Descriptor
deprecated
added in
v0.2.0
func (*GetRoutingRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetRoutingRequest.ProtoReflect.Descriptor instead.
func (*GetRoutingRequest) GetComponent ¶ added in v0.2.0
func (x *GetRoutingRequest) GetComponent() string
func (*GetRoutingRequest) GetConfig ¶ added in v0.2.0
func (x *GetRoutingRequest) GetConfig() *config.GKEConfig
func (*GetRoutingRequest) GetReplicaSet ¶ added in v0.22.1
func (x *GetRoutingRequest) GetReplicaSet() string
func (*GetRoutingRequest) GetVersion ¶ added in v0.2.0
func (x *GetRoutingRequest) GetVersion() string
func (*GetRoutingRequest) ProtoMessage ¶ added in v0.2.0
func (*GetRoutingRequest) ProtoMessage()
func (*GetRoutingRequest) ProtoReflect ¶ added in v0.2.0
func (x *GetRoutingRequest) ProtoReflect() protoreflect.Message
func (*GetRoutingRequest) Reset ¶ added in v0.2.0
func (x *GetRoutingRequest) Reset()
func (*GetRoutingRequest) String ¶ added in v0.2.0
func (x *GetRoutingRequest) String() string
type HostTrafficAssignment ¶
type HostTrafficAssignment struct { Allocs []*TrafficAllocation `protobuf:"bytes,1,rep,name=allocs,proto3" json:"allocs,omitempty"` // contains filtered or unexported fields }
HostTrafficAssignment contains the traffic assignment for a given hostname.
func (*HostTrafficAssignment) Descriptor
deprecated
func (*HostTrafficAssignment) Descriptor() ([]byte, []int)
Deprecated: Use HostTrafficAssignment.ProtoReflect.Descriptor instead.
func (*HostTrafficAssignment) GetAllocs ¶
func (x *HostTrafficAssignment) GetAllocs() []*TrafficAllocation
func (*HostTrafficAssignment) ProtoMessage ¶
func (*HostTrafficAssignment) ProtoMessage()
func (*HostTrafficAssignment) ProtoReflect ¶
func (x *HostTrafficAssignment) ProtoReflect() protoreflect.Message
func (*HostTrafficAssignment) Reset ¶
func (x *HostTrafficAssignment) Reset()
func (*HostTrafficAssignment) String ¶
func (x *HostTrafficAssignment) String() string
type Listener ¶ added in v0.2.0
type Listener struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // listener name Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // network address // contains filtered or unexported fields }
Listener holds information about a network listener.
func (*Listener) Descriptor
deprecated
added in
v0.2.0
func (*Listener) ProtoMessage ¶ added in v0.2.0
func (*Listener) ProtoMessage()
func (*Listener) ProtoReflect ¶ added in v0.2.0
func (x *Listener) ProtoReflect() protoreflect.Message
type LoadReport ¶ added in v0.2.0
type LoadReport struct { Load *protos.LoadReport `protobuf:"bytes,1,opt,name=load,proto3" json:"load,omitempty"` ReplicaSet string `protobuf:"bytes,2,opt,name=replica_set,json=replicaSet,proto3" json:"replica_set,omitempty"` // ReplicaSet name (e.g., "main") PodName string `protobuf:"bytes,3,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"` WeaveletAddr string `protobuf:"bytes,4,opt,name=weavelet_addr,json=weaveletAddr,proto3" json:"weavelet_addr,omitempty"` Config *config.GKEConfig `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"` // contains filtered or unexported fields }
LoadReport contains load information for all routed components hosted by a particular weavelet.
func (*LoadReport) Descriptor
deprecated
added in
v0.2.0
func (*LoadReport) Descriptor() ([]byte, []int)
Deprecated: Use LoadReport.ProtoReflect.Descriptor instead.
func (*LoadReport) GetConfig ¶ added in v0.2.0
func (x *LoadReport) GetConfig() *config.GKEConfig
func (*LoadReport) GetLoad ¶ added in v0.2.0
func (x *LoadReport) GetLoad() *protos.LoadReport
func (*LoadReport) GetPodName ¶ added in v0.2.0
func (x *LoadReport) GetPodName() string
func (*LoadReport) GetReplicaSet ¶ added in v0.2.0
func (x *LoadReport) GetReplicaSet() string
func (*LoadReport) GetWeaveletAddr ¶ added in v0.2.0
func (x *LoadReport) GetWeaveletAddr() string
func (*LoadReport) ProtoMessage ¶ added in v0.2.0
func (*LoadReport) ProtoMessage()
func (*LoadReport) ProtoReflect ¶ added in v0.2.0
func (x *LoadReport) ProtoReflect() protoreflect.Message
func (*LoadReport) Reset ¶ added in v0.2.0
func (x *LoadReport) Reset()
func (*LoadReport) String ¶ added in v0.2.0
func (x *LoadReport) String() string
type Pod ¶ added in v0.22.1
type Pod struct { WeaveletAddr string `protobuf:"bytes,1,opt,name=weavelet_addr,json=weaveletAddr,proto3" json:"weavelet_addr,omitempty"` // Weavelet address. BabysitterAddr string `protobuf:"bytes,2,opt,name=babysitter_addr,json=babysitterAddr,proto3" json:"babysitter_addr,omitempty"` // Babysitter address. Load *protos.LoadReport `protobuf:"bytes,3,opt,name=load,proto3" json:"load,omitempty"` // Per-component load on the pod. HealthyComponents []string `protobuf:"bytes,4,rep,name=healthy_components,json=healthyComponents,proto3" json:"healthy_components,omitempty"` // Pod components that are healthy. // contains filtered or unexported fields }
Pod stores information about a Pod inside a ReplicaSet.
func (*Pod) Descriptor
deprecated
added in
v0.22.1
func (*Pod) GetBabysitterAddr ¶ added in v0.22.1
func (*Pod) GetHealthyComponents ¶ added in v0.24.1
func (*Pod) GetLoad ¶ added in v0.22.1
func (x *Pod) GetLoad() *protos.LoadReport
func (*Pod) GetWeaveletAddr ¶ added in v0.22.1
func (*Pod) ProtoMessage ¶ added in v0.22.1
func (*Pod) ProtoMessage()
func (*Pod) ProtoReflect ¶ added in v0.22.1
func (x *Pod) ProtoReflect() protoreflect.Message
type ReplicaSet ¶ added in v0.22.1
type ReplicaSet struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Replica set name. Config *config.GKEConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` // Replica set config. Pods []*Pod `protobuf:"bytes,3,rep,name=pods,proto3" json:"pods,omitempty"` // Set of healthy pods. Components []string `protobuf:"bytes,4,rep,name=components,proto3" json:"components,omitempty"` // Set of activated components. Listeners []string `protobuf:"bytes,5,rep,name=listeners,proto3" json:"listeners,omitempty"` // Set of instantiated network listeners. // contains filtered or unexported fields }
ReplicaSet stores information about a Kubernetes ReplicaSet, i.e., a set of pods that host the same set of components.
func (*ReplicaSet) Descriptor
deprecated
added in
v0.22.1
func (*ReplicaSet) Descriptor() ([]byte, []int)
Deprecated: Use ReplicaSet.ProtoReflect.Descriptor instead.
func (*ReplicaSet) GetComponents ¶ added in v0.22.1
func (x *ReplicaSet) GetComponents() []string
func (*ReplicaSet) GetConfig ¶ added in v0.22.1
func (x *ReplicaSet) GetConfig() *config.GKEConfig
func (*ReplicaSet) GetListeners ¶ added in v0.22.1
func (x *ReplicaSet) GetListeners() []string
func (*ReplicaSet) GetName ¶ added in v0.22.1
func (x *ReplicaSet) GetName() string
func (*ReplicaSet) GetPods ¶ added in v0.22.1
func (x *ReplicaSet) GetPods() []*Pod
func (*ReplicaSet) ProtoMessage ¶ added in v0.22.1
func (*ReplicaSet) ProtoMessage()
func (*ReplicaSet) ProtoReflect ¶ added in v0.22.1
func (x *ReplicaSet) ProtoReflect() protoreflect.Message
func (*ReplicaSet) Reset ¶ added in v0.22.1
func (x *ReplicaSet) Reset()
func (*ReplicaSet) String ¶ added in v0.22.1
func (x *ReplicaSet) String() string
type Schedule ¶
type Schedule struct { // The target function being applied. // // TODO(mwhittaker): Right now, the code is inconsistent about whether a // target function ends with a fraction of 1.0. Try to clean that up. TargetFn *TargetFn `protobuf:"bytes,1,opt,name=target_fn,json=targetFn,proto3" json:"target_fn,omitempty"` // The index of the current traffic fraction in target_fn. After the final // traffic fraction has been applied for its specified duration, index is // incremented to be equal to the length of the number of traffic fractions. // This signals that the target function has been fully applied. Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` // Total duration the current traffic fraction has been applied. AppliedDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=applied_duration,json=appliedDuration,proto3" json:"applied_duration,omitempty"` // contains filtered or unexported fields }
Schedule represents a target function being applied.
A target function is a sequence of traffic fractions and the duration for which they should be applied. A schedule represents the actual application of the traffic fractions, as we progress from one traffic fraction to the next.
func (*Schedule) Descriptor
deprecated
func (*Schedule) GetAppliedDuration ¶
func (x *Schedule) GetAppliedDuration() *durationpb.Duration
func (*Schedule) GetTargetFn ¶
func (*Schedule) ProtoMessage ¶
func (*Schedule) ProtoMessage()
func (*Schedule) ProtoReflect ¶
func (x *Schedule) ProtoReflect() protoreflect.Message
type TargetFn ¶
type TargetFn struct { Fractions []*FractionSpec `protobuf:"bytes,1,rep,name=fractions,proto3" json:"fractions,omitempty"` // contains filtered or unexported fields }
TargetFn is a target function that controls the traffic rollout for a given application version inside a deployment location (e.g., a cloud region).
Each entry F_i in TargetFn stores a traffic fraction that should be assigned to the application version, as well as the duration of that traffic assignment.
Traffic assignment starts with entry F_0. Once the traffic fraction in F_i has been applied for longer than the duration specified in F_i, the traffic fraction in the entry F_(i+1) is applied. This process continues until all entries in the array have been exhausted, at which point the traffic fraction of 1.0 is applied and the application version is considered "installed".
Note that the traffic fraction is considered "applied" the moment it is successfully assigned to the application version. Failed fraction assignments don't count toward the fraction duration; instead, the earlier fraction remains applied. This means that some traffic fractions may be applied for significantly longer than the specified duration (e.g., cluster becomes unreachable); the only guarantee we provide is that a given fraction will never be applied for less than a specified duration.
func (*TargetFn) Descriptor
deprecated
func (*TargetFn) GetFractions ¶
func (x *TargetFn) GetFractions() []*FractionSpec
func (*TargetFn) ProtoMessage ¶
func (*TargetFn) ProtoMessage()
func (*TargetFn) ProtoReflect ¶
func (x *TargetFn) ProtoReflect() protoreflect.Message
type TrafficAllocation ¶
type TrafficAllocation struct { Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` // location (e.g., a cloud region) AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"` // name of the application VersionId string `protobuf:"bytes,3,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` // application version id TrafficFraction float32 `protobuf:"fixed32,4,opt,name=traffic_fraction,json=trafficFraction,proto3" json:"traffic_fraction,omitempty"` // traffic fraction allocated for version id Listener *Listener `protobuf:"bytes,5,opt,name=listener,proto3" json:"listener,omitempty"` // network listener // contains filtered or unexported fields }
TrafficAllocation contains a traffic allocation. It is the finest granularity in terms of traffic assignment.
func (*TrafficAllocation) Descriptor
deprecated
func (*TrafficAllocation) Descriptor() ([]byte, []int)
Deprecated: Use TrafficAllocation.ProtoReflect.Descriptor instead.
func (*TrafficAllocation) GetAppName ¶
func (x *TrafficAllocation) GetAppName() string
func (*TrafficAllocation) GetListener ¶
func (x *TrafficAllocation) GetListener() *Listener
func (*TrafficAllocation) GetLocation ¶
func (x *TrafficAllocation) GetLocation() string
func (*TrafficAllocation) GetTrafficFraction ¶
func (x *TrafficAllocation) GetTrafficFraction() float32
func (*TrafficAllocation) GetVersionId ¶
func (x *TrafficAllocation) GetVersionId() string
func (*TrafficAllocation) ProtoMessage ¶
func (*TrafficAllocation) ProtoMessage()
func (*TrafficAllocation) ProtoReflect ¶
func (x *TrafficAllocation) ProtoReflect() protoreflect.Message
func (*TrafficAllocation) Reset ¶
func (x *TrafficAllocation) Reset()
func (*TrafficAllocation) String ¶
func (x *TrafficAllocation) String() string
type TrafficAssignment ¶
type TrafficAssignment struct { HostAssignment map[string]*HostTrafficAssignment `` /* 191-byte string literal not displayed */ // contains filtered or unexported fields }
TrafficAssignment contains a traffic assignment keyed by hostname.
func CascadeTraffic ¶
func CascadeTraffic(targets []*CascadeTarget) (*TrafficAssignment, error)
CascadeTraffic assigns traffic to a set of targets. For every host, a traffic fraction of 1.0 is cascaded across the versions that export the host.
For example, imagine we version v1, v2, and v3 that export hosts [a, c], [a, b, c], and [b, c] respectively. v1, v2, and v3 have desired traffic fractions of 0.5, 0.4, and 0.4. We cascade traffic between the listeners as follows:
v1 (0.5) | v2 (0.4) | v3 (0.4) ---------+----------+--------- a (0.6) | a (0.4) | | b (0.6) | b (0.4) c (0.2) | c (0.4) | c (0.4)
func MergeTrafficAssignments ¶
func MergeTrafficAssignments(components []*TrafficAssignment) *TrafficAssignment
MergeTrafficAssignments merges the traffic assignments for each hostname across multiple components.
A component can be an application or a location (e.g., a cloud region).
At a high-level, for a given hostname H it does the following:
all of H's traffic allocations in each component are appended together to form the set of allocations for H in the merged set.
if H appears in N components, the traffic allocations for H in each component are normalized by a factor of 1/N.
The above algorithm has the property that if the traffic allocations for H were adding up to 1.0 in the individual components, they will add up to 1.0 in the merged set as well.
func (*TrafficAssignment) Descriptor
deprecated
func (*TrafficAssignment) Descriptor() ([]byte, []int)
Deprecated: Use TrafficAssignment.ProtoReflect.Descriptor instead.
func (*TrafficAssignment) GetHostAssignment ¶
func (x *TrafficAssignment) GetHostAssignment() map[string]*HostTrafficAssignment
func (*TrafficAssignment) ProtoMessage ¶
func (*TrafficAssignment) ProtoMessage()
func (*TrafficAssignment) ProtoReflect ¶
func (x *TrafficAssignment) ProtoReflect() protoreflect.Message
func (*TrafficAssignment) Reset ¶
func (x *TrafficAssignment) Reset()
func (*TrafficAssignment) String ¶
func (x *TrafficAssignment) String() string
type VersionDistributionRequest ¶
type VersionDistributionRequest struct { // Deployment information for the new application version. Config *config.GKEConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` // Rollout information for the new application version. TargetFn *TargetFn `protobuf:"bytes,2,opt,name=target_fn,json=targetFn,proto3" json:"target_fn,omitempty"` // Unique identifier that captures the order in which the application version // was submitted for rollout at the controller. SubmissionId int64 `protobuf:"varint,3,opt,name=submission_id,json=submissionId,proto3" json:"submission_id,omitempty"` // contains filtered or unexported fields }
VersionDistributionRequest is a request to the distributor to start a new application version in its deployment location.
func (*VersionDistributionRequest) Descriptor
deprecated
func (*VersionDistributionRequest) Descriptor() ([]byte, []int)
Deprecated: Use VersionDistributionRequest.ProtoReflect.Descriptor instead.
func (*VersionDistributionRequest) GetConfig ¶
func (x *VersionDistributionRequest) GetConfig() *config.GKEConfig
func (*VersionDistributionRequest) GetSubmissionId ¶
func (x *VersionDistributionRequest) GetSubmissionId() int64
func (*VersionDistributionRequest) GetTargetFn ¶
func (x *VersionDistributionRequest) GetTargetFn() *TargetFn
func (*VersionDistributionRequest) ProtoMessage ¶
func (*VersionDistributionRequest) ProtoMessage()
func (*VersionDistributionRequest) ProtoReflect ¶
func (x *VersionDistributionRequest) ProtoReflect() protoreflect.Message
func (*VersionDistributionRequest) Reset ¶
func (x *VersionDistributionRequest) Reset()
func (*VersionDistributionRequest) String ¶
func (x *VersionDistributionRequest) String() string
type VersionStateAtDistributor ¶
type VersionStateAtDistributor struct { VersionId string `protobuf:"bytes,1,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` // Last traffic fraction that was applied. LastTrafficFractionApplied float32 `` /* 145-byte string literal not displayed */ // Whether the rollout has successfully completed. Note that a rollout is not // necessarily completed when the last traffic fraction was applied (e.g., // the local gateway might have transient failures and the distributor has to // reapply). RolloutCompleted bool `protobuf:"varint,3,opt,name=rollout_completed,json=rolloutCompleted,proto3" json:"rollout_completed,omitempty"` // Whether the main ReplicaSet is deployed. IsDeployed bool `protobuf:"varint,4,opt,name=is_deployed,json=isDeployed,proto3" json:"is_deployed,omitempty"` // All known Kubernetes ReplicaSets for this application version. ReplicaSets []*ReplicaSet `protobuf:"bytes,5,rep,name=replica_sets,json=replicaSets,proto3" json:"replica_sets,omitempty"` // contains filtered or unexported fields }
VersionStateAtDistributor stores the state of an application version at a particular distributor.
func (*VersionStateAtDistributor) Descriptor
deprecated
func (*VersionStateAtDistributor) Descriptor() ([]byte, []int)
Deprecated: Use VersionStateAtDistributor.ProtoReflect.Descriptor instead.
func (*VersionStateAtDistributor) GetIsDeployed ¶
func (x *VersionStateAtDistributor) GetIsDeployed() bool
func (*VersionStateAtDistributor) GetLastTrafficFractionApplied ¶
func (x *VersionStateAtDistributor) GetLastTrafficFractionApplied() float32
func (*VersionStateAtDistributor) GetReplicaSets ¶ added in v0.2.0
func (x *VersionStateAtDistributor) GetReplicaSets() []*ReplicaSet
func (*VersionStateAtDistributor) GetRolloutCompleted ¶
func (x *VersionStateAtDistributor) GetRolloutCompleted() bool
func (*VersionStateAtDistributor) GetVersionId ¶
func (x *VersionStateAtDistributor) GetVersionId() string
func (*VersionStateAtDistributor) ProtoMessage ¶
func (*VersionStateAtDistributor) ProtoMessage()
func (*VersionStateAtDistributor) ProtoReflect ¶
func (x *VersionStateAtDistributor) ProtoReflect() protoreflect.Message
func (*VersionStateAtDistributor) Reset ¶
func (x *VersionStateAtDistributor) Reset()
func (*VersionStateAtDistributor) String ¶
func (x *VersionStateAtDistributor) String() string
Directories ¶
Path | Synopsis |
---|---|
Package controller handles the deployment of new application versions.
|
Package controller handles the deployment of new application versions. |
Package distributor handles the distribution of new application versions in a particular deployment location (e.g., a cloud region).
|
Package distributor handles the distribution of new application versions in a particular deployment location (e.g., a cloud region). |