svcconfig

package
Version: v0.0.0-...-454afec Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2021 License: Apache-2.0 Imports: 6 Imported by: 10

Documentation

Overview

Package svcconfig stores service configuration for a LogDog instance.

Each LogDog instantiation will have a single Config protobuf. It will be located under config set "services/<app-id>", path "services.cfg". The path is exposed via ServiceConfigFilename.

Each LogDog project will have its own project-specific configuration. It will be located under config set "projects/<project-name>", path "<app-id>.cfg".

Package svcconfig contains LogDog service configuration protobufs.

The package name here must match the protobuf package name, as the generated files will reside in the same directory.

Index

Constants

This section is empty.

Variables

View Source
var File_go_chromium_org_luci_logdog_api_config_svcconfig_archival_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_logdog_api_config_svcconfig_cloud_logging_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_logdog_api_config_svcconfig_config_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_logdog_api_config_svcconfig_project_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_logdog_api_config_svcconfig_transport_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ArchiveIndexConfig

type ArchiveIndexConfig struct {

	// If not zero, the maximum number of stream indices between index entries.
	StreamRange int32 `protobuf:"varint,1,opt,name=stream_range,json=streamRange,proto3" json:"stream_range,omitempty"`
	// If not zero, the maximum number of prefix indices between index entries.
	PrefixRange int32 `protobuf:"varint,2,opt,name=prefix_range,json=prefixRange,proto3" json:"prefix_range,omitempty"`
	// If not zero, the maximum number of log data bytes between index entries.
	ByteRange int32 `protobuf:"varint,3,opt,name=byte_range,json=byteRange,proto3" json:"byte_range,omitempty"`
	// contains filtered or unexported fields
}

ArchiveIndexConfig specifies how archive indexes should be generated.

By default, each log entry will be present in the index. This is generally overkill; instead, the index can be more sparse at the expense of a slightly higher data load.

func (*ArchiveIndexConfig) Descriptor deprecated

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

Deprecated: Use ArchiveIndexConfig.ProtoReflect.Descriptor instead.

func (*ArchiveIndexConfig) GetByteRange

func (x *ArchiveIndexConfig) GetByteRange() int32

func (*ArchiveIndexConfig) GetPrefixRange

func (x *ArchiveIndexConfig) GetPrefixRange() int32

func (*ArchiveIndexConfig) GetStreamRange

func (x *ArchiveIndexConfig) GetStreamRange() int32

func (*ArchiveIndexConfig) ProtoMessage

func (*ArchiveIndexConfig) ProtoMessage()

func (*ArchiveIndexConfig) ProtoReflect

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

func (*ArchiveIndexConfig) Reset

func (x *ArchiveIndexConfig) Reset()

func (*ArchiveIndexConfig) String

func (x *ArchiveIndexConfig) String() string

type CloudLoggingConfig

type CloudLoggingConfig struct {

	// The name of the project, where Logdog logs are exported.
	Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
	// contains filtered or unexported fields
}

CloudLoggingConfig specifies how Logdog should export log entries to Cloud Logging.

func (*CloudLoggingConfig) Descriptor deprecated

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

Deprecated: Use CloudLoggingConfig.ProtoReflect.Descriptor instead.

func (*CloudLoggingConfig) GetDestination

func (x *CloudLoggingConfig) GetDestination() string

func (*CloudLoggingConfig) ProtoMessage

func (*CloudLoggingConfig) ProtoMessage()

func (*CloudLoggingConfig) ProtoReflect

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

func (*CloudLoggingConfig) Reset

func (x *CloudLoggingConfig) Reset()

func (*CloudLoggingConfig) String

func (x *CloudLoggingConfig) String() string

type Config

type Config struct {

	// Configuration for the Butler's log transport.
	Transport *Transport `protobuf:"bytes,10,opt,name=transport,proto3" json:"transport,omitempty"`
	// Coordinator is the coordinator service configuration.
	Coordinator *Coordinator `protobuf:"bytes,20,opt,name=coordinator,proto3" json:"coordinator,omitempty"`
	// contains filtered or unexported fields
}

Config is the overall instance configuration.

func (*Config) Descriptor deprecated

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

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetCoordinator

