validators

package
v1.5.2-0...-4d0c20d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

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 (*BrewValidator) Name

func (v *BrewValidator) Name() string

func (*BrewValidator) Validate

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 (*DirectoryStructureValidator) Name

func (*DirectoryStructureValidator) Validate

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 (*GitConfigValidator) Name

func (v *GitConfigValidator) Name() string

func (*GitConfigValidator) Validate

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 (*GitConnectivityValidator) Name

func (v *GitConnectivityValidator) Name() string

func (*GitConnectivityValidator) Validate

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 (*GitHubAccessValidator) Name

func (v *GitHubAccessValidator) Name() string

func (*GitHubAccessValidator) Validate

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 (*GitHubConfigValidator) Name

func (v *GitHubConfigValidator) Name() string

func (*GitHubConfigValidator) Validate

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 (*InitRunValidator) Name

func (v *InitRunValidator) Name() string

func (*InitRunValidator) Validate

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 (*RepositoryValidator) Name

func (v *RepositoryValidator) Name() string

func (*RepositoryValidator) Validate

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 (*RequiredToolsValidator) Name

func (v *RequiredToolsValidator) Name() string

func (*RequiredToolsValidator) Validate

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 (*SettingsFileValidator) Name

func (v *SettingsFileValidator) Name() string

func (*SettingsFileValidator) Validate

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 (*SyncConfigValidator) Name

func (v *SyncConfigValidator) Name() string

func (*SyncConfigValidator) Validate

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL