config

package
v2.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2023 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AzBlobStorageConfig

type AzBlobStorageConfig struct {
	StorageAccount   string `yaml:"storage_account"`
	ContainerName    string `yaml:"container_name"`
	Prefix           string `yaml:"prefix"`
	AuthMethod       string `yaml:"auth_method"`
	TenantID         string `yaml:"tenant_id"`
	ClientID         string `yaml:"client_id"`
	ClientSecret     string `yaml:"client_secret"`
	CertPath         string `yaml:"cert_path"`
	SharedKey        string `yaml:"shared_key"`
	UpdateTimestamps bool   `yaml:"update_timestamps"`
}

func (AzBlobStorageConfig) GetCredentials

func (azblobc AzBlobStorageConfig) GetCredentials() (azcore.TokenCredential, error)

type Config

type Config struct {
	HTTPAddress                 string                    `yaml:"http_address"`
	GRPCAddress                 string                    `yaml:"grpc_address"`
	ProfileAddress              string                    `yaml:"profile_address"`
	Dir                         string                    `yaml:"dir"`
	MaxSize                     int                       `yaml:"max_size"`
	StorageMode                 string                    `yaml:"storage_mode"`
	ZstdImplementation          string                    `yaml:"zstd_implementation"`
	HtpasswdFile                string                    `yaml:"htpasswd_file"`
	TLSCaFile                   string                    `yaml:"tls_ca_file"`
	TLSCertFile                 string                    `yaml:"tls_cert_file"`
	TLSKeyFile                  string                    `yaml:"tls_key_file"`
	AllowUnauthenticatedReads   bool                      `yaml:"allow_unauthenticated_reads"`
	S3CloudStorage              *S3CloudStorageConfig     `yaml:"s3_proxy,omitempty"`
	AzBlobConfig                *AzBlobStorageConfig      `yaml:"azblob_proxy,omitempty"`
	GoogleCloudStorage          *GoogleCloudStorageConfig `yaml:"gcs_proxy,omitempty"`
	HTTPBackend                 *HTTPBackendConfig        `yaml:"http_proxy,omitempty"`
	NumUploaders                int                       `yaml:"num_uploaders"`
	MaxQueuedUploads            int                       `yaml:"max_queued_uploads"`
	IdleTimeout                 time.Duration             `yaml:"idle_timeout"`
	DisableHTTPACValidation     bool                      `yaml:"disable_http_ac_validation"`
	DisableGRPCACDepsCheck      bool                      `yaml:"disable_grpc_ac_deps_check"`
	EnableACKeyInstanceMangling bool                      `yaml:"enable_ac_key_instance_mangling"`
	EnableEndpointMetrics       bool                      `yaml:"enable_endpoint_metrics"`
	MetricsDurationBuckets      []float64                 `yaml:"endpoint_metrics_duration_buckets"`
	ExperimentalRemoteAssetAPI  bool                      `yaml:"experimental_remote_asset_api"`
	HTTPReadTimeout             time.Duration             `yaml:"http_read_timeout"`
	HTTPWriteTimeout            time.Duration             `yaml:"http_write_timeout"`
	AccessLogLevel              string                    `yaml:"access_log_level"`
	LogTimezone                 string                    `yaml:"log_timezone"`
	MaxBlobSize                 int64                     `yaml:"max_blob_size"`
	MaxProxyBlobSize            int64                     `yaml:"max_proxy_blob_size"`

	// Fields that are created by combinations of the flags above.
	ProxyBackend cache.Proxy
	TLSConfig    *tls.Config
	AccessLogger *log.Logger
	ErrorLogger  *log.Logger
}

Config holds the top-level configuration for bazel-remote.

func Get

func Get(ctx *cli.Context) (*Config, error)

type GoogleCloudStorageConfig

type GoogleCloudStorageConfig struct {
	Bucket                string `yaml:"bucket"`
	UseDefaultCredentials bool   `yaml:"use_default_credentials"`
	JSONCredentialsFile   string `yaml:"json_credentials_file"`
}

GoogleCloudStorageConfig stores the configuration of a GCS proxy backend.

type HTTPBackendConfig

type HTTPBackendConfig struct {
	BaseURL string `yaml:"url"`
}

HTTPBackendConfig stores the configuration for a HTTP proxy backend.

type S3CloudStorageConfig

type S3CloudStorageConfig struct {
	Endpoint                 string `yaml:"endpoint"`
	Bucket                   string `yaml:"bucket"`
	Prefix                   string `yaml:"prefix"`
	AuthMethod               string `yaml:"auth_method"`
	AccessKeyID              string `yaml:"access_key_id"`
	SecretAccessKey          string `yaml:"secret_access_key"`
	DisableSSL               bool   `yaml:"disable_ssl"`
	UpdateTimestamps         bool   `yaml:"update_timestamps"`
	IAMRoleEndpoint          string `yaml:"iam_role_endpoint"`
	Region                   string `yaml:"region"`
	KeyVersion               *int   `yaml:"key_version"`
	AWSProfile               string `yaml:"aws_profile"`
	AWSSharedCredentialsFile string `yaml:"aws_shared_credentials_file"`
}

S3CloudStorageConfig stores the configuration of an S3 API proxy backend.

func (S3CloudStorageConfig) GetCredentials

func (s3c S3CloudStorageConfig) GetCredentials() (*credentials.Credentials, error)

type YamlConfig

type YamlConfig struct {
	Config `yaml:",inline"`

	// If set, these will be used to populate *Address fields.
	Host        string `yaml:"host"`
	Port        int    `yaml:"port"`
	GRPCPort    int    `yaml:"grpc_port"`
	ProfileHost string `yaml:"profile_host"`
	ProfilePort int    `yaml:"profile_port"`
}

Jump to

Keyboard shortcuts

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