luci-go.git

module
v0.0.0-...-678bb0e Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2017 License: Apache-2.0

README

luci-go: LUCI services and tools in Go

GoDoc Build Status Coverage Status

Installing

go get -u github.com/luci/luci-go/client/cmd/...
go get -u github.com/luci/luci-go/server/cmd/...

Code layout

  • /appengine/... contains AppEngine server code. It imports packages from /common/... and /server/....
  • /client/... contains all client code.
  • /common/... contains code and structures shared between all of /appengine/..., /client/... and /server/...; for example, the structures used by the server APIs. These are inherently APIs.
  • /deploytool/... contains the LUCI cloud services deployment tool.
  • /logdog/... contains LogDog client and server code, as well as APIs, protobufs, and support libraries.
  • /server/... contains standalone server code. Its packages are reusable by /appengine/....
  • /tools/... contains support tools used by other LUCI components.

Versioning

  • Branch go1 contains the stable code.
  • Branch master constains the latest code.

Contributing

  • Sign the Google CLA.
  • Make sure your user.email and user.name are configured in git config.
  • Install test-only packages: go get -u -t github.com/luci/luci-go/client/...
  • Install the pcg git hook: go get -u github.com/maruel/pre-commit-go/cmd/... && pcg

Run the following to setup the code review tool and create your first review:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"
cd $GOROOT/github.com/luci/luci-go
git checkout -b work origin/master

# hack hack

git commit -a -m "This is awesome\nR=joe@example.com"
# This will ask for your Google Account credentials.
git cl upload -s
# Wait for LGTM over email.
# Check the commit queue box in codereview website.
# Wait for the change to be tested and landed automatically.

