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.

Expand ▾ Collapse ▴

Directories

Path Synopsis
appengine
bqlog
Package bqlog provides a mechanism to asynchronously log rows to BigQuery.
Package bqlog provides a mechanism to asynchronously log rows to BigQuery.
bqlog/gae-test/gae-test
Binary gae-test implements a sloppy sample app that tests 'bqlog' on GAE.
Binary gae-test implements a sloppy sample app that tests 'bqlog' on GAE.
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.
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
Binary demo contains minimal demo for 'mapper' package.
Binary demo contains minimal demo for 'mapper' package.
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.
authctx
Package authctx allows to run subprocesses in an environment with ambient auth.
Package authctx allows to run subprocesses in an environment with ambient auth.
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.
client/cmd/realms-dump
Command realms-dump can dump realm configs served by an Auth Service.
Command realms-dump can dump realm configs served by an Auth Service.
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/gcemeta
Package gcemeta implements a subset of GCE metadata server protocol.
Package gcemeta implements a subset of GCE metadata server protocol.
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/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.
Package buildbucket is a client library for Buildbucket service.
Package buildbucket is a client library for Buildbucket service.
access
Package access is DEPRECATED.
Package access is DEPRECATED.
appengine/frontend
Package main is the main entry point for the app.
Package main is the main entry point for the app.
appengine/model
Package model contains datastore model implementation.
Package model contains datastore model implementation.
appengine/rpc
Package rpc contains rpc service implementation.
Package rpc contains rpc service implementation.
appengine/tasks
Package tasks contains task queue implementations.
Package tasks contains task queue implementations.
appengine/tasks/defs
Package taskdefs contains task queue task definitions.
Package taskdefs contains task queue task definitions.
cli
Package cli implements CLI client for buildbucket service.
Package cli implements CLI client for buildbucket service.
cmd/bbagent
Command bbagent is Buildbucket's agent running in swarming.
Command bbagent is Buildbucket's agent running in swarming.
deprecated
Package deprecated is deprecated part of the buildbucket library.
Package deprecated is deprecated part of the buildbucket library.
proto
Package buildbucketpb is generated from Buildbucket .proto files.
Package buildbucketpb is generated from Buildbucket .proto files.
protoutil
Package protoutil provides utility functions for protobuf messages in ../proto package.
Package protoutil provides utility functions for protobuf messages in ../proto package.
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.
api/config/v1
Package api contains CIPD backend API definitions.
Package api contains CIPD backend API definitions.
appengine/backend
Binary backend implements HTTP server that handles task queues and crons.
Binary backend implements HTTP server that handles task queues and crons.
appengine/frontend
Binary frontend implements HTTP server that handles requests to 'default' module.
Binary 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/monitoring
Package monitoring implements monitoring used by CIPD backend.
Package monitoring implements monitoring used by CIPD backend.
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/reader
Package reader implements reading contents of a CIPD package.
Package reader implements reading contents of a CIPD package.
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.
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.
cas
cmd/cas
Package main is a CAS client.
Package main is a CAS client.
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/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/isolate/lib
Package lib is used to implement the parent package main.
Package lib is used to implement the parent package main.
cmd/isolated
Package main is an Isolate server client.
Package main is an Isolate server client.
cmd/isolated/lib
Package lib is used to implement the parent package main.
Package lib is used to implement the parent package main.
cmd/swarming
Package main is a client to a Swarming server.
Package main is a client to a Swarming server.
cmd/swarming/lib
Package lib is used to implement the parent package main.
Package lib is used to implement the parent package main.
downloader
Package downloader implements the pipeline to download file sets from an isolated server.
Package downloader implements the pipeline to download file sets from an isolated server.
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.
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/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/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 functions for use with the stdlib 'sort' package.
Package sortby provides a succinct way to generate correctly-behaved Less functions 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
Package flag provides the utilities for implementing command line flags.
Package flag provides the utilities for implementing command line flags.
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.
git/footer
Package footer implements parsing logic for git footer and its predecessor (legacy `<KEY>=<arbitrary value>` style).
Package footer implements parsing logic for git footer and its predecessor (legacy `<KEY>=<arbitrary value>` style).
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/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.
logging/sdlogger
Package sdlogger is a logger that formats entries as JSON understood by Stackdriver log collectors.
Package sdlogger is a logger that formats entries as JSON understood by Stackdriver log collectors.
proto
Package proto contains protobuf-related utilities.
Package proto contains protobuf-related utilities.
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/examples
Package examples shows how to design protos which adhere to the Google Cloud API design guide.
Package examples shows how to design protos which adhere to the Google Cloud API design guide.
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/mask
Package mask provides utility functions for google protobuf field mask Supports advanced field mask semantics: - Refer to fields and map keys using .
Package mask provides utility functions for google protobuf field mask Supports advanced field mask semantics: - Refer to fields and map keys using .
proto/paged
Package paged implements a helper for making paginated Datastore queries.
Package paged implements a helper for making paginated Datastore queries.
proto/realms
Package realms contains LUCI Realms protobuf definitions.
Package realms contains LUCI Realms 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/profiling
Package profiling provides a tool to profile various aspects of the process.
Package profiling provides a tool to profile various aspects of the process.
spantest
Package spantest implements creation/destruction of a temporary Spanner database.
Package spantest implements creation/destruction of a temporary Spanner database.
sync/dispatcher
Package dispatcher implements a super-charged version of a buffered channel connected to a (potentially) parallelized work dispatcher.
Package dispatcher implements a super-charged version of a buffered channel connected to a (potentially) parallelized work dispatcher.
sync/dispatcher/buffer
Package buffer implements a batching buffer with batch lease and retry management.
Package buffer implements a batching buffer with batch lease and retry management.
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 an environment variable manipulation library.
Package environ is an environment variable manipulation library.
system/exec2
Package exec2 is like os/exec but supports timeout in Wait and process containment for unix using process group.
Package exec2 is like os/exec but supports timeout in Wait and process containment for unix using process group.
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/pager
Package pager implements paging using commands "less" or "more", depending on availability.
Package pager implements paging using commands "less" or "more", depending on availability.
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/signals
Package signals makes it easier to catch SIGTERM.
Package signals makes it easier to catch SIGTERM.
system/terminal
Package terminal is just a way to forward "golang.org/x/crypto/ssh/terminal".IsTerminal(fd int) In a way that will work on appengine (specifically; it doesn't break appengine's compilation).
Package terminal is just a way to forward "golang.org/x/crypto/ssh/terminal".IsTerminal(fd int) In a way that will work on appengine (specifically; it doesn't break appengine's compilation).
testing/assertions
Package assertions is designed to be a collection of `.` importable, goconvey compatible testing assertions, in the style of "github.com/smartystreets/assertions".
Package assertions is designed to be a collection of `.` importable, goconvey compatible testing assertions, in the style of "github.com/smartystreets/assertions".
testing/mock
Package mock has utility functions for gomock.
Package mock has utility functions for gomock.
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.
trace
Package trace provides support for collecting tracing spans.
Package trace provides support for collecting tracing spans.
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/examples/beep
package dummy_project implements a demo application that populates monitoring data for a dummy_project.
package dummy_project implements a demo application that populates monitoring data for a dummy_project.
tsmon/examples/beep/dummy_project
dummy_project implements a monitoring target interface for DummyProject.
dummy_project implements a monitoring target interface for DummyProject.
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 retrieving metrics.
Package store contains code for storing and retrieving 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/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.
cfgclient
Package cfgclient contains glue code to use config.Interface client.
Package cfgclient contains glue code to use config.Interface client.
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.
impl/resolving
Package resolving implements an interface that resolves ${var} placeholders in config set names and file paths before forwarding calls to some other interface.
Package resolving implements an interface that resolves ${var} placeholders in config set names and file paths before forwarding calls to some other interface.
server/cfgcache
Package cfgcache provides a datastore-based cache of individual config files.
Package cfgcache provides a datastore-based cache of individual config files.
server/cfgmodule
Package cfgmodule provides a server module with a LUCI Config client.
Package cfgmodule provides a server module with a LUCI Config client.
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.
vars
Package vars implements a registry of ${var} placeholders.
Package vars implements a registry of ${var} placeholders.
cq
appengine/config
Package config implements validation and common manipulation of CQ config files.
Package config implements validation and common manipulation of CQ config files.
appengine/frontend
Binary frontend is the main entry point for the CQ app.
Binary frontend is the main entry point for the CQ app.
cv
api/config/v2
Package config contains the CQ config schema.
Package config contains the CQ config schema.
api/recipe/v1
Package recipe contains CQ Recipe input proto.
Package recipe contains CQ Recipe input proto.
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
Binary frontend is DM's Google AppEngine application stub.
Binary 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 main implements HTTP server that handles requests to default module.
Package main implements HTTP server that handles requests to default module.
appengine/tq
Demo of server/tq module on Appengine.
Demo of server/tq module on Appengine.
gae
Package gae provides a fakable wrapped interface for the appengine SDK's APIs.
Package gae provides a fakable wrapped interface for the appengine SDK's APIs.
filter/count
Package count contains 'counter' filters for all the gae services.
Package count contains 'counter' filters for all the gae services.
filter/dscache
Package dscache provides a transparent cache for RawDatastore which is backed by Memcache.
Package dscache provides a transparent cache for RawDatastore which is backed by Memcache.
filter/featureBreaker
Package featureBreaker contains filters for dynamically disabling/breaking API features at test-time.
Package featureBreaker contains filters for dynamically disabling/breaking API features at test-time.
filter/featureBreaker/flaky
Package flaky can be used to emulate flaky GAE errors that happen randomly with some probability.
Package flaky can be used to emulate flaky GAE errors that happen randomly with some probability.
filter/readonly
Package readonly implements a filter that enforces read-only accesses to services.
Package readonly implements a filter that enforces read-only accesses to services.
filter/txnBuf
Package txnBuf contains a transaction buffer filter for the datastore service.
Package txnBuf contains a transaction buffer filter for the datastore service.
filter/txndefer
Package txndefer implements a filter that calls best-effort callbacks on successful transaction commits.
Package txndefer implements a filter that calls best-effort callbacks on successful transaction commits.
impl/cloud
Package cloud provides an implementation of services based on regular Cloud APIs and works from anywhere (not necessarily from AppEngine).
Package cloud provides an implementation of services based on regular Cloud APIs and works from anywhere (not necessarily from AppEngine).
impl/dummy
Package dummy provides panicking dummy implementations of all service Interfaces.
Package dummy provides panicking dummy implementations of all service Interfaces.
impl/memory
Package memory provides an implementation of infra/gae/libs/wrapper which backs to local memory ONLY.
Package memory provides an implementation of infra/gae/libs/wrapper which backs to local memory ONLY.
impl/prod
Package prod provides an implementation of services/* which backs to AppEngine Classic (Go version <=1.11).
Package prod provides an implementation of services/* which backs to AppEngine Classic (Go version <=1.11).
impl/prod/constraints
Package constraints contains production datastore constraints.
Package constraints contains production datastore constraints.
service/blobstore
Package blobstore is a PLACEHOLDER for the blobstore implementation.
Package blobstore is a PLACEHOLDER for the blobstore implementation.
service/datastore/dumper
Package dumper implements a very VERY dumb datastore-dumping debugging aid.
Package dumper implements a very VERY dumb datastore-dumping debugging aid.
service/datastore/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.
service/info/support
Package support provides Info-related support functionality.
Package support provides Info-related support functionality.
service/logging
Package logging is simply documentation :) In order to use logging, please import and use the "go.chromium.org/luci/common/logging" package.
Package logging is simply documentation :) In order to use logging, please import and use the "go.chromium.org/luci/common/logging" package.
service/urlfetch
Package urlfetch provides a way for an application to get http.RoundTripper that can make outbound HTTP requests.
Package urlfetch provides a way for an application to get http.RoundTripper that can make outbound HTTP requests.
gce
api/config/v1
Package config contains VM config definitions.
Package config contains VM config definitions.
api/instances/v1
Package instances contains a GCE instances service.
Package instances contains a GCE instances service.
api/projects/v1
Package projects contains GCP project config definitions.
Package projects contains GCP project config definitions.
api/tasks/v1
Package tasks contains task queue task definitions.
Package tasks contains task queue task definitions.
appengine/backend
Package backend includes cron and task queue handlers.
Package backend includes cron and task queue handlers.
appengine/config
Package config knows how import configs from LUCI-config.
Package config knows how import configs from LUCI-config.
appengine/frontend
Package main is the main entry point for the app.
Package main is the main entry point for the app.
appengine/model
Package model contains datastore model definitions.
Package model contains datastore model definitions.
appengine/rpc
Package rpc contains RPC server implementations.
Package rpc contains RPC server implementations.
appengine/rpc/memory
Package memory contains a RPC servers backed by in-memory storage.
Package memory contains a RPC servers backed by in-memory storage.
appengine/testing/roundtripper
Package roundtripper contains http.RoundTripper implementations suitable for testing.
Package roundtripper contains http.RoundTripper implementations suitable for testing.
cmd/agent
Package main is generated by go.chromium.org/luci/tools/cmd/assets.
Package main is generated by go.chromium.org/luci/tools/cmd/assets.
vmtoken
Package vmtoken implements parsing and verification of signed GCE VM metadata tokens.
Package vmtoken implements parsing and verification of signed GCE VM metadata tokens.
vmtoken/client
Package client implements client-side fetch and transmission of signed GCE VM metadata tokens.
Package client implements client-side fetch and transmission of signed GCE VM metadata tokens.
grpc
appstatus
Package appstatus can attach/reterieve an application-specific response status to/from an error.
Package appstatus can attach/reterieve an application-specific response status to/from an error.
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".
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.
led
Command led implements a 'led' binary WITHOUT support for "kitchen" based tasks.
Command led implements a 'led' binary WITHOUT support for "kitchen" based tasks.
job
ledcli
Package ledcli implements the subcommands for the `led` command line tool.
Package ledcli implements the subcommands for the `led` command line tool.
ledcmd
Package ledcmd implements the subcommands for the `led` command line tool which interact with external services.
Package ledcmd implements the subcommands for the `led` command line tool which interact with external services.
logdog
api/config/svcconfig
Package svcconfig stores service configuration for a LogDog instance.
Package svcconfig stores service configuration for a LogDog instance.
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
Binary default is a simple AppEngine LUCI service.
Binary default 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
Binary services is the main entry point for the `services` LogDog AppEngine executable.
Binary services is the main entry point for the `services` LogDog AppEngine executable.
appengine/cmd/coordinator/static
Binary stub doesn't actually do anything.
Binary stub doesn't actually do anything.
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/logdog
Package logdog implements output to a Logdog server via PubSub.
Package logdog implements output to a Logdog server via PubSub.
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/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.
client/pubsubprotocol
Package pubsubprotocol implements the LogDog pubsub wire protocol.
Package pubsubprotocol implements the LogDog pubsub wire protocol.
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/config
Package config abstracts access to Logdog service and project configuration.
Package config abstracts access to Logdog service and project configuration.
luci_notify
cmd/preview_email
Command preview_email renders an email template file.
Command preview_email renders an email template file.
mailtmpl
Package mailtmpl implements email template bundling and execution.
Package mailtmpl implements email template bundling and execution.
notify
Define the constants to use in notify
Define the constants to use in notify
Package lucicfg contains LUCI config generator.
Package lucicfg contains LUCI config generator.
buildifier
Package buildifier implements processing of Starlark files via buildifier.
Package buildifier implements processing of Starlark files via buildifier.
cli
Package cli contains command line interface for lucicfg tool.
Package cli contains command line interface for lucicfg tool.
cli/base
Package base contains code shared by other CLI subpackages.
Package base contains code shared by other CLI subpackages.
cli/cmds/diff
Package diff implements 'semantic-diff' subcommand.
Package diff implements 'semantic-diff' subcommand.
cli/cmds/fmt
Package fmt implements 'fmt' subcommand.
Package fmt implements 'fmt' subcommand.
cli/cmds/generate
Package generate implements 'generate' subcommand.
Package generate implements 'generate' subcommand.
cli/cmds/lint
Package lint implements 'lint' subcommand.
Package lint implements 'lint' subcommand.
cli/cmds/validate
Package validate implements 'validate' subcommand.
Package validate implements 'validate' subcommand.
cmd/docgen
Command docgen is the documentation generator.
Command docgen is the documentation generator.
cmd/lucicfg
Command lucicfg is CLI for LUCI config generator.
Command lucicfg is CLI for LUCI config generator.
doc
Package doc generates starlark documentation.
Package doc generates starlark documentation.
docgen
Package docgen generates documentation from Starlark code.
Package docgen generates documentation from Starlark code.
docgen/ast
Package ast defines AST relevant for the documentation generation.
Package ast defines AST relevant for the documentation generation.
docgen/docstring
Package docstring parses docstrings into more structured representation.
Package docstring parses docstrings into more structured representation.
docgen/symbols
Package symbols defines a data model representing Starlark symbols.
Package symbols defines a data model representing Starlark symbols.
graph
Package graph implements a DAG used internally to represent config objects.
Package graph implements a DAG used internally to represent config objects.
normalize
Package normalize contains functions to "flatten" and normalize LUCI configs.
Package normalize contains functions to "flatten" and normalize LUCI configs.
starlark
Package starlark is generated by go.chromium.org/luci/tools/cmd/assets.
Package starlark is generated by go.chromium.org/luci/tools/cmd/assets.
vars
Package vars implement lucicfg.var() support.
Package vars implement lucicfg.var() support.
Package lucictx implements a Go client for the protocol defined here: https://github.com/luci/luci-py/blob/master/client/LUCI_CONTEXT.md It differs from the python client in a couple ways: * The initial LUCI_CONTEXT value is captured once at application start.
Package lucictx implements a Go client for the protocol defined here: https://github.com/luci/luci-py/blob/master/client/LUCI_CONTEXT.md It differs from the python client in a couple ways: * The initial LUCI_CONTEXT value is captured once at application start.
Package luciexe documents the "LUCI Executable" protocol, and contains constants which are part of this protocol.
Package luciexe documents the "LUCI Executable" protocol, and contains constants which are part of this protocol.
exe
Package exe implements a client for the LUCI Executable ("luciexe") protocol.
Package exe implements a client for the LUCI Executable ("luciexe") protocol.
host
Package host implements the 'Host Application' portion of the luciexe protocol.
Package host implements the 'Host Application' portion of the luciexe protocol.
host/buildmerge
Package buildmerge implements the build.proto tracking and merging logic for luciexe host applications.
Package buildmerge implements the build.proto tracking and merging logic for luciexe host applications.
invoke
Package invoke implements the process of invoking a 'luciexe' compatible subprocess, but without setting up any of the 'host' requirements (like a Logdog Butler or LUCI Auth).
Package invoke implements the process of invoking a 'luciexe' compatible subprocess, but without setting up any of the 'host' requirements (like a Logdog Butler or LUCI Auth).
legacy
Package legacy holds libraries and tools for @@@annotation@@@ protocol which is the predecessor of luciexe protocol.
Package legacy holds libraries and tools for @@@annotation@@@ protocol which is the predecessor of luciexe protocol.
legacy/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.
legacy/annotee/executor
Package executor contains an implementation of the Annotee Executor.
Package executor contains an implementation of the Annotee Executor.
legacy/annotee/proto
Package annopb contains protobuf definitions for legacy annotation.
Package annopb contains protobuf definitions for legacy annotation.
legacy/cmd/run_annotations
Command run_annotations is a LUCI executable that wraps a command that produces @@@ANNOTATIONS@@@, and converts annotations to build message.
Command run_annotations is a LUCI executable that wraps a command that produces @@@ANNOTATIONS@@@, and converts annotations to build message.
machine-db
appengine/frontend
Package main contains the Machine Database AppEngine front end.
Package main 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
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.
mmutex
lib
mp
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.
resultdb
cli
cmd/taskwatcher
Command taskwatcher polls swarming tasks, calls luci.resultdb.rpc.v1.Deriver.DeriveChromiumInvocation and logs results.
Command taskwatcher polls swarming tasks, calls luci.resultdb.rpc.v1.Deriver.DeriveChromiumInvocation and logs results.
pbutil
Package pbutil implements utility functions for ResultDB protobuf messages.
Package pbutil implements utility functions for ResultDB protobuf messages.
sink
Package sink provides a server for aggregating test results and sending them to the ResultDB backend.
Package sink provides a server for aggregating test results and sending them to the ResultDB backend.
rts
presubmit/eval
Package eval estimates safety and precision of a given RTS algorithm.
Package eval estimates safety and precision of a given RTS algorithm.
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
Binary frontend implements GAE web server for luci-scheduler service.
Binary frontend implements GAE web server for luci-scheduler service.
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.
Package server implements an environment for running LUCI servers.
Package server implements an environment for running LUCI servers.
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/authdb/dump
Package dump implements loading AuthDB from dumps in Google Storage.
Package dump implements loading AuthDB from dumps in Google Storage.
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/iap
Package iap implements auth.Method for GCP's Identity Aware Proxy.
Package iap implements auth.Method for GCP's Identity Aware Proxy.
auth/openid
Package openid implements OpenID Connect Login protocol (client side).
Package openid implements OpenID Connect Login protocol (client side).
auth/realms
Package realms contains functionality related to LUCI Realms.
Package realms contains functionality related to LUCI Realms.
auth/service
Package service implements a wrapper around API exposed by auth_service: https://github.com/luci/luci-py/tree/master/appengine/auth_service The main focus is AuthDB replication protocol used to propagate changes to database of groups.
Package service implements a wrapper around API exposed by auth_service: https://github.com/luci/luci-py/tree/master/appengine/auth_service The main focus is AuthDB replication protocol used to propagate changes to database of groups.
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.
cmd/statsd-to-tsmon
Executable statsd-to-tsmon implements a statsd sink that sends aggregated metrics to tsmon.
Executable statsd-to-tsmon implements a statsd sink that sends aggregated metrics to tsmon.
cmd/tq-sweeper-spanner
Executable tq-sweeper-spanner runs an inproc sweeping driver that scans Spanner database for TQ transactional tasks reminders.
Executable tq-sweeper-spanner runs an inproc sweeping driver that scans Spanner database for TQ transactional tasks reminders.
experiments
Package experiments allow servers to use experimental code paths.
Package experiments allow servers to use experimental code paths.
gaeemulation
Package gaeemulation provides a server module that adds implementation of some https://godoc.org/go.chromium.org/luci/gae APIs to the global server context.
Package gaeemulation provides a server module that adds implementation of some https://godoc.org/go.chromium.org/luci/gae APIs to the global server context.
limiter
Package limiter implements load shedding for servers.
Package limiter implements load shedding for servers.
middleware
Package middleware defines base type for context-aware HTTP request handler.
Package middleware defines base type for context-aware HTTP request handler.
module
Package module defines a framework for extending server.Server with optional reusable bundles of functionality (called "modules", naturally).
Package module defines a framework for extending server.Server with optional reusable bundles of functionality (called "modules", naturally).
portal
Package portal implements HTTP routes for portal pages.
Package portal implements HTTP routes for portal pages.
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.
redisconn
Package redisconn implements integration with a Redis connection pool.
Package redisconn implements integration with a Redis connection pool.
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.
span
Package span implements a server module for communicating with Cloud Spanner.
Package span implements a server module for communicating with Cloud Spanner.
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.
tq
Package tq provides a task queue implementation on top of Cloud Tasks.
Package tq provides a task queue implementation on top of Cloud Tasks.
tq/tqtesting
Package tqtesting contains helpers for running server/tq in tests and on localhost.
Package tqtesting contains helpers for running server/tq in tests and on localhost.
tq/txn/datastore
Datastore contains Transactional Enqueue support for Cloud Datastore.
Datastore contains Transactional Enqueue support for Cloud Datastore.
tq/txn/spanner
Spanner contains Transactional Enqueue support for Cloud Spanner.
Spanner contains Transactional Enqueue support for Cloud Spanner.
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.
starlark
builtins
Package builtins is a collection of potentially useful Starlark builtins.
Package builtins is a collection of potentially useful Starlark builtins.
interpreter
Package interpreter contains customized Starlark interpreter.
Package interpreter contains customized Starlark interpreter.
starlarkproto
Package starlarkproto exposes protobuf messages as Starlark types.
Package starlarkproto exposes protobuf messages as Starlark types.
starlarktest
Package starlarktest contains utilities for running Starlark tests.
Package starlarktest contains utilities for running Starlark tests.
typed
Package typed contains implementation of strongly-typed lists and dicts.
Package typed contains implementation of strongly-typed lists and dicts.
swarming
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
Binary backend implements HTTP server that handles requests to 'backend' module.
Binary backend implements HTTP server that handles requests to 'backend' module.
appengine/frontend
Binary frontend implements HTTP server that handles requests to 'default' module.
Binary 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/serviceaccountsv2
Package serviceaccountsv2 implements MintServiceAccountToken RPC.
Package serviceaccountsv2 implements MintServiceAccountToken RPC.
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/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
gowrappers/rpcexplorer
Package rpcexplorer contains complied RPCExplorer web app.
Package rpcexplorer contains complied RPCExplorer web app.