Config
Table of Contents
Config File
The configuration file is located at ~/.gogitup and uses YAML format. It is created automatically the first time you register a binary.
Example
apps:
- name: ghorgsync
- name: bulkfilepr
github_auth: false
goproxy: "https://proxy.golang.org"
Attributes
| Attribute | Type | Default | Description |
|---|---|---|---|
apps | list | [] | List of registered application binary names |
apps[].name | string | - | Binary name of the registered application |
github_auth | boolean | false | Enable authenticated GitHub API requests |
goproxy | string | "" | Override the GOPROXY environment variable used when running go install |
cgo_enabled | boolean | (inherited) | Override the CGO_ENABLED environment variable used when running go install |
GitHub Authentication
When github_auth is set to true, gogitup sends authenticated requests to the GitHub API. This is useful for avoiding rate limits. By default, gogitup does not authenticate and is subject to GitHub’s unauthenticated rate limits.
When enabled, the token is resolved in the following order:
- The
GITHUB_TOKENenvironment variable, if set. - The output of
gh auth token(GitHub CLI), as a fallback.
If neither source provides a token, requests are made without authentication.
GOPROXY
When goproxy is set, gogitup passes the configured value as the GOPROXY environment variable when running go install (during both install and update). This is useful in environments that require a custom module proxy.
If goproxy is not set or is empty, the GOPROXY value is inherited from the current process environment (the default Go behavior).
CGO_ENABLED
When cgo_enabled is set, gogitup passes the configured value as the CGO_ENABLED environment variable when running go install (during both install and update). Setting cgo_enabled: false disables cgo for all installs and updates, which is useful in environments where cgo is unavailable or undesirable.
If cgo_enabled is not set, the CGO_ENABLED value is inherited from the current process environment (the default Go behavior).
Cache File
The cache file is located at ~/.gogitup.cache and uses YAML format. It stores the latest version information retrieved from GitHub so that repeated checks do not require additional API calls.
Cache entries expire after 24 hours. After expiry the next check or update will re-fetch the latest release from GitHub. A check can be forced with --force to bypass the cache, but the purpose of the cache is to avoid unnecessary API calls to GitHub.
Example
entries:
ghorgsync:
latest_version: v0.10.0
checked_at: 2025-01-15T10:30:00Z