Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProjectConfigPath ¶
func ProjectConfigPath() string
ProjectConfigPath walks up from the current directory looking for a .forge file. Returns empty string if none is found.
func SetDomain ¶
SetDomain updates or adds a domain section in the user config file. Creates the config directory if needed. Sets file permissions to 0600 since the file may contain tokens.
func UserConfigPath ¶
func UserConfigPath() string
UserConfigPath returns the path to the user-level config file. It respects XDG_CONFIG_HOME, falling back to ~/.config/forge/config.
Types ¶
type Config ¶
type Config struct {
Default DefaultSection
Domains map[string]DomainSection
}
func Load ¶
Load returns the merged config from both user and project config files. The result is cached so the files are parsed at most once per invocation.
func (*Config) DomainForSSHHost ¶ added in v0.4.0
DomainForSSHHost returns the API domain (the section name) whose ssh_host matches the given host, or "" if none. Self-hosted GitLab in particular can serve git-over-ssh on a different host than the web/API, so a remote URL like git@ssh.gitlab.test:owner/repo needs mapping back to gitlab.test before we build an API client.