Documentation
¶
Index ¶
- func CheckUnknownKeys() []string
- func FindConfigFile() string
- func HasConfigFile() bool
- func Invalidate()
- func Load(configFile string, overrideFiles ...string) error
- type CommunicationConfig
- type ComparisonConfig
- type Config
- type CoverageConfig
- type ReadinessConfig
- type RecordingConfig
- type RecordingSamplingConfig
- type ReplayConfig
- type ReplaySandboxConfig
- type ResultsConfig
- type ServiceConfig
- type StartConfig
- type StopConfig
- type TestExecutionConfig
- type TracesConfig
- type TuskAPIConfig
- type ValidationResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckUnknownKeys ¶
func CheckUnknownKeys() []string
CheckUnknownKeys compares loaded config keys against the valid schema. Returns a list of keys that don't match any known config field.
func FindConfigFile ¶ added in v0.2.16
func FindConfigFile() string
FindConfigFile returns the path to the config file found by traversing upward from the current directory. Returns an empty string if not found.
func HasConfigFile ¶
func HasConfigFile() bool
HasConfigFile reports whether a config file was found during Load.
func Invalidate ¶
func Invalidate()
Invalidate clears all cached config state, forcing a reload on next Get(). Used when updating the config file and for testing.
func Load ¶
Load loads the config file, applies overrides, and applies environment overrides. This function is idempotent - calling it multiple times will only load once.
Config precedence (highest wins):
- Environment variables (TUSK_*)
- Override file (from --config-override flag or TUSK_CONFIG_OVERRIDE env var)
- Base config file (.tusk/config.yaml)
Types ¶
type CommunicationConfig ¶
type ComparisonConfig ¶
type ComparisonConfig struct {
IgnoreFields []string `koanf:"ignore_fields"`
IgnorePatterns []string `koanf:"ignore_patterns"`
IgnoreUUIDs *bool `koanf:"ignore_uuids"`
IgnoreTimestamps *bool `koanf:"ignore_timestamps"`
IgnoreDates *bool `koanf:"ignore_dates"`
IgnoreJWTFields *bool `koanf:"ignore_jwt_fields"`
IgnoreEpochTimestamps *bool `koanf:"ignore_epoch_timestamps"`
}
type Config ¶
type Config struct {
Service ServiceConfig `koanf:"service"`
TuskAPI TuskAPIConfig `koanf:"tusk_api"`
Comparison ComparisonConfig `koanf:"comparison"`
TestExecution TestExecutionConfig `koanf:"test_execution"`
Recording RecordingConfig `koanf:"recording"`
Replay ReplayConfig `koanf:"replay"`
Traces TracesConfig `koanf:"traces"`
Results ResultsConfig `koanf:"results"`
Coverage CoverageConfig `koanf:"coverage"`
}
func (*Config) CheckRequiredForReplay ¶
CheckRequiredForReplay returns a list of missing required fields for replay mode.
type CoverageConfig ¶ added in v0.2.12
type ReadinessConfig ¶
type RecordingConfig ¶
type RecordingConfig struct {
SamplingRate float64 `koanf:"sampling_rate"`
Sampling RecordingSamplingConfig `koanf:"sampling"`
ExportSpans *bool `koanf:"export_spans"`
EnableEnvVarRecording *bool `koanf:"enable_env_var_recording"`
}
type RecordingSamplingConfig ¶ added in v0.2.12
type ReplayConfig ¶
type ReplayConfig struct {
Sandbox ReplaySandboxConfig `koanf:"sandbox"`
}
type ReplaySandboxConfig ¶
type ResultsConfig ¶
type ResultsConfig struct {
Dir string `koanf:"dir"`
}
type ServiceConfig ¶
type ServiceConfig struct {
ID string `koanf:"id"`
Name string `koanf:"name"`
Port int `koanf:"port"`
Start StartConfig `koanf:"start"`
Stop StopConfig `koanf:"stop"`
Readiness ReadinessConfig `koanf:"readiness_check"`
Communication CommunicationConfig `koanf:"communication"`
}
type StartConfig ¶
type StartConfig struct {
Command string `koanf:"command"`
}
type StopConfig ¶
type StopConfig struct {
Command string `koanf:"command"`
}
type TestExecutionConfig ¶
type TracesConfig ¶
type TracesConfig struct {
Dir string `koanf:"dir"`
}
type TuskAPIConfig ¶
type ValidationResult ¶
type ValidationResult struct {
Valid bool `json:"valid"`
Errors []string `json:"errors,omitempty"`
Warnings []string `json:"warnings,omitempty"`
UnknownKeys []string `json:"unknown_keys,omitempty"`
MissingKeys []string `json:"missing_keys,omitempty"`
SchemaHint string `json:"schema_hint,omitempty"`
}
ValidationResult contains detailed validation results for config files.
func ValidateConfigFile ¶
func ValidateConfigFile(configPath string) *ValidationResult
ValidateConfigFile performs comprehensive validation on a config file. It checks for unknown keys, required fields, and value constraints.