# This a configuration file for reclient's reproxy tool.
# Values in this file can be overridden by corresponding
# environment variables that start with "RBE_".

service=remotebuildexecution.googleapis.com:443

# rbe-fuchsia-{dev,prod} are gVisor (security hardened)
instance=projects/rbe-fuchsia-prod/instances/default

# Use credentials helper to handle gcert, etc.
# This path is relative to where reproxy is launched.
# This should be unset by infra, which does not use the credshelper.
experimental_credentials_helper=execrel://
# See go/rbe/dev/x/reclientoptions#autoauth
# The default timeout 5s may have flaked at least once.
experimental_credentials_helper_args=--auth_source=automaticAuth --gcert_refresh_timeout=10
automatic_auth=false

enable_deps_cache=true

# This filesystem xattr is used to persist digests of remote
# action outputs that were not downloaded, so that they do not
# need to be fetched just for the sake of being re-used as inputs
# to remote actions in future invocations of reproxy.
# This should match _RBE_XATTR_NAME in build/rbe/remote_action.py.
xattr_digest=user.fuchsia.rbe.digest.sha256

# The following variables are overridden by their corresponding
# RBE_* environment variables in build/rbe/fuchsia-reproxy-wrap.sh:

server_address=unix:///tmp/reproxy.sock

# log_path=text:///tmp/reproxy_log.txt
log_dir=/tmp
proxy_log_dir=/tmp

# Prefer "reducedtext" over "text" for much smaller logs.
# The information that is omitted from "reducedtext" (e.g. inputs)
# can be found later with `remotetool --operation show_action`.
log_format=reducedtext
