metadata

package
v1.11.1 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2025 License: Apache-2.0 Imports: 1 Imported by: 0

README

pkg/validator/metadata

This package provides shared metadata validation utilities used across multiple validators.

Purpose

Contains common metadata validation functions that are shared across different validator packages. This package provides consistent validation of Kubernetes-style metadata fields like kind, apiVersion, and other common configuration fields.

Features

  • Metadata Field Validation: Validates common metadata fields (kind, apiVersion)
  • Consistent Error Reporting: Standardized error messages and validation results
  • Shared Validation Logic: Eliminates duplication across validator packages
  • Extensible Design: Easy to add new metadata validation rules
  • Integration Ready: Designed for use by all validator types

Usage

import "github.com/devantler-tech/ksail-go/pkg/validator/metadata"

// Validate metadata fields
result := &validator.ValidationResult{}
metadata.ValidateMetadata(
    config.Kind,
    config.APIVersion,
    "Cluster",
    "v1alpha1",
    result,
)

if !result.Valid {
    // Handle validation errors
}

Key Components

  • metadata.go: Core metadata validation functions and utilities
  • field validation: Common validation patterns for metadata fields
  • error integration: Seamless integration with validator result types

Integration

This package is used by all specific validator packages:

  • pkg/validator/kind: Kind configuration metadata validation
  • pkg/validator/k3d: K3d configuration metadata validation
  • pkg/validator/eks: EKS configuration metadata validation
  • pkg/validator/ksail: KSail configuration metadata validation

Validation Functions

The package provides validation for:

  • Kind Field: Validates required kind field and expected values
  • API Version: Validates required apiVersion field and compatibility
  • Field Presence: Ensures required metadata fields are present
  • Value Matching: Validates metadata values match expected patterns

This ensures consistent metadata validation across all configuration types in KSail.


⬅️ Go Back

Documentation

Overview

Package metadata provides shared metadata validation utilities used across multiple validators.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateMetadata

func ValidateMetadata(
	kind, apiVersion, expectedKind, expectedAPIVersion string,
	result *validator.ValidationResult,
)

ValidateMetadata validates Kind and APIVersion fields using provided expected values.

func ValidateNilConfig

func ValidateNilConfig(
	config any,
	configType string,
	result *validator.ValidationResult,
) bool

ValidateNilConfig checks if config is nil and adds appropriate error.

Types

This section is empty.

Jump to

Keyboard shortcuts

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