Description
Extract Validation (currently ValidationConfig in pkg/recipe/metadata.go) as a standalone, portable Go type that can be used in multiple contexts: embedded in recipes, standalone YAML files, or embedded in external data structures.
Context
External consumers want to use AICR's validation types programmatically. To enable this, validation types need to be extracted as portable Go structs that can be embedded or extended in consumer code while remaining usable in AICR's existing recipe system.
Requirements
- Extract
ValidationConfig as a standalone type (rename to Validation or keep as-is)
- Add fields useful for external orchestration:
NodeSelector map[string]string - for node targeting
ExpectedNewReplicas int - for batch processing
- Status tracking fields (phase state, check results)
- Maintain backward compatibility with existing recipe structure
- Ensure JSON/YAML tags are present for serialization
- No external dependencies (keep it portable)
Acceptance Criteria
Related
Description
Extract
Validation(currentlyValidationConfiginpkg/recipe/metadata.go) as a standalone, portable Go type that can be used in multiple contexts: embedded in recipes, standalone YAML files, or embedded in external data structures.Context
External consumers want to use AICR's validation types programmatically. To enable this, validation types need to be extracted as portable Go structs that can be embedded or extended in consumer code while remaining usable in AICR's existing recipe system.
Requirements
ValidationConfigas a standalone type (rename toValidationor keep as-is)NodeSelector map[string]string- for node targetingExpectedNewReplicas int- for batch processingAcceptance Criteria
Validationtype exists as standalone Go structnodeSelectorandexpectedNewReplicasfieldsjson:",inline"tagRelated