Use git cl help and git cl help <cmd> for more details.

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.
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.
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.
tsmon
Package tsmon adapts common/tsmon library to GAE environment.
Package tsmon adapts common/tsmon library to GAE environment.
buildbucket
client/cmd/buildbucket
Command buildbucket is a CLI client for buildbucket service.
Command buildbucket is a CLI client for buildbucket service.
client/cmd/buildbucket/proto
Package buildbucket is a generated protocol buffer package.
Package buildbucket is a generated protocol buffer package.
cipd
client/cipd
Package cipd implements client side of Chrome Infra Package Deployer.
Package cipd implements client side of Chrome Infra Package Deployer.
client/cipd/common
Package common defines structures and functions used by cipd/* packages.
Package common defines structures and functions used by cipd/* packages.
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/internal/messages
Package messages is a generated protocol buffer package.
Package messages is a generated protocol buffer package.
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.
client/cmd/cipd2isolate
Package main contains a tool to upload cipd packages to an isolate server.
Package main contains a tool to upload cipd packages to an isolate server.
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.
authcli
Package authcli implements authentication related flags parsing and CLI subcommands.
Package authcli implements authentication related flags parsing and CLI subcommands.
cmd/authutil
Command authutil can be used to interact with OAuth2 token cache on disk.
Command authutil can be used to interact with OAuth2 token cache on disk.
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.
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 allows querying git repositories hosted on *.googlesource.com.
Package gitiles allows querying git repositories hosted on *.googlesource.com.
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 .
auth
Package auth implements a wrapper around golang.org/x/oauth2.
Package auth implements a wrapper around golang.org/x/oauth2.
auth/internal
Package internal contains code used internally by common/auth.
Package internal contains code used internally by common/auth.
auth/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.
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.
config
Package config is a library to access the luci-config service.
Package config is a library to access the luci-config service.
config/impl/filesystem
Package filesystem implements a file system backend for the config client.
Package filesystem implements a file system backend for the config client.
config/impl/memory
Package memory implements in-memory backend for the config client.
Package memory implements in-memory backend for the config client.
config/validation
Package validation provides a helper for performing config validations.
Package validation provides a helper for performing config validations.
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/caching/proccache
Package proccache implements a simple in-memory cache that can be injected into a context and shared by all request handlers executing within a process.
Package proccache implements a simple in-memory cache that can be injected into a context and shared by all request handlers executing within a process.
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 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/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.
eventlog
Package eventlog provides a client which can be used to to collect and send batches of ChromeInfraEvent logs to the eventlog service.
Package eventlog provides a client which can be used to to collect and send batches of ChromeInfraEvent logs to the eventlog service.
eventlog/internal/logservice
Package logservice provides loggers which can be used to to collect and send batches of logs to the eventlog service.
Package logservice provides loggers which can be used to to collect and send batches of logs to the eventlog service.
eventlog/proto
Package eventlog is a generated protocol buffer package.
Package eventlog is a generated protocol buffer 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/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/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/config
Package config contains luci-config protobuf definitions.
Package config contains luci-config protobuf definitions.
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 is a generated protocol buffer package.
Package milo is a generated protocol buffer package.
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 cherry-picked code from golang.org/x/crypto/ssh.
Package terminal is cherry-picked code from golang.org/x/crypto/ssh.
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/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/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 is a generated protocol buffer package.
Package ts_mon_proto is a generated protocol buffer package.
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.
deploytool
api/deploy
Package deploy is a generated protocol buffer package.
Package deploy is a generated protocol buffer package.
cmd/luci_deploy
Package main contains the entry point code for the LUCI Deployment Tool ("luci_deploy").
Package main contains the entry point code for the LUCI Deployment Tool ("luci_deploy").
managedfs
Package managedfs offers a managed filesystem.
Package managedfs offers a managed filesystem.
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.
api/acls
Package acls is a generated protocol buffer package.
Package acls is a generated protocol buffer package.
api/distributor
Package distributor is a generated protocol buffer package.
Package distributor is a generated protocol buffer package.
api/distributor/jobsim
Package jobsim is a generated protocol buffer package.
Package jobsim is a generated protocol buffer package.
api/distributor/swarming/v1
Package swarmingV1 is a generated protocol buffer package.
Package swarmingV1 is a generated protocol buffer package.
api/service/v1
Package dm is a generated protocol buffer package.
Package dm is a generated protocol buffer package.
api/template
Package dmTemplate is a generated protocol buffer package.
Package dmTemplate is a generated protocol buffer package.
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.
appengine/helloworld_standard/proto
Package helloworld is a generated protocol buffer package.
Package helloworld is a generated protocol buffer package.
eventlog
eventlog is an example that demonstrates how to log to the eventlog service.
eventlog is an example that demonstrates how to log to the eventlog service.
grpc
cmd/rpc
Command rpc can make RPCs to pRPC servers and display their description.
Command rpc 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.
discovery/internal/testservices
Package testservices is a generated protocol buffer package.
Package testservices is a generated protocol buffer package.
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 github.com/luci/luci-go/common/logging Logger.
Package logging implements a gRPC glog.Logger implementation backed by a github.com/luci/luci-go/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.
prpc/talk/buildbot/proto
Package buildbot is a generated protocol buffer package.
Package buildbot is a generated protocol buffer package.
prpc/talk/helloworld/proto
Package helloworld is a generated protocol buffer package.
Package helloworld is a generated protocol buffer package.
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 is a generated protocol buffer package.
Package svcconfig is a generated protocol buffer package.
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 is a generated protocol buffer package.
Package logdog is a generated protocol buffer package.
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 is a generated protocol buffer package.
Package logpb is a generated protocol buffer package.
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.
appengine/cmd/coordinator/vmuser
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.
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/caching
Package caching implements a Storage wrapper that implements caching on reads, and is backed by another Storage instance.
Package caching implements a Storage wrapper that implements caching on reads, and is backed by another Storage instance.
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_config
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.
server/cfgclient
Package cfgclient contains service implementations for the LUCI configuration service defined in github.com/luci/luci-go/common/config.
Package cfgclient contains service implementations for the LUCI configuration service defined in github.com/luci/luci-go/common/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.
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, and the environment variable is REMOVED.
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, and the environment variable is REMOVED.
milo
api/config
Package config is a generated protocol buffer package.
Package config is a generated protocol buffer package.
api/proto
Package milo is a generated protocol buffer package.
Package milo is a generated protocol buffer package.
buildsource/rawpresentation/internal
Package internal is a generated protocol buffer package.
Package internal is a generated protocol buffer package.
git
rpc
mmutex
lib
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/cron/demo
Package demo shows how cron.Machines can be hosted with Datastore and TQ.
Package demo shows how cron.Machines can be hosted with Datastore and TQ.
appengine/engine/internal
Package internal contains internal structs used by the engine.
Package internal contains internal structs used by the engine.
appengine/frontend
Package frontend implements GAE web server for luci-scheduler service.
Package frontend implements GAE web server for luci-scheduler service.
appengine/messages
Package messages is a generated protocol buffer package.
Package messages is a generated protocol buffer package.
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/swarming
Package swarming implements tasks that run Swarming jobs.
Package swarming implements tasks that run Swarming jobs.
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/delegation/messages
Package messages is a generated protocol buffer package.
Package messages is a generated protocol buffer package.
auth/identity
Package identity defines Identity type and related types and constants.
Package identity defines Identity type and related types and constants.
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 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/service/protocol
Package protocol is a generated protocol buffer package.
Package protocol is a generated protocol buffer package.
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 fake keys.
Package signingtest implements signing.Signer interface using fake keys.
auth/xsrf
Package xsrf provides Cross Site Request Forgery prevention middleware.
Package xsrf provides Cross Site Request Forgery prevention middleware.
middleware
Package middleware defines base type for context-aware HTTP request handler.
Package middleware defines base type for context-aware HTTP request handler.
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.
settings/admin
Package admin implements HTTP routes for settings UI.
Package admin implements HTTP routes for settings UI.
settings/admin/internal/assets
Package assets is generated by github.com/luci/luci-go/tools/cmd/assets.
Package assets is generated by github.com/luci/luci-go/tools/cmd/assets.
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.
warmup
Package warmup allows to register hooks executed during the server warmup.
Package warmup allows to register hooks executed during the server warmup.
swarming
tasktemplate
Package tasktemplate resolves Swarming task templates.
Package tasktemplate resolves Swarming task templates.
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 is a generated protocol buffer package.
Package admin is a generated protocol buffer package.
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/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 is a generated protocol buffer package.
Package vpython is a generated protocol buffer package.
web

Jump to

Keyboard shortcuts

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