func (x *Config) GetCoordinator() *Coordinator

func (*Config) GetTransport

func (x *Config) GetTransport() *Transport

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect

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

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type Coordinator

type Coordinator struct {

	// The name of the authentication group for administrators.
	AdminAuthGroup string `protobuf:"bytes,10,opt,name=admin_auth_group,json=adminAuthGroup,proto3" json:"admin_auth_group,omitempty"`
	// The name of the authentication group for backend services.
	ServiceAuthGroup string `protobuf:"bytes,11,opt,name=service_auth_group,json=serviceAuthGroup,proto3" json:"service_auth_group,omitempty"`
	// A list of origin URLs that are allowed to perform CORS RPC calls.
	RpcAllowOrigins []string `protobuf:"bytes,20,rep,name=rpc_allow_origins,json=rpcAllowOrigins,proto3" json:"rpc_allow_origins,omitempty"`
	// The maximum amount of time after a prefix has been registered when log
	// streams may also be registered under that prefix.
	//
	// After the expiration period has passed, new log stream registration will
	// fail.
	//
	// Project configurations or stream prefix regitrations may override this by
	// providing >= 0 values for prefix expiration. The smallest configured
	// expiration will be applied.
	PrefixExpiration *durationpb.Duration `protobuf:"bytes,21,opt,name=prefix_expiration,json=prefixExpiration,proto3" json:"prefix_expiration,omitempty"`
	// contains filtered or unexported fields
}

Coordinator is the Coordinator service configuration.

func (*Coordinator) Descriptor deprecated

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

Deprecated: Use Coordinator.ProtoReflect.Descriptor instead.

func (*Coordinator) GetAdminAuthGroup

func (x *Coordinator) GetAdminAuthGroup() string

func (*Coordinator) GetPrefixExpiration

func (x *Coordinator) GetPrefixExpiration() *durationpb.Duration

func (*Coordinator) GetRpcAllowOrigins

func (x *Coordinator) GetRpcAllowOrigins() []string

func (*Coordinator) GetServiceAuthGroup

func (x *Coordinator) GetServiceAuthGroup() string

func (*Coordinator) ProtoMessage

func (*Coordinator) ProtoMessage()

func (*Coordinator) ProtoReflect

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

func (*Coordinator) Reset

func (x *Coordinator) Reset()

func (*Coordinator) String

func (x *Coordinator) String() string

type ProjectConfig

type ProjectConfig struct {

	// The set of auth service groups that are permitted READ access to this
	// project's log streams.
	ReaderAuthGroups []string `protobuf:"bytes,2,rep,name=reader_auth_groups,json=readerAuthGroups,proto3" json:"reader_auth_groups,omitempty"`
	// The set of chrome-infra-auth groups that are permitted WRITE access to this
	// project's log streams.
	WriterAuthGroups []string `protobuf:"bytes,3,rep,name=writer_auth_groups,json=writerAuthGroups,proto3" json:"writer_auth_groups,omitempty"`
	// The maximum amount of time after a prefix has been registered when log
	// streams may also be registered under that prefix.
	//
	// See Config's "prefix_expiration" for more information.
	PrefixExpiration *durationpb.Duration `protobuf:"bytes,5,opt,name=prefix_expiration,json=prefixExpiration,proto3" json:"prefix_expiration,omitempty"`
	// The archival Google Storage bucket name.
	//
	// Log streams artifacts will be stored in a subdirectory of this bucket:
	// gs://<archive_gs_bucket>/<app-id>/<project-name>/<log-path>/artifact...
	//
	// Note that the Archivist microservice must have WRITE access to this
	// bucket, and the Coordinator must have READ access.
	//
	// If this is not set, the logs will be archived in a project-named
	// subdirectory in the global "archive_gs_base" location.
	ArchiveGsBucket string `protobuf:"bytes,10,opt,name=archive_gs_bucket,json=archiveGsBucket,proto3" json:"archive_gs_bucket,omitempty"`
	// Project-specific archive index configuration.
	//
	// Any unspecified index configuration will default to the service archival
	// config.
	ArchiveIndexConfig *ArchiveIndexConfig `protobuf:"bytes,12,opt,name=archive_index_config,json=archiveIndexConfig,proto3" json:"archive_index_config,omitempty"`
	// Project-specific CloudLogging configuration.
	//
	// If not specified, no Logdog logs will be exported to Cloud Logging.
	CloudLoggingConfig *CloudLoggingConfig `protobuf:"bytes,13,opt,name=cloud_logging_config,json=cloudLoggingConfig,proto3" json:"cloud_logging_config,omitempty"`
	// contains filtered or unexported fields
}

