Documentation ¶
Index ¶
- func ConfigureConcurrencyLimits()
- func ConfigureLogging()
- func ConfigureRuby() error
- func GeneratedInternalSocketDir() string
- func GitalyInternalSocketPath() string
- func InternalSocketDir() string
- func Load(file io.Reader) error
- func RegisterHook(f func(c Cfg) error)
- func SetGitPath() error
- func Validate() error
- type Cfg
- type Concurrency
- type Git
- type GitlabShell
- type Logging
- type Ruby
- type Sentry
- type Storage
- type TLS
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConfigureConcurrencyLimits ¶ added in v0.43.0
func ConfigureConcurrencyLimits()
ConfigureConcurrencyLimits configures the per-repo, per RPC rate limits
func ConfigureLogging ¶ added in v0.11.0
func ConfigureLogging()
ConfigureLogging uses the global conf and environmental vars to configure log levels and format
func ConfigureRuby ¶ added in v0.60.0
func ConfigureRuby() error
ConfigureRuby validates the gitaly-ruby configuration and sets default values.
func GeneratedInternalSocketDir ¶ added in v1.75.0
func GeneratedInternalSocketDir() string
GeneratedInternalSocketDir returns the path to the generated internal socket directory
func GitalyInternalSocketPath ¶ added in v1.75.0
func GitalyInternalSocketPath() string
GitalyInternalSocketPath is the path to the internal gitaly socket
func InternalSocketDir ¶ added in v1.75.0
func InternalSocketDir() string
InternalSocketDir will generate a temp dir for internal sockets if one is not provided in the config
func Load ¶
Load initializes the Config variable from file and the environment.
Environment variables take precedence over the file.
func RegisterHook ¶ added in v1.46.0
RegisterHook adds a post-validation callback. Your hook should only access config via the Cfg instance it gets passed. This avoids race conditions during testing, when the global config.Config instance gets updated after these hooks have run.
func SetGitPath ¶ added in v0.18.0
func SetGitPath() error
SetGitPath populates the variable GitPath with the path to the `git` executable. It warns if no path was specified in the configuration.
Types ¶
type Cfg ¶ added in v1.47.0
type Cfg struct { SocketPath string `toml:"socket_path" split_words:"true"` ListenAddr string `toml:"listen_addr" split_words:"true"` TLSListenAddr string `toml:"tls_listen_addr" split_words:"true"` PrometheusListenAddr string `toml:"prometheus_listen_addr" split_words:"true"` BinDir string `toml:"bin_dir"` Git Git `toml:"git" envconfig:"git"` Storages []Storage `toml:"storage" envconfig:"storage"` Logging Logging `toml:"logging" envconfig:"logging"` Prometheus prometheus.Config `toml:"prometheus"` Auth auth.Config `toml:"auth"` TLS TLS `toml:"tls"` Ruby Ruby `toml:"gitaly-ruby"` GitlabShell GitlabShell `toml:"gitlab-shell"` Concurrency []Concurrency `toml:"concurrency"` GracefulRestartTimeout time.Duration GracefulRestartTimeoutToml duration `toml:"graceful_restart_timeout"` InternalSocketDir string `toml:"internal_socket_dir"` }
Cfg is a container for all config derived from config.toml.
var ( // Config stores the global configuration Config Cfg )
type Concurrency ¶ added in v0.43.0
Concurrency allows endpoints to be limited to a maximum concurrency per repo
type Git ¶ added in v0.18.0
type Git struct { BinPath string `toml:"bin_path"` // ProtocolV2Enabled can be set to true to enable the newer Git protocol // version. This should not be enabled until GitLab *either* stops // using transfer.hideRefs for security purposes, *or* Git protocol v2 // respects this setting: // // https://public-inbox.org/git/20181213155817.27666-1-avarab@gmail.com/T/ // // This is not user-configurable. Once a new Git version has been released, // we can add code to enable it if the detected git binary is new enough ProtocolV2Enabled bool CatfileCacheSize int `toml:"catfile_cache_size"` }
Git contains the settings for the Git executable
type GitlabShell ¶ added in v0.29.0
type GitlabShell struct {
Dir string `toml:"dir"`
}
GitlabShell contains the settings required for executing `gitlab-shell`
type Logging ¶ added in v0.11.0
type Logging struct { internallog.Config Sentry RubySentryDSN string `toml:"ruby_sentry_dsn"` }
Logging contains the logging configuration for Gitaly
type Ruby ¶ added in v0.26.0
type Ruby struct { Dir string `toml:"dir"` MaxRSS int `toml:"max_rss"` GracefulRestartTimeout time.Duration GracefulRestartTimeoutToml duration `toml:"graceful_restart_timeout"` RestartDelay time.Duration RestartDelayToml duration `toml:"restart_delay"` NumWorkers int `toml:"num_workers"` LinguistLanguagesPath string `toml:"linguist_languages_path"` RuggedGitConfigSearchPath string `toml:"rugged_git_config_search_path"` }
Ruby contains setting for Ruby worker processes
type Sentry ¶ added in v1.71.0
Sentry is a sentry.Config. We redefine this type to a different name so we can embed both structs into Logging