@@ -82,43 +82,43 @@ func NewCommand(
8282 streams genericiooptions.IOStreams ,
8383 configFlags *genericclioptions.ConfigFlags ,
8484 options ...CommandOption ,
85- ) *Command {
86- registry := check.NewRegistry ()
87-
88- // Explicitly register all checks (no global state, full test isolation)
89- // Components (13)
90- registry. MustRegister (codeflare. NewRemovalCheck ())
91- registry. MustRegister (dashboard. NewAcceleratorProfileMigrationCheck ())
92- registry. MustRegister (dashboard. NewHardwareProfileMigrationCheck ())
93- registry. MustRegister (datasciencepipelines. NewInstructLabRemovalCheck ())
94- registry. MustRegister (datasciencepipelines. NewRenamingCheck ())
95- registry. MustRegister ( kserve.NewServerlessRemovalCheck ())
96- registry. MustRegister ( kserve.NewInferenceServiceConfigCheck ())
97- registry. MustRegister (kserve. NewServiceMeshOperatorCheck ())
98- registry. MustRegister (kserve. NewServiceMeshRemovalCheck ())
99- registry. MustRegister (kueue. NewManagementStateCheck ())
100- registry. MustRegister (kueue. NewOperatorInstalledCheck ())
101- registry. MustRegister (modelmesh. NewRemovalCheck () )
102- registry. MustRegister (trainingoperator. NewDeprecationCheck ())
103-
104- // Dependencies (2 )
105- registry. MustRegister (certmanager. NewCheck ())
106- registry. MustRegister (openshift. NewCheck ())
107-
108- // Workloads (8)
109- registry. MustRegister (guardrails. NewImpactedWorkloadsCheck ())
110- registry. MustRegister (guardrails. NewOtelMigrationCheck ())
111- registry. MustRegister (kserveworkloads. NewAcceleratorMigrationCheck ())
112- registry. MustRegister (kserveworkloads. NewImpactedWorkloadsCheck ())
113- registry. MustRegister (notebook. NewAcceleratorMigrationCheck () )
114- registry. MustRegister (notebook. NewImpactedWorkloadsCheck ())
115- registry. MustRegister (ray. NewImpactedWorkloadsCheck () )
116- registry. MustRegister (trainingoperatorworkloads. NewImpactedWorkloadsCheck ())
85+ ) ( *Command, error ) {
86+ registry , err := check.NewRegistry (
87+ // Components (13)
88+ codeflare. NewRemovalCheck (),
89+ dashboard. NewAcceleratorProfileMigrationCheck (),
90+ dashboard. NewHardwareProfileMigrationCheck (),
91+ datasciencepipelines. NewInstructLabRemovalCheck (),
92+ datasciencepipelines. NewRenamingCheck (),
93+ kserve. NewServerlessRemovalCheck (),
94+ kserve. NewInferenceServiceConfigCheck (),
95+ kserve.NewServiceMeshOperatorCheck (),
96+ kserve.NewServiceMeshRemovalCheck (),
97+ kueue. NewManagementStateCheck (),
98+ kueue. NewOperatorInstalledCheck (),
99+ modelmesh. NewRemovalCheck (),
100+ trainingoperator. NewDeprecationCheck (),
101+ // Dependencies (2 )
102+ certmanager. NewCheck (),
103+ openshift. NewCheck (),
104+ // Workloads (8 )
105+ guardrails. NewImpactedWorkloadsCheck (),
106+ guardrails. NewOtelMigrationCheck (),
107+ kserveworkloads. NewAcceleratorMigrationCheck (),
108+ kserveworkloads. NewImpactedWorkloadsCheck (),
109+ notebook. NewAcceleratorMigrationCheck (),
110+ notebook. NewImpactedWorkloadsCheck (),
111+ ray. NewImpactedWorkloadsCheck (),
112+ trainingoperatorworkloads. NewImpactedWorkloadsCheck (),
113+ )
114+ if err != nil {
115+ return nil , fmt. Errorf ( " registering checks: % w " , err )
116+ }
117117
118118 return &Command{
119119 SharedOptions: shared,
120120 registry: registry,
121- }
121+ }, nil
122122}
123123```
124124
@@ -344,15 +344,27 @@ The lint command uses a `Command` struct (not `Options`) with constructor `NewCo
344344
345345``` go
346346type Command struct {
347- shared *SharedOptions
348- targetVersion string
347+ *SharedOptions
348+ TargetVersion version.SemVersion // implements pflag.Value
349+ registry *check.CheckRegistry
349350}
350351
351- func NewCommand (opts CommandOptions ) *Command {
352- return &Command{
353- shared: opts.Shared ,
354- targetVersion: opts.TargetVersion ,
352+ func NewCommand (
353+ streams genericiooptions.IOStreams ,
354+ configFlags *genericclioptions.ConfigFlags ,
355+ options ...CommandOption ,
356+ ) (*Command, error ) {
357+ registry , err := check.NewRegistry (/* checks... */ )
358+ if err != nil {
359+ return nil , fmt.Errorf (" registering checks: % w" , err)
360+ }
361+
362+ c := &Command{
363+ SharedOptions: NewSharedOptions (streams, configFlags),
364+ registry: registry,
355365 }
366+ // ... apply options ...
367+ return c, nil
356368}
357369```
358370
0 commit comments