ProjectConfig is a set of per-project configuration parameters. Each luci-config project must include one of these configs in order to register or view log streams in that project's log stream space.

A project's configuration should reside in the "projects/<project>" config set and be named "<app-id>.cfg".

Many of the parameters here can be bounded by GlobalConfig parameters.

func (*ProjectConfig) Descriptor deprecated

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

Deprecated: Use ProjectConfig.ProtoReflect.Descriptor instead.

func (*ProjectConfig) GetArchiveGsBucket

func (x *ProjectConfig) GetArchiveGsBucket() string

func (*ProjectConfig) GetArchiveIndexConfig

func (x *ProjectConfig) GetArchiveIndexConfig() *ArchiveIndexConfig

func (*ProjectConfig) GetCloudLoggingConfig

func (x *ProjectConfig) GetCloudLoggingConfig() *CloudLoggingConfig

func (*ProjectConfig) GetPrefixExpiration

func (x *ProjectConfig) GetPrefixExpiration() *durationpb.Duration

func (*ProjectConfig) GetReaderAuthGroups

func (x *ProjectConfig) GetReaderAuthGroups() []string

func (*ProjectConfig) GetWriterAuthGroups

func (x *ProjectConfig) GetWriterAuthGroups() []string

func (*ProjectConfig) ProtoMessage

func (*ProjectConfig) ProtoMessage()

func (*ProjectConfig) ProtoReflect

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

func (*ProjectConfig) Reset

func (x *ProjectConfig) Reset()

func (*ProjectConfig) String

func (x *ProjectConfig) String() string

type Transport

type Transport struct {

	// Type is the transport configuration that is being used.
	//
	// Types that are assignable to Type:
	//	*Transport_Pubsub
	Type isTransport_Type `protobuf_oneof:"Type"`
	// contains filtered or unexported fields
}

Transport is the transport configuration.

func (*Transport) Descriptor deprecated

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

Deprecated: Use Transport.ProtoReflect.Descriptor instead.

func (*Transport) GetPubsub

func (x *Transport) GetPubsub() *Transport_PubSub

func (*Transport) GetType

func (m *Transport) GetType() isTransport_Type

func (*Transport) ProtoMessage

func (*Transport) ProtoMessage()

func (*Transport) ProtoReflect

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

func (*Transport) Reset

func (x *Transport) Reset()

func (*Transport) String

func (x *Transport) String() string

type Transport_PubSub

type Transport_PubSub struct {

	// The name of the authentication group for administrators.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The name of the authentication group for administrators.
	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
	// The name of the authentication group for administrators.
	Subscription string `protobuf:"bytes,3,opt,name=subscription,proto3" json:"subscription,omitempty"`
	// contains filtered or unexported fields
}

PubSub is a transport configuration for Google Cloud Pub/Sub.

func (*Transport_PubSub) Descriptor deprecated

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

Deprecated: Use Transport_PubSub.ProtoReflect.Descriptor instead.

func (*Transport_PubSub) GetProject

func (x *Transport_PubSub) GetProject() string

func (*Transport_PubSub) GetSubscription

func (x *Transport_PubSub) GetSubscription() string

func (*Transport_PubSub) GetTopic

func (x *Transport_PubSub) GetTopic() string

func (*Transport_PubSub) ProtoMessage

func (*Transport_PubSub) ProtoMessage()

func (*Transport_PubSub) ProtoReflect

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

func (*Transport_PubSub) Reset

func (x *Transport_PubSub) Reset()

func (*Transport_PubSub) String

func (x *Transport_PubSub) String() string

type Transport_Pubsub

type Transport_Pubsub struct {
	Pubsub *Transport_PubSub `protobuf:"bytes,1,opt,name=pubsub,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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