golden/

directory
v0.0.0-...-57b1569 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: BSD-3-Clause

README

Gold Correctness

For information on setting up or using Gold, see these docs.

For an architectural overview, see: https://docs.google.com/document/d/1U7eBzYrZCPx24Lp9JH2scKj3G8Gr8GRtQJZRhdigyRQ/edit

To run Gold locally, run a local target defined in BUILD.bazel. E.g. bazel run //golden:skia_infra_local. Then run make run_auth_proxy_before_local_instance. You can then access the local Gold instance through http://localhost:8003 with the current user authenticated.

Backend Storage

Gold uses CockroachDB to store all data necessary for running the backend servers. (Caveat: We are in the middle of a migration towards this goal.)

For production-specific advice, see docs/PROD.md.

Directories

Path Synopsis
cmd
baseline_server
This program serves content that is mostly static and needs to be highly available.
This program serves content that is mostly static and needs to be highly available.
diffcalculator
The diffcalculator executable listens to the Pub/Sub topic and processes diffs based on the messages passed in.
The diffcalculator executable listens to the Pub/Sub topic and processes diffs based on the messages passed in.
file_reingester
Executable file_reingester will scan through all the files in a GCS bucket and create synthetic pubsub events to cause the files to be re-ingested.
Executable file_reingester will scan through all the files in a GCS bucket and create synthetic pubsub events to cause the files to be re-ingested.
gitilesfollower
The gitilesfollower executable monitors the repo we are tracking using gitiles.
The gitilesfollower executable monitors the repo we are tracking using gitiles.
gold_frontend
The goldfrontend executable is the process that exposes a RESTful API used by the JS frontend.
The goldfrontend executable is the process that exposes a RESTful API used by the JS frontend.
gold_ingestion
gold_ingestion is the server process that runs an arbitrary number of ingesters and stores them to the appropriate backends.
gold_ingestion is the server process that runs an arbitrary number of ingesters and stores them to the appropriate backends.
pubsubtool
The pubsubtool executable is a convenient way to create PubSub topics and subscriptions.
The pubsubtool executable is a convenient way to create PubSub topics and subscriptions.
sqlinit
The sqlinit executable creates a database on the production SQL cluster with the appropriate schema.
The sqlinit executable creates a database on the production SQL cluster with the appropriate schema.
go
clstore
Package clstore defines an interface for storing Changelist-related data as needed for operating Gold.
Package clstore defines an interface for storing Changelist-related data as needed for operating Gold.
code_review
Package code_review defines some types for getting data into and out of Code Review Systems (e.g.
Package code_review defines some types for getting data into and out of Code Review Systems (e.g.
code_review/commenter
Package commenter contains an implementation of the code_review.ChangelistCommenter interface.
Package commenter contains an implementation of the code_review.ChangelistCommenter interface.
code_review/gerrit_crs
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system.
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system.
code_review/github_crs
Package github_crs provides a client for Gold's interaction with the GitHub code review system.
Package github_crs provides a client for Gold's interaction with the GitHub code review system.
continuous_integration
Package continuous_integration defines some types for getting tryjob-related data into and out of Continuous Integration Systems (e.g.
Package continuous_integration defines some types for getting tryjob-related data into and out of Continuous Integration Systems (e.g.
continuous_integration/simple_cis
Package simple_cis is a simple implementation of CIS that pretends every TryJob exists.
Package simple_cis is a simple implementation of CIS that pretends every TryJob exists.
ignore/sqlignorestore
Package sqlignorestore contains a SQL implementation of ignore.Store.
Package sqlignorestore contains a SQL implementation of ignore.Store.
image/text
Package text contains an image plain text file format encoder and decoder.
Package text contains an image plain text file format encoder and decoder.
ingestion/sqlingestionstore
Package sqlingestionstore contains a SQL-backed implementation of Store, which is meant as a quick "yes/no" to the question "Did we already ingest this file?" when polling for files missed during Pub/Sub ingestion.
Package sqlingestionstore contains a SQL-backed implementation of Store, which is meant as a quick "yes/no" to the question "Did we already ingest this file?" when polling for files missed during Pub/Sub ingestion.
search
Package search2 encapsulates various queries we make against Gold's data.
Package search2 encapsulates various queries we make against Gold's data.
search/query
Package query contains the logic involving parsing queries to Gold's search endpoints.
Package query contains the logic involving parsing queries to Gold's search endpoints.
sql
sql/databuilder
Package databuilder provides a tool for generating test data in a way that is easy for a human to update and understand.
Package databuilder provides a tool for generating test data in a way that is easy for a human to update and understand.
sql/exporter/tosql
This executable generates a go file that contains the SQL schema for Gold defined as a string.
This executable generates a go file that contains the SQL schema for Gold defined as a string.
testutils/data_one_by_five
Package data_one_by_five contains some sample images that are in the text format and are (mostly) one pixel wide by five pixels tall.
Package data_one_by_five contains some sample images that are in the text format and are (mostly) one pixel wide by five pixels tall.
tracing
Package tracing consolidates OpenCensus tracing initialization in one place.
Package tracing consolidates OpenCensus tracing initialization in one place.
web
web/frontend
Package frontend houses a variety of types that represent how the frontend expects the format of data.
Package frontend houses a variety of types that represent how the frontend expects the format of data.

Jump to

Keyboard shortcuts

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