luci-go

module
v0.0.0-...-d60a78d Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2023 License: Apache-2.0

README

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.

Directories

Path Synopsis
appengine
datastorecache
Package datastorecache implements a managed versatile datastore caching.
Package datastorecache implements a managed versatile datastore caching.
gaeauth/client
Package client implements OAuth2 authentication for outbound connections from Appengine using the application services account.
Package client implements OAuth2 authentication for outbound connections from Appengine using the application services account.
gaeauth/server
Package server implements authentication for inbound HTTP requests on GAE.
Package server implements authentication for inbound HTTP requests on GAE.
gaeauth/server/gaesigner
Package gaesigner implements signing.Signer interface using GAE App Identity API.
Package gaesigner implements signing.Signer interface using GAE App Identity API.
gaeauth/server/internal/authdbimpl
Package authdbimpl implements datastore-based storage and update of AuthDB snapshots used for authorization decisions by server/auth/*.
Package authdbimpl implements datastore-based storage and update of AuthDB snapshots used for authorization decisions by server/auth/*.
gaemiddleware
Package gaemiddleware provides a standard middleware for Appengine apps.
Package gaemiddleware provides a standard middleware for Appengine apps.
gaemiddleware/flex
Package flex exposes gaemiddleware Environments for AppEngine's Flex environment.
Package flex exposes gaemiddleware Environments for AppEngine's Flex environment.
gaemiddleware/standard
Package standard exposes a gaemiddleware Environment for Classic AppEngine.
Package standard exposes a gaemiddleware Environment for Classic AppEngine.
gaesecrets
Package gaesecrets implements storage of secret blobs on top of datastore.
Package gaesecrets implements storage of secret blobs on top of datastore.
gaesettings
Package gaesettings implements settings.Storage interface on top of GAE datastore.
Package gaesettings implements settings.Storage interface on top of GAE datastore.
mapper
Package mapper implements a simple Datastore mapper.
Package mapper implements a simple Datastore mapper.
mapper/demo
Package demo contains minimal demo for 'mapper' package.
Package demo contains minimal demo for 'mapper' package.
mapper/internal/tasks
Package tasks contains definition of task queue tasks used by the mapper.
Package tasks contains definition of task queue tasks used by the mapper.
mapper/splitter
Package splitter implements SplitIntoRanges function useful when splitting large datastore queries into a bunch of smaller queries with approximately evenly-sized result sets.
Package splitter implements SplitIntoRanges function useful when splitting large datastore queries into a bunch of smaller queries with approximately evenly-sized result sets.
memlock
Package memlock allows multiple appengine handlers to coordinate best-effort mutual execution via memcache.
Package memlock allows multiple appengine handlers to coordinate best-effort mutual execution via memcache.
meta
Package meta contains some methods for interacting with GAE's metadata APIs.
Package meta contains some methods for interacting with GAE's metadata APIs.
tq
Package tq implements simple routing layer for task queue tasks.
Package tq implements simple routing layer for task queue tasks.
tq/tqtesting
Package tqtesting can be used in unit tests to simulate task queue calls produced by tq.Dispatcher.
Package tqtesting can be used in unit tests to simulate task queue calls produced by tq.Dispatcher.
tsmon
Package tsmon adapts common/tsmon library to GAE environment.
Package tsmon adapts common/tsmon library to GAE environment.
Package auth implements a wrapper around golang.org/x/oauth2.
Package auth implements a wrapper around golang.org/x/oauth2.
client/authcli
Package authcli implements authentication related flags parsing and CLI subcommands.
Package authcli implements authentication related flags parsing and CLI subcommands.
client/cmd/luci-auth
Command luci-auth can be used to interact with OAuth2 token cache on disk.
Command luci-auth can be used to interact with OAuth2 token cache on disk.
identity
Package identity defines Identity type and related types and constants.
Package identity defines Identity type and related types and constants.
integration/authtest
Package authtest implements authentication related test helpers.
Package authtest implements authentication related test helpers.
integration/devshell
Package devshell implements Devshell protocol for locally getting auth token.
Package devshell implements Devshell protocol for locally getting auth token.
integration/firebase
Package firebase implements an auth server that allows firebase-tools to use an exposed OAuth2 TokenSource for auth.
Package firebase implements an auth server that allows firebase-tools to use an exposed OAuth2 TokenSource for auth.
integration/gsutil
Package gsutil implements a hacky shim that makes gsutil use LUCI local auth.
Package gsutil implements a hacky shim that makes gsutil use LUCI local auth.
integration/internal/localsrv
Package localsrv provides helpers for running local TCP servers.
Package localsrv provides helpers for running local TCP servers.
integration/localauth
Package localauth implements localhost HTTP server that hands out tokens to local LUCI-aware processes.
Package localauth implements localhost HTTP server that hands out tokens to local LUCI-aware processes.
internal
Package internal contains code used internally by auth/integration.
Package internal contains code used internally by auth/integration.
Package buildbucket defines Go types that are more convenient than the API types in "github.com/TriggerMail/luci-go/common/api/buildbucket/buildbucket/v1"
Package buildbucket defines Go types that are more convenient than the API types in "github.com/TriggerMail/luci-go/common/api/buildbucket/buildbucket/v1"
client/cmd/buildbucket
Command buildbucket is a CLI client for buildbucket service.
Command buildbucket is a CLI client for buildbucket service.
proto
Package buildbucket is generated from Buildbucket .proto files.
Package buildbucket is generated from Buildbucket .proto files.
cipd
api/admin/v1
Package api contains CIPD backend API definitions.
Package api contains CIPD backend API definitions.
api/cipd/v1
Package api contains CIPD backend API definitions.
Package api contains CIPD backend API definitions.
appengine/backend
Package backend implements HTTP server that handles task queues and crons.
Package backend implements HTTP server that handles task queues and crons.
appengine/frontend
Package frontend implements HTTP server that handles requests to 'default' module.
Package frontend implements HTTP server that handles requests to 'default' module.
appengine/impl
Package impl instantiates the full implementation of the CIPD backend services.
Package impl instantiates the full implementation of the CIPD backend services.
appengine/impl/admin
Package admin contains implementation of cipd.Admin RPC service.
Package admin contains implementation of cipd.Admin RPC service.
appengine/impl/cas
Package cas contains implementation of cipd.Storage service RPC service.
Package cas contains implementation of cipd.Storage service RPC service.
appengine/impl/cas/tasks
Package tasks contains task queue tasks definitions.
Package tasks contains task queue tasks definitions.
appengine/impl/gs
Package gs implement Google Storage API wrapper used by CIPD backend.
Package gs implement Google Storage API wrapper used by CIPD backend.
appengine/impl/metadata
Package metadata implements handling of prefix metadata.
Package metadata implements handling of prefix metadata.
appengine/impl/model
Package model contains core CIPD datastore entities.
Package model contains core CIPD datastore entities.
appengine/impl/repo
Package repo contains implementation of cipd.Repository service RPC service.
Package repo contains implementation of cipd.Repository service RPC service.
appengine/impl/repo/processing
Package processing contains code related to post-registration instance processing.
Package processing contains code related to post-registration instance processing.
appengine/impl/repo/tasks
Package tasks contains task queue tasks definitions.
Package tasks contains task queue tasks definitions.
appengine/impl/settings
Package settings contains definition of global CIPD backend settings.
Package settings contains definition of global CIPD backend settings.
appengine/impl/testutil
Package testutil contains helpers used from CIPD backend unit tests.
Package testutil contains helpers used from CIPD backend unit tests.
appengine/ui
Package ui implements request handlers that serve user facing HTML pages.
Package ui implements request handlers that serve user facing HTML pages.
client/cipd
Package cipd implements client side of Chrome Infra Package Deployer.
Package cipd implements client side of Chrome Infra Package Deployer.
client/cipd/builder
Package builder holds functionality for building CIPD packages.
Package builder holds functionality for building CIPD packages.
client/cipd/deployer
Package deployer holds functionality for deploying CIPD packages.
Package deployer holds functionality for deploying CIPD packages.
client/cipd/digests
Package digests holds types used by selfupdate mechanism to pin client hashes.
Package digests holds types used by selfupdate mechanism to pin client hashes.
client/cipd/ensure
Package ensure contains methods and types for interacting with the 'ensure file format'.
Package ensure contains methods and types for interacting with the 'ensure file format'.
client/cipd/fs
Package fs is file-system related utilities used internally by CIPD.
Package fs is file-system related utilities used internally by CIPD.
client/cipd/pkg
Package pkg contains interfaces and struct related to CIPD package files.
Package pkg contains interfaces and struct related to CIPD package files.
client/cipd/platform
Package platform contains definition of what ${os} and ${arch} mean for the current platform.
Package platform contains definition of what ${os} and ${arch} mean for the current platform.
client/cipd/template
Package template implements handling of package name templates.
Package template implements handling of package name templates.
client/cli
Package cli implements command line interface for CIPD client.
Package cli implements command line interface for CIPD client.
client/cmd/cipd
Package main contains CIPD CLI implementation that uses Chrome Infrastructure defaults.
Package main contains CIPD CLI implementation that uses Chrome Infrastructure defaults.
version
Package version provides a way for CIPD packaged Go binaries to discover their current package instance ID.
Package version provides a way for CIPD packaged Go binaries to discover their current package instance ID.
version/versioncmd
Package versioncmd exposes 'version' subcommand.
Package versioncmd exposes 'version' subcommand.
client
archiver
Package archiver implements the pipeline to efficiently archive file sets to an isolated server as fast as possible.
Package archiver implements the pipeline to efficiently archive file sets to an isolated server as fast as possible.
cmd/devshell
Command devshell is a Devshell server.
Command devshell is a Devshell server.
cmd/docker-credential-luci
Command docker-credential-luci is a Docker credential helper.
Command docker-credential-luci is a Docker credential helper.
cmd/git-credential-luci
Command git-credential-luci is a Git credential helper.
Command git-credential-luci is a Git credential helper.
cmd/gsutil-auth
Command gsutil-auth implements "gsutil -> LUCI auth" shim server.
Command gsutil-auth implements "gsutil -> LUCI auth" shim server.
cmd/isolate
Package main is a .isolate compiler that compiles .isolate files into .isolated files and can also act as a client to an Isolate server.
Package main is a .isolate compiler that compiles .isolate files into .isolated files and can also act as a client to an Isolate server.
cmd/isolated
Package main is an Isolate server client.
Package main is an Isolate server client.
cmd/swarming
Package main is a client to a Swarming server.
Package main is a client to a Swarming server.
downloader
Package archiver implements the pipeline to efficiently archive file sets to an isolated server as fast as possible.
Package archiver implements the pipeline to efficiently archive file sets to an isolated server as fast as possible.
flagpb
Package flagpb defines a flag format for protobuf messages, implements a parser and a formatter.
Package flagpb defines a flag format for protobuf messages, implements a parser and a formatter.
internal/common
Package common implements code and utilities shared across all packages in client/.
Package common implements code and utilities shared across all packages in client/.
internal/progress
Package progress implements a progress indicator for text mode applications.
Package progress implements a progress indicator for text mode applications.
isolate
Package isolate implements the code to process '.isolate' files to generate '.isolated' files.
Package isolate implements the code to process '.isolate' files to generate '.isolated' files.
versioncli
Package versioncli implements a subcommand for obtaining version with the CLI.
Package versioncli implements a subcommand for obtaining version with the CLI.
common
api
api/buildbucket/buildbucket/v1
Package buildbucket provides access to the Build Bucket Service.
Package buildbucket provides access to the Build Bucket Service.
api/buildbucket/swarmbucket/v1
Package swarmbucket provides access to the Buildbucket-Swarming integration.
Package swarmbucket provides access to the Buildbucket-Swarming integration.
api/gitiles
Package gitiles implements GitilesClient in "go.chromium.org/common/proto/gitiles" package on top of Gitiles's REST API.
Package gitiles implements GitilesClient in "go.chromium.org/common/proto/gitiles" package on top of Gitiles's REST API.
api/isolate/isolateservice/v1
Package isolateservice provides access to the .
Package isolateservice provides access to the .
api/luci_config/config/v1
Package config provides access to the Configuration Service.
Package config provides access to the Configuration Service.
api/machine_provider/catalog/v1
Package catalog provides access to the .
Package catalog provides access to the .
api/machine_provider/machine/v1
Package machine provides access to the .
Package machine provides access to the .
api/swarming/swarming/v1
Package swarming provides access to the .
Package swarming provides access to the .
bq
Package bq is a library for working with BigQuery.
Package bq is a library for working with BigQuery.
cli
Package cli is a helper package for "github.com/maruel/subcommands".
Package cli is a helper package for "github.com/maruel/subcommands".
clock
Package clock is an interface to system time and timers which is easy to test.
Package clock is an interface to system time and timers which is easy to test.
data/base128
Package base128 implements base128 encoding and decoding.
Package base128 implements base128 encoding and decoding.
data/caching/cache
Package cache implements both in-memory and on-disk caching.
Package cache implements both in-memory and on-disk caching.
data/caching/cacheContext
Package cacheContext implements a context.Context wrapper which caches the results of Value calls, speeding up subsequent calls for the same key.
Package cacheContext implements a context.Context wrapper which caches the results of Value calls, speeding up subsequent calls for the same key.
data/caching/lazyslot
Package lazyslot implements a caching scheme for globally shared objects that take significant time to refresh.
Package lazyslot implements a caching scheme for globally shared objects that take significant time to refresh.
data/caching/lru
Package lru provides least-recently-used (LRU) cache.
Package lru provides least-recently-used (LRU) cache.
data/cmpbin
Package cmpbin provides binary serialization routines which ensure that the serialized objects maintain the same sort order of the original inputs when sorted bytewise (i.e.
Package cmpbin provides binary serialization routines which ensure that the serialized objects maintain the same sort order of the original inputs when sorted bytewise (i.e.
data/jsontime
Package jsontime implements a JSON-serializable container for a time.Time.
Package jsontime implements a JSON-serializable container for a time.Time.
data/rand/cryptorand
Package cryptorand implements a mockable source or crypto strong randomness.
Package cryptorand implements a mockable source or crypto strong randomness.
data/rand/mathrand
Package mathrand implements a mockable interface for math/rand.Rand.
Package mathrand implements a mockable interface for math/rand.Rand.
data/recordio
Package recordio implements a basic RecordIO reader and writer.
Package recordio implements a basic RecordIO reader and writer.
data/sortby
Package sortby provides a succinct way to generate correctly-behaved Less funcions for use with the stdlib 'sort' package.
Package sortby provides a succinct way to generate correctly-behaved Less funcions for use with the stdlib 'sort' package.
data/stringset
Package stringset is an exceedingly simple 'set' implementation for strings.
Package stringset is an exceedingly simple 'set' implementation for strings.
data/strpair
Package strpair implements parsing and formatting of lists of colon-delimited key-value pair strings.
Package strpair implements parsing and formatting of lists of colon-delimited key-value pair strings.
data/text/pattern
Package pattern implements lightweight parsable string patterns.
Package pattern implements lightweight parsable string patterns.
data/text/sanitizehtml
Package sanitizehtml implements a sanitizer of a very limited HTML.
Package sanitizehtml implements a sanitizer of a very limited HTML.
data/text/stringtemplate
Package stringtemplate implements Python string.Template-like substitution.
Package stringtemplate implements Python string.Template-like substitution.
data/text/templateproto
Package templateproto defines a proto-based way to configure templates for JSON documents.
Package templateproto defines a proto-based way to configure templates for JSON documents.
data/text/units
Package units provides common useful printable units.
Package units provides common useful printable units.
data/treapstore
Package treapstore is a lightweight append-only in-memory key-value store built on top a treap (tree + heap) implementation.
Package treapstore is a lightweight append-only in-memory key-value store built on top a treap (tree + heap) implementation.
errors
Package errors is an augmented replacement package for the stdlib "errors" package.
Package errors is an augmented replacement package for the stdlib "errors" package.
flag/flagenum
Package flagenum is a utility package which facilitates implementation of flag.Value, json.Marshaler, and json.Unmarshaler interfaces via a string-to- value mapping.
Package flagenum is a utility package which facilitates implementation of flag.Value, json.Marshaler, and json.Unmarshaler interfaces via a string-to- value mapping.
flag/multiflag
Package multiflag is a package providing a flag.Value implementation capable of switching between multiple registered sub-flags, each of which have their own set of parameter flags.
Package multiflag is a package providing a flag.Value implementation capable of switching between multiple registered sub-flags, each of which have their own set of parameter flags.
flag/stringlistflag
Package stringlistflag provides a flag.Value implementation which resolves multiple args into a []string.
Package stringlistflag provides a flag.Value implementation which resolves multiple args into a []string.
flag/stringmapflag
Package stringmapflag provides a flag.Value that, when parsed, augments a map[string]string with the supplied parameter.
Package stringmapflag provides a flag.Value that, when parsed, augments a map[string]string with the supplied parameter.
flag/stringsetflag
Package stringsetflag provides a flag.Value implementation which resolves multiple args into a stringset.
Package stringsetflag provides a flag.Value implementation which resolves multiple args into a stringset.
gcloud/gae
Package gae defines information about the AppEngine environment.
Package gae defines information about the AppEngine environment.
gcloud/googleoauth
Package googleoauth contains some helpers related to Google OAuth2.
Package googleoauth contains some helpers related to Google OAuth2.
gcloud/gs
Package gs implements a versatile Google Storage client on top of the standard Google Storage Go API.
Package gs implements a versatile Google Storage client on top of the standard Google Storage Go API.
gcloud/iam
Package iam implements wrappers around some Google Cloud IAM APIs.
Package iam implements wrappers around some Google Cloud IAM APIs.
iotools
Package iotools contains a collection of I/O-related utility structs and methods.
Package iotools contains a collection of I/O-related utility structs and methods.
isolated
Package isolated defines the isolated common code shared by the client and server.
Package isolated defines the isolated common code shared by the client and server.
isolatedclient
Package isolatedclient implements the API to communicate with the Isolated server and to process '.isolated' files.
Package isolatedclient implements the API to communicate with the Isolated server and to process '.isolated' files.
isolatedclient/isolatedfake
Package isolatedfake implements an in-process fake Isolated server for integration testing.
Package isolatedfake implements an in-process fake Isolated server for integration testing.
lhttp
Package lhttp implements HTTP client helper code (JSON, automatic retries, authentication, etc).
Package lhttp implements HTTP client helper code (JSON, automatic retries, authentication, etc).
logging
Package logging defines Logger interface and context.Context helpers to put\get logger from context.Context.
Package logging defines Logger interface and context.Context helpers to put\get logger from context.Context.
logging/gkelogger
Package gkelogger is a simple logger that outputs all log entries as single- line JSON objects to stdout.
Package gkelogger is a simple logger that outputs all log entries as single- line JSON objects to stdout.
logging/gologger
Package gologger is a compatibility layer between go-logging library and luci-go/common/logging.
Package gologger is a compatibility layer between go-logging library and luci-go/common/logging.
proto/access
Package access contains Access service protocol.
Package access contains Access service protocol.
proto/config
Package config contains luci-config protobuf definitions.
Package config contains luci-config protobuf definitions.
proto/gerrit
Package gerrit contains Gerrit service definition.
Package gerrit contains Gerrit service definition.
proto/git
Package git contains Git-related protobuf definitions.
Package git contains Git-related protobuf definitions.
proto/gitiles
Package gitiles contains Gitiles service definition.
Package gitiles contains Gitiles service definition.
proto/google
Package google contains utility methods to help interface between Google standard protobufs and native Go types.
Package google contains utility methods to help interface between Google standard protobufs and native Go types.
proto/google/descutil
Package descutil contains utility functions for protobuf descriptor messages.
Package descutil contains utility functions for protobuf descriptor messages.
proto/milo
Package milo contains Milo protobuf definitions.
Package milo contains Milo protobuf definitions.
proto/srcman
Package srcman contains source manifest protobuf definitions.
Package srcman contains source manifest protobuf definitions.
retry/transient
Package transient allows you to tag and retry 'transient' errors (i.e.
Package transient allows you to tag and retry 'transient' errors (i.e.
runtime/goroutine
Package goroutine is mostly to house a function for obtaining the current goroutine ID, but probably will eventually contain other naughty functions.
Package goroutine is mostly to house a function for obtaining the current goroutine ID, but probably will eventually contain other naughty functions.
runtime/paniccatcher
Package paniccatcher package exposes a set of utility structures and methods that support standardized panic catching and handling.
Package paniccatcher package exposes a set of utility structures and methods that support standardized panic catching and handling.
runtime/tracer
Package tracer implements code to generate Chrome-compatible traces.
Package tracer implements code to generate Chrome-compatible traces.
sync/bufferpool
Package bufferpool implements a pool of bytes.Buffer instances backed by a sync.Pool.
Package bufferpool implements a pool of bytes.Buffer instances backed by a sync.Pool.
sync/cancelcond
Package cancelcond implements a wrapper around sync.Cond that response to context.Context cancellation.
Package cancelcond implements a wrapper around sync.Cond that response to context.Context cancellation.
sync/mutexpool
Package mutexpool implements P, a pool of keyed mutexes.
Package mutexpool implements P, a pool of keyed mutexes.
system/environ
Package environ is a simple environment variable manipulation library.
Package environ is a simple environment variable manipulation library.
system/exitcode
Package exitcode provides common methods to extract exit codes from errors returned by exec.Cmd.
Package exitcode provides common methods to extract exit codes from errors returned by exec.Cmd.
system/prober
Package prober exports Probe, which implements logic to identify a wrapper's wrapped target.
Package prober exports Probe, which implements logic to identify a wrapper's wrapped target.
system/terminal
Package terminal is just a way to forward
Package terminal is just a way to forward
testing/assertions
Package assertions is designed to be a collection of `.` importable, goconvey compatible testing assertions, in the style of "github.com/smarty/assertions".
Package assertions is designed to be a collection of `.` importable, goconvey compatible testing assertions, in the style of "github.com/smarty/assertions".
testing/prpctest
Package prpctest is a package to facilitate pRPC testing by wrapping httptest with a pRPC Server.
Package prpctest is a package to facilitate pRPC testing by wrapping httptest with a pRPC Server.
tsmon
Package tsmon contains global state and utility functions for configuring and interacting with tsmon.
Package tsmon contains global state and utility functions for configuring and interacting with tsmon.
tsmon/distribution
Package distribution contains distribution metrics, fixed width and geometric bucketers.
Package distribution contains distribution metrics, fixed width and geometric bucketers.
tsmon/field
Package field contains constructors for metric field definitions.
Package field contains constructors for metric field definitions.
tsmon/metric
Package metric is the API for defining metrics and updating their values.
Package metric is the API for defining metrics and updating their values.
tsmon/monitor
Package monitor contains the code for sending metric data to monitoring endpoints.
Package monitor contains the code for sending metric data to monitoring endpoints.
tsmon/registry
Package registry holds a map of all metrics registered by the process.
Package registry holds a map of all metrics registered by the process.
tsmon/runtimestats
Package runtimestats exposes metrics related to the Go runtime.
Package runtimestats exposes metrics related to the Go runtime.
tsmon/store
Package store contains code for storing and retreiving metrics.
Package store contains code for storing and retreiving metrics.
tsmon/store/storetest
Package storetest is imported exclusively by tests for Store implementations.
Package storetest is imported exclusively by tests for Store implementations.
tsmon/target
Package target contains information about the thing that is sending metrics - either a NetworkDevice (a machine) or a Task (a service).
Package target contains information about the thing that is sending metrics - either a NetworkDevice (a machine) or a Task (a service).
tsmon/ts_mon_proto
Package ts_mon_proto contains ts_mon protobuf source and generated protobuf data.
Package ts_mon_proto contains ts_mon protobuf source and generated protobuf data.
tsmon/types
Package types contains miscellaneous structs and interfaces used throughout tsmon.
Package types contains miscellaneous structs and interfaces used throughout tsmon.
tsmon/versions
Package versions allows processes to report string-valued metrics with versions of various libraries they link with.
Package versions allows processes to report string-valued metrics with versions of various libraries they link with.
Package config contains a client to access LUCI configuration service.
Package config contains a client to access LUCI configuration service.
appengine/backend/memcache
Package memcache implements a caching config client backend backed by AppEngine's memcache service.
Package memcache implements a caching config client backend backed by AppEngine's memcache service.
appengine/gaeconfig
Package gaeconfig implements LUCI-config service bindings backed by AppEngine storage and caching.
Package gaeconfig implements LUCI-config service bindings backed by AppEngine storage and caching.
impl/erroring
Package erroring implements a backend that always returns an error for all of its calls.
Package erroring implements a backend that always returns an error for all of its calls.
impl/filesystem
Package filesystem implements a file system backend for the config client.
Package filesystem implements a file system backend for the config client.
impl/memory
Package memory implements in-memory backend for the config client.
Package memory implements in-memory backend for the config client.
server/cfgclient
Package cfgclient contains service implementations for the LUCI configuration service defined in go.chromium.org/luci/config.
Package cfgclient contains service implementations for the LUCI configuration service defined in go.chromium.org/luci/config.
server/cfgclient/access
Package access implements a config service access check against a project config client.
Package access implements a config service access check against a project config client.
server/cfgclient/backend
Package backend implements configuration client backend interface and associated data types.
Package backend implements configuration client backend interface and associated data types.
server/cfgclient/backend/caching
Package caching implements a config.Interface that uses a caching layer to store its configuration values.
Package caching implements a config.Interface that uses a caching layer to store its configuration values.
server/cfgclient/backend/client
Package client implements a config client backend for a configuration client.
Package client implements a config client backend for a configuration client.
server/cfgclient/backend/erroring
Package erroring implements config.Backend that simply returns an error.
Package erroring implements config.Backend that simply returns an error.
server/cfgclient/backend/format
Package format implements a config client Backend that performs formatting on items.
Package format implements a config client Backend that performs formatting on items.
server/cfgclient/textproto
Package textproto implements a textproto config service Resolver.
Package textproto implements a textproto config service Resolver.
validation
Package validation provides helpers for performing and setting up handlers for config validation related requests from luci-config.
Package validation provides helpers for performing and setting up handlers for config validation related requests from luci-config.
dm
Package dm is the service and tooling for the Dungeon Master (DM) distributed dependency scheduling service.
Package dm is the service and tooling for the Dungeon Master (DM) distributed dependency scheduling service.
appengine
Package appengine provides the appengine service implementation for DM.
Package appengine provides the appengine service implementation for DM.
appengine/deps
Package deps implements DM's Deps RPC methods.
Package deps implements DM's Deps RPC methods.
appengine/distributor
Package distributor contains all the adaptors for the various supported distributor protocols.
Package distributor contains all the adaptors for the various supported distributor protocols.
appengine/frontend
Package frontend is DM's Google AppEngine application stub.
Package frontend is DM's Google AppEngine application stub.
appengine/model
Package model contains all of DM's datastore models.
Package model contains all of DM's datastore models.
appengine/mutate
Package mutate includes the main logic of DM's state machine.
Package mutate includes the main logic of DM's state machine.
tools/jobsim_client
Jobsim client is a self-contained binary that implements various toy job algorithms for use in testing DM with live distributors (like swarming).
Jobsim client is a self-contained binary that implements various toy job algorithms for use in testing DM with live distributors (like swarming).
examples
appengine/helloworld_standard/frontend
Package frontend implements HTTP server that handles requests to default module.
Package frontend implements HTTP server that handles requests to default module.
grpc
cmd/prpc
Command prpc can make RPCs to pRPC servers and display their description.
Command prpc can make RPCs to pRPC servers and display their description.
cmd/svcdec
Command svcdec stands for 'service decorator'.
Command svcdec stands for 'service decorator'.
cmd/svcmux
Command svcmux reads a service interface XYZServer generated by protoc and generates VersionedXYZV struct that stores a map version->implementation, and a default version.
Command svcmux reads a service interface XYZServer generated by protoc and generates VersionedXYZV struct that stores a map version->implementation, and a default version.
discovery
Package discovery implements RPC service introspection.
Package discovery implements RPC service introspection.
grpcmon
Package grpcmon defines gRPC interceptors with monitoring instrumentation.
Package grpcmon defines gRPC interceptors with monitoring instrumentation.
grpcutil
Package grpcutil is a utility package to supplement Google's gRPC package, "google.golang.org/grpc".
Package grpcutil is a utility package to supplement Google's gRPC package, "google.golang.org/grpc".
internal/svctool
Package svctool implements svcmux/svcdec tools command line parsing
Package svctool implements svcmux/svcdec tools command line parsing
logging
Package logging implements a gRPC glog.Logger implementation backed by a go.chromium.org/luci/common/logging Logger.
Package logging implements a gRPC glog.Logger implementation backed by a go.chromium.org/luci/common/logging Logger.
prpc
Package prpc (provisional RPC) implements an RPC client over HTTP 1.x.
Package prpc (provisional RPC) implements an RPC client over HTTP 1.x.
svcmux
Package svcmux contains utility functions used by code generated by svcmux tool.
Package svcmux contains utility functions used by code generated by svcmux tool.
hardcoded
chromeinfra
Package chromeinfra contains hardcoded values related to Chrome Infra.
Package chromeinfra contains hardcoded values related to Chrome Infra.
logdog
api/config/svcconfig
Package svcconfig stores service configuration for a LogDog instance.
Package svcconfig stores service configuration for a LogDog instance.
api/config/svcconfig/validate
Package main implements the LogDog Coordinator validation binary.
Package main implements the LogDog Coordinator validation binary.
api/endpoints/coordinator/admin/v1
Package logdog contains Version 1 of the LogDog Coordinator service interface.
Package logdog contains Version 1 of the LogDog Coordinator service interface.
api/endpoints/coordinator/logs/v1
Package logdog contains Version 1 of the LogDog Coordinator user interface.
Package logdog contains Version 1 of the LogDog Coordinator user interface.
api/endpoints/coordinator/registration/v1
Package logdog contains Version 1 of the LogDog Coordinator stream registration interface.
Package logdog contains Version 1 of the LogDog Coordinator stream registration interface.
api/endpoints/coordinator/services/v1
Package logdog contains Version 1 of the LogDog Coordinator backend service interface.
Package logdog contains Version 1 of the LogDog Coordinator backend service interface.
api/logpb
Package logpb contains LogDog protobuf source and generated protobuf data.
Package logpb contains LogDog protobuf source and generated protobuf data.
appengine/cmd/coordinator/default
Package module is a simple AppEngine LUCI service.
Package module is a simple AppEngine LUCI service.
appengine/cmd/coordinator/logs
Package main is the main entry point for the `vmuser` LogDog AppEngine executable.
Package main is the main entry point for the `vmuser` LogDog AppEngine executable.
appengine/cmd/coordinator/services
Package module is the main entry point for the `services` LogDog AppEngine executable.
Package module is the main entry point for the `services` LogDog AppEngine executable.
appengine/cmd/coordinator/static
Package stub doesn't actually do anything.
Package stub doesn't actually do anything.
client/annotee/annotation
Package annotation implements a state machine that constructs Milo annotation protobufs from a series of annotation commands.
Package annotation implements a state machine that constructs Milo annotation protobufs from a series of annotation commands.
client/annotee/executor
Package executor contains an implementation of the Annotee Executor.
Package executor contains an implementation of the Annotee Executor.
client/bootstrapResult
Package bootstrapResult defines a common way to express the result of bootstrapping a command via JSON.
Package bootstrapResult defines a common way to express the result of bootstrapping a command via JSON.
client/butler
Package butler is the main engine for the Butler executable.
Package butler is the main engine for the Butler executable.
client/butler/bootstrap
Package bootstrap handles Butler-side bootstrapping functionality.
Package bootstrap handles Butler-side bootstrapping functionality.
client/butler/bundler
Package bundler is responsible for efficiently transforming aggregate stream data into Butler messages for export.
Package bundler is responsible for efficiently transforming aggregate stream data into Butler messages for export.
client/butler/output
Package output contains interfaces and implementations for Butler Outputs, which are responsible for delivering Butler protobufs to LogDog collection endpoints.
Package output contains interfaces and implementations for Butler Outputs, which are responsible for delivering Butler protobufs to LogDog collection endpoints.
client/butler/output/log
Package log implements the "log" Output.
Package log implements the "log" Output.
client/butler/output/pubsub
Package pubsub implements the "pubsub" Output.
Package pubsub implements the "pubsub" Output.
client/butlerlib/streamproto
Package streamproto describes the protocol primitives used by LogDog/Butler for stream negotiation.
Package streamproto describes the protocol primitives used by LogDog/Butler for stream negotiation.
client/butlerproto
Package butlerproto implements the LogDog Butler wire protocol.
Package butlerproto implements the LogDog Butler wire protocol.
client/cmd/logdog_butler
Package main is entry point for the command-line LogDog Butler application.
Package main is entry point for the command-line LogDog Butler application.
common/archive
Package archive constructs a LogDog archive out of log stream components.
Package archive constructs a LogDog archive out of log stream components.
common/renderer
Package renderer exports the capability to render a LogDog log stream to an io.Writer.
Package renderer exports the capability to render a LogDog log stream to an io.Writer.
common/storage/archive
Package archive implements a storage.Storage instance that retrieves logs from a Google Storage archive.
Package archive implements a storage.Storage instance that retrieves logs from a Google Storage archive.
common/storage/archive/logdog_archive_test
Package main implements a simple CLI tool to load and interact with Google Storage archived data.
Package main implements a simple CLI tool to load and interact with Google Storage archived data.
common/storage/bigtable
Package bigtable provides an implementation of the Storage interface backed by Google Cloud Platform's BigTable.
Package bigtable provides an implementation of the Storage interface backed by Google Cloud Platform's BigTable.
common/storage/bigtable/logdog_bigtable_test
Package main implements a simple CLI tool to load and interact with storage data in Google BigTable data.
Package main implements a simple CLI tool to load and interact with storage data in Google BigTable data.
common/storage/memory
Package memory implements in-memory Storage structures.
Package memory implements in-memory Storage structures.
common/viewer
Package viewer is a support library to interact with the LogDog web app and log stream viewer.
Package viewer is a support library to interact with the LogDog web app and log stream viewer.
server/collector
Package collector implements the LogDog Collector daemon's log parsing and registration logic.
Package collector implements the LogDog Collector daemon's log parsing and registration logic.
server/collector/coordinator
Package coordinator implements a minimal interface to the Coordinator service that is sufficient for Collector usage.
Package coordinator implements a minimal interface to the Coordinator service that is sufficient for Collector usage.
server/service/config
Package config implements common LogDog daemon configuration.
Package config implements common LogDog daemon configuration.
luci_notify
internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
Package lucictx implements a Go client for the protocol defined here:
Package lucictx implements a Go client for the protocol defined here:
machine-db
appengine/frontend
Package frontend contains the Machine Database AppEngine front end.
Package frontend contains the Machine Database AppEngine front end.
appengine/ui
Package ui contains Machine Database web UI.
Package ui contains Machine Database web UI.
client/cli
Package cli contains the Machine Database command-line client.
Package cli contains the Machine Database command-line client.
client/cmd/crimson
Package main contains the Machine Database CLI implementation.
Package main contains the Machine Database CLI implementation.
common
Package common contains common Machine Database functions.
Package common contains common Machine Database functions.
milo
api/buildbot
Package protocol defines types used in Buildbot build protocol, e.g.
Package protocol defines types used in Buildbot build protocol, e.g.
buildsource/buildbot/buildstore
Package buildstore implements storage of //milo/api/buildbot/* types.
Package buildstore implements storage of //milo/api/buildbot/* types.
git
Package git provides high level API for Git/Gerrit data.
Package git provides high level API for Git/Gerrit data.
git/gitacls
Package gitacls implements read ACLs for Git/Gerrit data.
Package gitacls implements read ACLs for Git/Gerrit data.
git/gittest
Package gittest is a generated GoMock package.
Package gittest is a generated GoMock package.
rpc
mmutex
lib
mp
cmd/mpagent
Package main is generated by go.chromium.org/luci/tools/cmd/assets.
Package main is generated by go.chromium.org/luci/tools/cmd/assets.
cmd/snapshot
Package main contains a tool which takes a snapshot of the given disk.
Package main contains a tool which takes a snapshot of the given disk.
scheduler
api/scheduler/v1
Package scheduler contains the main API of Scheduler service.
Package scheduler contains the main API of Scheduler service.
appengine/acl
package acl implements ACLs for enforcement in API and UI.
package acl implements ACLs for enforcement in API and UI.
appengine/apiservers
Package apiservers implements gRPC APIs exposed by Scheduler service.
Package apiservers implements gRPC APIs exposed by Scheduler service.
appengine/catalog
Package catalog implements a part that talks to luci-config service to fetch and parse job definitions.
Package catalog implements a part that talks to luci-config service to fetch and parse job definitions.
appengine/engine
Package engine implements the core logic of the scheduler service.
Package engine implements the core logic of the scheduler service.
appengine/engine/dsset
Package dsset implements a particular flavor of datastore-backed set.
Package dsset implements a particular flavor of datastore-backed set.
appengine/engine/policy
Package policy contains implementation of triggering policy functions.
Package policy contains implementation of triggering policy functions.
appengine/frontend
Package frontend implements GAE web server for luci-scheduler service.
Package frontend implements GAE web server for luci-scheduler service.
appengine/internal
Package internal contains internal structs used by the tasks and the engine.
Package internal contains internal structs used by the tasks and the engine.
appengine/presentation
package presentation implements common method to API and UI serving.
package presentation implements common method to API and UI serving.
appengine/task
Package task defines interface between Scheduler engine and implementations of particular tasks (such as URL fetch tasks, Swarming tasks, DM tasks, etc).
Package task defines interface between Scheduler engine and implementations of particular tasks (such as URL fetch tasks, Swarming tasks, DM tasks, etc).
appengine/task/buildbucket
Package buildbucket implements tasks that run Buildbucket jobs.
Package buildbucket implements tasks that run Buildbucket jobs.
appengine/task/noop
Package noop implements tasks that do nothing at all.
Package noop implements tasks that do nothing at all.
appengine/task/urlfetch
Package urlfetch implements tasks that just make HTTP calls.
Package urlfetch implements tasks that just make HTTP calls.
appengine/task/utils
Package utils contains a bunch of small functions used by task/ subpackages.
Package utils contains a bunch of small functions used by task/ subpackages.
appengine/ui
Package ui implements request handlers that serve user facing HTML pages.
Package ui implements request handlers that serve user facing HTML pages.
server
analytics
Package analytics provides a standard way to store the Google Analytics tracking ID.
Package analytics provides a standard way to store the Google Analytics tracking ID.
auth
Package auth implements authentication and authorization framework for HTTP servers.
Package auth implements authentication and authorization framework for HTTP servers.
auth/authdb
Package authdb contains definition of Authentication Database (aka AuthDB).
Package authdb contains definition of Authentication Database (aka AuthDB).
auth/authtest
Package authtest implements some interfaces used by auth package to simplify unit testing.
Package authtest implements some interfaces used by auth package to simplify unit testing.
auth/delegation
Package delegation contains low-level API for working with delegation tokens.
Package delegation contains low-level API for working with delegation tokens.
auth/openid
Package openid implements OpenID Connect Login protocol (client side).
Package openid implements OpenID Connect Login protocol (client side).
auth/service
Package service implements a wrapper around API exposed by auth_service: https://github.com/luci/luci-py/tree/master/appengine/auth_service
Package service implements a wrapper around API exposed by auth_service: https://github.com/luci/luci-py/tree/master/appengine/auth_service
auth/signing
Package signing provides interfaces to sign arbitrary small blobs with RSA-SHA256 signature (PKCS1v15) and verify such signatures.
Package signing provides interfaces to sign arbitrary small blobs with RSA-SHA256 signature (PKCS1v15) and verify such signatures.
auth/signing/signingtest
Package signingtest implements signing.Signer interface using small random keys.
Package signingtest implements signing.Signer interface using small random keys.
auth/xsrf
Package xsrf provides Cross Site Request Forgery prevention middleware.
Package xsrf provides Cross Site Request Forgery prevention middleware.
caching
Package caching implements common server object caches.
Package caching implements common server object caches.
caching/cachingtest
Package cachingtest contains helpers for testing code that uses caching package.
Package cachingtest contains helpers for testing code that uses caching package.
caching/layered
Package layered provides a two-layer cache for serializable objects.
Package layered provides a two-layer cache for serializable objects.
middleware
Package middleware defines base type for context-aware HTTP request handler.
Package middleware defines base type for context-aware HTTP request handler.
portal
Package portal implements HTTP routes for portal pages.
Package portal implements HTTP routes for portal pages.
portal/internal/assets
Package assets is generated by go.chromium.org/luci/tools/cmd/assets.
Package assets is generated by go.chromium.org/luci/tools/cmd/assets.
pprof
Package pprof is similar to net/http/pprof, except it supports auth.
Package pprof is similar to net/http/pprof, except it supports auth.
router
Package router provides an HTTP router with support for middleware and subrouters.
Package router provides an HTTP router with support for middleware and subrouters.
secrets
Package secrets provides an interface for a simple secret store: you ask it for a secret (a byte blob, identifies by some key), and it returns it to you (current version, as well as a bunch of previous versions).
Package secrets provides an interface for a simple secret store: you ask it for a secret (a byte blob, identifies by some key), and it returns it to you (current version, as well as a bunch of previous versions).
secrets/testsecrets
Package testsecrets provides a dumb in-memory secret store to use in unit tests.
Package testsecrets provides a dumb in-memory secret store to use in unit tests.
settings
Package settings implements storage for infrequently changing global settings.
Package settings implements storage for infrequently changing global settings.
templates
Package templates implements wrapper around html/template to provide lazy loading of templates and better integration with HTTP middleware framework.
Package templates implements wrapper around html/template to provide lazy loading of templates and better integration with HTTP middleware framework.
tokens
Package tokens provides means to generate and validate base64 encoded tokens compatible with luci-py's components.auth implementation.
Package tokens provides means to generate and validate base64 encoded tokens compatible with luci-py's components.auth implementation.
tsmon
Package tsmon adapts common/tsmon library to a server-side environment.
Package tsmon adapts common/tsmon library to a server-side environment.
warmup
Package warmup allows to register hooks executed during the server warmup.
Package warmup allows to register hooks executed during the server warmup.
skylark
interpreter
Package interpreter contains basic skylark interpreter with some features that make it useful for non-trivial scripts:
Package interpreter contains basic skylark interpreter with some features that make it useful for non-trivial scripts:
skylarkproto
Package skylarkproto exposes protobuf messages as skylark types.
Package skylarkproto exposes protobuf messages as skylark types.
tokenserver
api
Package tokenserver contains common protobuf messages for the token server.
Package tokenserver contains common protobuf messages for the token server.
api/admin/v1
Package admin contains The Token Server Administrative and Config API.
Package admin contains The Token Server Administrative and Config API.
api/bq
Package bq contains BigQuery tables schemas.
Package bq contains BigQuery tables schemas.
api/minter/v1
Package minter contains the main API of the token server.
Package minter contains the main API of the token server.
appengine/backend
Package backend implements HTTP server that handles requests to 'backend' module.
Package backend implements HTTP server that handles requests to 'backend' module.
appengine/frontend
Package frontend implements HTTP server that handles requests to 'default' module.
Package frontend implements HTTP server that handles requests to 'default' module.
appengine/impl/certchecker
Package certchecker contains implementation of CertChecker.
Package certchecker contains implementation of CertChecker.
appengine/impl/certconfig
Package certconfig contains code to work with imported CAs and their CRLs.
Package certconfig contains code to work with imported CAs and their CRLs.
appengine/impl/machinetoken
Package machinetoken implements generation of LUCI machine tokens.
Package machinetoken implements generation of LUCI machine tokens.
appengine/impl/services/admin/adminsrv
Package adminsrv implements Admin API.
Package adminsrv implements Admin API.
appengine/impl/services/admin/certauthorities
Package certauthorities implements CertificateAuthorities API.
Package certauthorities implements CertificateAuthorities API.
appengine/impl/services/minter/tokenminter
Package tokenminter implements TokenMinter API.
Package tokenminter implements TokenMinter API.
appengine/impl/utils
Package utils contains a variety of small utility functions used by other tokenserver packages.
Package utils contains a variety of small utility functions used by other tokenserver packages.
appengine/impl/utils/bqlog
Package bqlog provides a mechanism to asynchronously log rows to BigQuery.
Package bqlog provides a mechanism to asynchronously log rows to BigQuery.
appengine/impl/utils/bqlog/gae-test/gae-test
Package gaetest implements a sloppy sample app that tests 'bqlog' on GAE.
Package gaetest implements a sloppy sample app that tests 'bqlog' on GAE.
appengine/impl/utils/identityset
Package identityset implements a set-like structure for identity.Identity.
Package identityset implements a set-like structure for identity.Identity.
appengine/impl/utils/policy
Package policy contains implementation of Policy parsing and querying.
Package policy contains implementation of Policy parsing and querying.
appengine/impl/utils/revocation
Package revocation contains utilities for implementing token revocation.
Package revocation contains utilities for implementing token revocation.
appengine/impl/utils/shards
Package shards provides a low level support for implementing sharded set of []byte blobs.
Package shards provides a low level support for implementing sharded set of []byte blobs.
appengine/impl/utils/tokensigning
Package tokensigning implements utilities for RSA-signing of proto messages.
Package tokensigning implements utilities for RSA-signing of proto messages.
auth/machine
Package machine implements authentication based on LUCI machine tokens.
Package machine implements authentication based on LUCI machine tokens.
client
Package client implements pRPC client for The Token Server.
Package client implements pRPC client for The Token Server.
cmd/luci_machine_tokend
Command luci_machine_tokend runs on all machines via cron.
Command luci_machine_tokend runs on all machines via cron.
tools
cmd/apigen
Package main hosts the Cloud Endpoints API generator utility.
Package main hosts the Cloud Endpoints API generator utility.
cmd/assets
Package main hosts the utility that converts binary assets into assets.gen.go file, so that they can be baked directly into the executable.
Package main hosts the utility that converts binary assets into assets.gen.go file, so that they can be baked directly into the executable.
cmd/bqschemaupdater
Command bqschemaupdater accepts location and schema of a BigQuery table and creates or updates the table.
Command bqschemaupdater accepts location and schema of a BigQuery table and creates or updates the table.
cmd/gorun
Package main defines the `gorun` tool, a shorthand tool to extend the "go run"-like convenience to packages.
Package main defines the `gorun` tool, a shorthand tool to extend the "go run"-like convenience to packages.
Package tumble is a distributed multi-stage transaction processor for appengine.
Package tumble is a distributed multi-stage transaction processor for appengine.
Package vpython implements the vpython tool and associated libraries.
Package vpython implements the vpython tool and associated libraries.
api/vpython
Package vpython contains `vpython` environment definition protobufs.
Package vpython contains `vpython` environment definition protobufs.
venv/assets
Package assets is generated by go.chromium.org/luci/tools/cmd/assets.
Package assets is generated by go.chromium.org/luci/tools/cmd/assets.
web

Jump to

Keyboard shortcuts

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