Documentation
¶
Overview ¶
Package config provides configuration loading and management for the Snyk API client, integrating with go-application-framework's configuration system.
Index ¶
Constants ¶
View Source
const ( // API endpoint configuration KeyAPIURL = "api" KeyRESTAPIURL = "rest_api_url" // Rate limiting configuration KeyRateLimitBurst = "api_rate_limit_burst" KeyRateLimitPeriod = "api_rate_limit_period" // Retry configuration KeyMaxRetries = "api_max_retries" KeyRetryBaseDelay = "api_retry_base_delay" KeyRetryMaxDelay = "api_retry_max_delay" // Request configuration KeyUserAgent = "api_user_agent" )
Config keys used in go-application-framework configuration.
Variables ¶
This section is empty.
Functions ¶
func DefaultPath ¶
DefaultPath returns ~/.config/snyk-api/config.yaml (or OS equivalent).
Types ¶
type APIConfig ¶
type APIConfig struct {
BaseURL string
RestBaseURL string
RateLimitBurst int
RateLimitPeriod time.Duration
MaxRetries int
RetryBaseDelay time.Duration
RetryMaxDelay time.Duration
UserAgent string
}
APIConfig holds API client configuration loaded from the framework.
func LoadFromConfiguration ¶
func LoadFromConfiguration(cfg configuration.Configuration) *APIConfig
LoadFromConfiguration extracts API configuration from go-application-framework configuration.
type File ¶
type File struct {
Current string `yaml:"current,omitempty"`
Profiles map[string]Profile `yaml:"profiles,omitempty"`
}
File represents the persisted config file.
type FlagOverrides ¶
type FlagOverrides struct {
Profile string
Token string
APIURL string
RestAPIURL string
APIVersion string
OrgID string
GroupID string
ProjectID string
Output string
PageSize *int
Debug *bool
}
FlagOverrides captures CLI-level overrides.
type Profile ¶
type Profile struct {
Token string `yaml:"token,omitempty"`
APIURL string `yaml:"api_url,omitempty"`
RestAPIURL string `yaml:"rest_api_url,omitempty"`
APIVersion string `yaml:"api_version,omitempty"`
OrgID string `yaml:"org_id,omitempty"`
GroupID string `yaml:"group_id,omitempty"`
ProjectID string `yaml:"project_id,omitempty"`
Output string `yaml:"output,omitempty"`
PageSize int `yaml:"page_size,omitempty"`
Debug bool `yaml:"debug,omitempty"`
}
Profile holds user-defined defaults for a CLI profile.
Click to show internal directories.
Click to hide internal directories.