Documentation
¶
Index ¶
- func FormatResultsTable(results []*ValidationResult) map[string][]*ValidationResult
- func GetSummary(results []*ValidationResult) (passed, warned, failed, skipped int)
- type BrewValidator
- func (v *BrewValidator) CanFix() bool
- func (v *BrewValidator) Category() string
- func (v *BrewValidator) Description() string
- func (v *BrewValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *BrewValidator) Name() string
- func (v *BrewValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type DirectoryStructureValidator
- func (v *DirectoryStructureValidator) CanFix() bool
- func (v *DirectoryStructureValidator) Category() string
- func (v *DirectoryStructureValidator) Description() string
- func (v *DirectoryStructureValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *DirectoryStructureValidator) Name() string
- func (v *DirectoryStructureValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type DoctorEngine
- func (d *DoctorEngine) FixCheck(ctx context.Context, checkName string) error
- func (d *DoctorEngine) GetAllValidators() []Validator
- func (d *DoctorEngine) GetValidatorsByCategory(category string) []Validator
- func (d *DoctorEngine) ListChecks() map[string][]string
- func (d *DoctorEngine) RunAll(ctx context.Context) []*ValidationResult
- func (d *DoctorEngine) RunAllWithProgress(ctx context.Context, verbose bool) []*ValidationResult
- func (d *DoctorEngine) RunCategory(ctx context.Context, category string) []*ValidationResult
- func (d *DoctorEngine) RunCategoryWithProgress(ctx context.Context, category string, verbose bool) []*ValidationResult
- func (d *DoctorEngine) RunCheck(ctx context.Context, checkName string) *ValidationResult
- func (d *DoctorEngine) RunCheckWithProgress(ctx context.Context, checkName string, verbose bool) *ValidationResult
- type GitConfigValidator
- func (v *GitConfigValidator) CanFix() bool
- func (v *GitConfigValidator) Category() string
- func (v *GitConfigValidator) Description() string
- func (v *GitConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *GitConfigValidator) Name() string
- func (v *GitConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type GitConnectivityValidator
- func (v *GitConnectivityValidator) CanFix() bool
- func (v *GitConnectivityValidator) Category() string
- func (v *GitConnectivityValidator) Description() string
- func (v *GitConnectivityValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *GitConnectivityValidator) Name() string
- func (v *GitConnectivityValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type GitHubAccessValidator
- func (v *GitHubAccessValidator) CanFix() bool
- func (v *GitHubAccessValidator) Category() string
- func (v *GitHubAccessValidator) Description() string
- func (v *GitHubAccessValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *GitHubAccessValidator) Name() string
- func (v *GitHubAccessValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type GitHubConfigValidator
- func (v *GitHubConfigValidator) CanFix() bool
- func (v *GitHubConfigValidator) Category() string
- func (v *GitHubConfigValidator) Description() string
- func (v *GitHubConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *GitHubConfigValidator) Name() string
- func (v *GitHubConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type InitRunValidator
- func (v *InitRunValidator) CanFix() bool
- func (v *InitRunValidator) Category() string
- func (v *InitRunValidator) Description() string
- func (v *InitRunValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *InitRunValidator) Name() string
- func (v *InitRunValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type RepositoryValidator
- func (v *RepositoryValidator) CanFix() bool
- func (v *RepositoryValidator) Category() string
- func (v *RepositoryValidator) Description() string
- func (v *RepositoryValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *RepositoryValidator) Name() string
- func (v *RepositoryValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type RequiredToolsValidator
- func (v *RequiredToolsValidator) CanFix() bool
- func (v *RequiredToolsValidator) Category() string
- func (v *RequiredToolsValidator) Description() string
- func (v *RequiredToolsValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *RequiredToolsValidator) Name() string
- func (v *RequiredToolsValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type SettingsFileValidator
- func (v *SettingsFileValidator) CanFix() bool
- func (v *SettingsFileValidator) Category() string
- func (v *SettingsFileValidator) Description() string
- func (v *SettingsFileValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *SettingsFileValidator) Name() string
- func (v *SettingsFileValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type SyncConfigValidator
- func (v *SyncConfigValidator) CanFix() bool
- func (v *SyncConfigValidator) Category() string
- func (v *SyncConfigValidator) Description() string
- func (v *SyncConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
- func (v *SyncConfigValidator) Name() string
- func (v *SyncConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
- type ValidationRegistry
- func (vr *ValidationRegistry) GetAllValidators() []Validator
- func (vr *ValidationRegistry) GetCategories() []string
- func (vr *ValidationRegistry) GetValidator(name string) (Validator, bool)
- func (vr *ValidationRegistry) GetValidatorsByCategory(category string) []Validator
- func (vr *ValidationRegistry) ListChecks() map[string][]string
- func (vr *ValidationRegistry) Register(validator Validator)
- type ValidationResult
- type ValidationStatus
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatResultsTable ¶
func FormatResultsTable(results []*ValidationResult) map[string][]*ValidationResult
FormatResultsTable creates a formatted table of results grouped by category
func GetSummary ¶
func GetSummary(results []*ValidationResult) (passed, warned, failed, skipped int)
GetSummary creates a summary of validation results
Types ¶
type BrewValidator ¶
type BrewValidator struct{}
BrewValidator checks if Homebrew is installed and functional
func (*BrewValidator) CanFix ¶
func (v *BrewValidator) CanFix() bool
func (*BrewValidator) Category ¶
func (v *BrewValidator) Category() string
func (*BrewValidator) Description ¶
func (v *BrewValidator) Description() string
func (*BrewValidator) Fix ¶
func (v *BrewValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*BrewValidator) Name ¶
func (v *BrewValidator) Name() string
func (*BrewValidator) Validate ¶
func (v *BrewValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type DirectoryStructureValidator ¶
type DirectoryStructureValidator struct{}
DirectoryStructureValidator validates the anvil directory structure
func (*DirectoryStructureValidator) CanFix ¶
func (v *DirectoryStructureValidator) CanFix() bool
func (*DirectoryStructureValidator) Category ¶
func (v *DirectoryStructureValidator) Category() string
func (*DirectoryStructureValidator) Description ¶
func (v *DirectoryStructureValidator) Description() string
func (*DirectoryStructureValidator) Fix ¶
func (v *DirectoryStructureValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*DirectoryStructureValidator) Name ¶
func (v *DirectoryStructureValidator) Name() string
func (*DirectoryStructureValidator) Validate ¶
func (v *DirectoryStructureValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type DoctorEngine ¶
type DoctorEngine struct {
// contains filtered or unexported fields
}
DoctorEngine manages the validation process
func NewDoctorEngine ¶
func NewDoctorEngine(output palantir.OutputHandler) *DoctorEngine
NewDoctorEngine creates a new doctor engine
func (*DoctorEngine) FixCheck ¶
func (d *DoctorEngine) FixCheck(ctx context.Context, checkName string) error
FixCheck attempts to fix a specific validation issue
func (*DoctorEngine) GetAllValidators ¶
func (d *DoctorEngine) GetAllValidators() []Validator
GetAllValidators returns all registered validators
func (*DoctorEngine) GetValidatorsByCategory ¶
func (d *DoctorEngine) GetValidatorsByCategory(category string) []Validator
GetValidatorsByCategory returns validators for a specific category
func (*DoctorEngine) ListChecks ¶
func (d *DoctorEngine) ListChecks() map[string][]string
ListChecks returns available categories and checks
func (*DoctorEngine) RunAll ¶
func (d *DoctorEngine) RunAll(ctx context.Context) []*ValidationResult
RunAll executes all registered validators
func (*DoctorEngine) RunAllWithProgress ¶
func (d *DoctorEngine) RunAllWithProgress(ctx context.Context, verbose bool) []*ValidationResult
RunAllWithProgress executes all registered validators with progress feedback
func (*DoctorEngine) RunCategory ¶
func (d *DoctorEngine) RunCategory(ctx context.Context, category string) []*ValidationResult
RunCategory executes validators in a specific category
func (*DoctorEngine) RunCategoryWithProgress ¶
func (d *DoctorEngine) RunCategoryWithProgress(ctx context.Context, category string, verbose bool) []*ValidationResult
RunCategoryWithProgress executes validators in a specific category with progress feedback
func (*DoctorEngine) RunCheck ¶
func (d *DoctorEngine) RunCheck(ctx context.Context, checkName string) *ValidationResult
RunCheck executes a specific validator
func (*DoctorEngine) RunCheckWithProgress ¶
func (d *DoctorEngine) RunCheckWithProgress(ctx context.Context, checkName string, verbose bool) *ValidationResult
RunCheckWithProgress executes a specific validator with progress feedback
type GitConfigValidator ¶
type GitConfigValidator struct{}
GitConfigValidator checks if git configuration is properly set
func (*GitConfigValidator) CanFix ¶
func (v *GitConfigValidator) CanFix() bool
func (*GitConfigValidator) Category ¶
func (v *GitConfigValidator) Category() string
func (*GitConfigValidator) Description ¶
func (v *GitConfigValidator) Description() string
func (*GitConfigValidator) Fix ¶
func (v *GitConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*GitConfigValidator) Name ¶
func (v *GitConfigValidator) Name() string
func (*GitConfigValidator) Validate ¶
func (v *GitConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type GitConnectivityValidator ¶
type GitConnectivityValidator struct{}
GitConnectivityValidator checks if git operations work properly
func (*GitConnectivityValidator) CanFix ¶
func (v *GitConnectivityValidator) CanFix() bool
func (*GitConnectivityValidator) Category ¶
func (v *GitConnectivityValidator) Category() string
func (*GitConnectivityValidator) Description ¶
func (v *GitConnectivityValidator) Description() string
func (*GitConnectivityValidator) Fix ¶
func (v *GitConnectivityValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*GitConnectivityValidator) Name ¶
func (v *GitConnectivityValidator) Name() string
func (*GitConnectivityValidator) Validate ¶
func (v *GitConnectivityValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type GitHubAccessValidator ¶
type GitHubAccessValidator struct{}
GitHubAccessValidator checks if GitHub API is accessible
func (*GitHubAccessValidator) CanFix ¶
func (v *GitHubAccessValidator) CanFix() bool
func (*GitHubAccessValidator) Category ¶
func (v *GitHubAccessValidator) Category() string
func (*GitHubAccessValidator) Description ¶
func (v *GitHubAccessValidator) Description() string
func (*GitHubAccessValidator) Fix ¶
func (v *GitHubAccessValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*GitHubAccessValidator) Name ¶
func (v *GitHubAccessValidator) Name() string
func (*GitHubAccessValidator) Validate ¶
func (v *GitHubAccessValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type GitHubConfigValidator ¶
type GitHubConfigValidator struct{}
GitHubConfigValidator checks if GitHub configuration is properly set
func (*GitHubConfigValidator) CanFix ¶
func (v *GitHubConfigValidator) CanFix() bool
func (*GitHubConfigValidator) Category ¶
func (v *GitHubConfigValidator) Category() string
func (*GitHubConfigValidator) Description ¶
func (v *GitHubConfigValidator) Description() string
func (*GitHubConfigValidator) Fix ¶
func (v *GitHubConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*GitHubConfigValidator) Name ¶
func (v *GitHubConfigValidator) Name() string
func (*GitHubConfigValidator) Validate ¶
func (v *GitHubConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type InitRunValidator ¶
type InitRunValidator struct{}
InitRunValidator checks if anvil init has been run successfully
func (*InitRunValidator) CanFix ¶
func (v *InitRunValidator) CanFix() bool
func (*InitRunValidator) Category ¶
func (v *InitRunValidator) Category() string
func (*InitRunValidator) Description ¶
func (v *InitRunValidator) Description() string
func (*InitRunValidator) Fix ¶
func (v *InitRunValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*InitRunValidator) Name ¶
func (v *InitRunValidator) Name() string
func (*InitRunValidator) Validate ¶
func (v *InitRunValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type RepositoryValidator ¶
type RepositoryValidator struct{}
RepositoryValidator checks if the configured repository exists and is accessible
func (*RepositoryValidator) CanFix ¶
func (v *RepositoryValidator) CanFix() bool
func (*RepositoryValidator) Category ¶
func (v *RepositoryValidator) Category() string
func (*RepositoryValidator) Description ¶
func (v *RepositoryValidator) Description() string
func (*RepositoryValidator) Fix ¶
func (v *RepositoryValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*RepositoryValidator) Name ¶
func (v *RepositoryValidator) Name() string
func (*RepositoryValidator) Validate ¶
func (v *RepositoryValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type RequiredToolsValidator ¶
type RequiredToolsValidator struct{}
RequiredToolsValidator checks if all required tools are installed
func (*RequiredToolsValidator) CanFix ¶
func (v *RequiredToolsValidator) CanFix() bool
func (*RequiredToolsValidator) Category ¶
func (v *RequiredToolsValidator) Category() string
func (*RequiredToolsValidator) Description ¶
func (v *RequiredToolsValidator) Description() string
func (*RequiredToolsValidator) Fix ¶
func (v *RequiredToolsValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*RequiredToolsValidator) Name ¶
func (v *RequiredToolsValidator) Name() string
func (*RequiredToolsValidator) Validate ¶
func (v *RequiredToolsValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type SettingsFileValidator ¶
type SettingsFileValidator struct{}
SettingsFileValidator validates the settings.yaml file
func (*SettingsFileValidator) CanFix ¶
func (v *SettingsFileValidator) CanFix() bool
func (*SettingsFileValidator) Category ¶
func (v *SettingsFileValidator) Category() string
func (*SettingsFileValidator) Description ¶
func (v *SettingsFileValidator) Description() string
func (*SettingsFileValidator) Fix ¶
func (v *SettingsFileValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*SettingsFileValidator) Name ¶
func (v *SettingsFileValidator) Name() string
func (*SettingsFileValidator) Validate ¶
func (v *SettingsFileValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type SyncConfigValidator ¶
type SyncConfigValidator struct{}
SyncConfigValidator checks if sync configuration is valid
func (*SyncConfigValidator) CanFix ¶
func (v *SyncConfigValidator) CanFix() bool
func (*SyncConfigValidator) Category ¶
func (v *SyncConfigValidator) Category() string
func (*SyncConfigValidator) Description ¶
func (v *SyncConfigValidator) Description() string
func (*SyncConfigValidator) Fix ¶
func (v *SyncConfigValidator) Fix(ctx context.Context, cfg *config.AnvilConfig) error
func (*SyncConfigValidator) Name ¶
func (v *SyncConfigValidator) Name() string
func (*SyncConfigValidator) Validate ¶
func (v *SyncConfigValidator) Validate(ctx context.Context, cfg *config.AnvilConfig) *ValidationResult
type ValidationRegistry ¶
type ValidationRegistry struct {
// contains filtered or unexported fields
}
ValidationRegistry manages all available validators
func NewValidationRegistry ¶
func NewValidationRegistry() *ValidationRegistry
NewValidationRegistry creates a new validator registry
func (*ValidationRegistry) GetAllValidators ¶
func (vr *ValidationRegistry) GetAllValidators() []Validator
GetAllValidators returns all registered validators
func (*ValidationRegistry) GetCategories ¶
func (vr *ValidationRegistry) GetCategories() []string
GetCategories returns all available categories
func (*ValidationRegistry) GetValidator ¶
func (vr *ValidationRegistry) GetValidator(name string) (Validator, bool)
GetValidator retrieves a validator by name
func (*ValidationRegistry) GetValidatorsByCategory ¶
func (vr *ValidationRegistry) GetValidatorsByCategory(category string) []Validator
GetValidatorsByCategory retrieves all validators in a category
func (*ValidationRegistry) ListChecks ¶
func (vr *ValidationRegistry) ListChecks() map[string][]string
ListChecks returns a map of categories to validator names
func (*ValidationRegistry) Register ¶
func (vr *ValidationRegistry) Register(validator Validator)
Register adds a validator to the registry
type ValidationResult ¶
type ValidationResult struct {
Name string `json:"name"`
Category string `json:"category"`
Status ValidationStatus `json:"status"`
Message string `json:"message"`
Details []string `json:"details,omitempty"`
FixHint string `json:"fix_hint,omitempty"`
AutoFix bool `json:"auto_fix"`
}
ValidationResult represents the result of a validation check
func GetFixableIssues ¶
func GetFixableIssues(results []*ValidationResult) []*ValidationResult
GetFixableIssues returns results that can be automatically fixed
type ValidationStatus ¶
type ValidationStatus int
ValidationStatus represents the result status of a validation check
const ( PASS ValidationStatus = iota WARN FAIL SKIP )
func (ValidationStatus) String ¶
func (vs ValidationStatus) String() string
type Validator ¶
type Validator interface {
Name() string
Category() string
Description() string
Validate(ctx context.Context, config *config.AnvilConfig) *ValidationResult
CanFix() bool
Fix(ctx context.Context, config *config.AnvilConfig) error
}
Validator interface defines the contract for all validation checks