@@ -248,10 +248,10 @@ func (r *RuleCommand) setup(_ *kingpin.ParseContext) error {
248248 )
249249
250250 // Apply config file defaults
251- if err := ApplyConfigDefaults (& r .ClientConfig ); err != nil {
252- return err
253- }
251+ return ApplyConfigDefaults (& r .ClientConfig )
252+ }
254253
254+ func (r * RuleCommand ) setupClient () error {
255255 // Validate required fields (they may come from config file)
256256 if r .ClientConfig .Address == "" {
257257 return fmt .Errorf ("cortex address is required (use --address flag, CORTEX_ADDRESS env var, or config file)" )
@@ -345,6 +345,9 @@ func (r *RuleCommand) setupFiles() error {
345345}
346346
347347func (r * RuleCommand ) listRules (_ * kingpin.ParseContext ) error {
348+ if err := r .setupClient (); err != nil {
349+ return err
350+ }
348351 rules , err := r .cli .ListRules (context .Background (), "" )
349352 if err != nil {
350353 if errors .Is (err , client .ErrResourceNotFound ) {
@@ -359,6 +362,9 @@ func (r *RuleCommand) listRules(_ *kingpin.ParseContext) error {
359362}
360363
361364func (r * RuleCommand ) printRules (_ * kingpin.ParseContext ) error {
365+ if err := r .setupClient (); err != nil {
366+ return err
367+ }
362368 rules , err := r .cli .ListRules (context .Background (), "" )
363369 if err != nil {
364370 if errors .Is (err , client .ErrResourceNotFound ) {
@@ -373,6 +379,9 @@ func (r *RuleCommand) printRules(_ *kingpin.ParseContext) error {
373379}
374380
375381func (r * RuleCommand ) getRuleGroup (_ * kingpin.ParseContext ) error {
382+ if err := r .setupClient (); err != nil {
383+ return err
384+ }
376385 group , err := r .cli .GetRuleGroup (context .Background (), r .Namespace , r .RuleGroup )
377386 if err != nil {
378387 if errors .Is (err , client .ErrResourceNotFound ) {
@@ -387,6 +396,9 @@ func (r *RuleCommand) getRuleGroup(_ *kingpin.ParseContext) error {
387396}
388397
389398func (r * RuleCommand ) deleteRuleGroup (_ * kingpin.ParseContext ) error {
399+ if err := r .setupClient (); err != nil {
400+ return err
401+ }
390402 err := r .cli .DeleteRuleGroup (context .Background (), r .Namespace , r .RuleGroup )
391403 if err != nil && ! errors .Is (err , client .ErrResourceNotFound ) {
392404 log .Fatalf ("unable to delete rule group from cortex, %v" , err )
@@ -395,6 +407,9 @@ func (r *RuleCommand) deleteRuleGroup(_ *kingpin.ParseContext) error {
395407}
396408
397409func (r * RuleCommand ) deleteRuleNamespace (_ * kingpin.ParseContext ) error {
410+ if err := r .setupClient (); err != nil {
411+ return err
412+ }
398413 err := r .cli .DeleteRuleNamespace (context .Background (), r .Namespace )
399414 if err != nil && ! errors .Is (err , client .ErrResourceNotFound ) {
400415 log .Fatalf ("unable to delete namespace from cortex, %v" , err )
@@ -403,6 +418,9 @@ func (r *RuleCommand) deleteRuleNamespace(_ *kingpin.ParseContext) error {
403418}
404419
405420func (r * RuleCommand ) loadRules (_ * kingpin.ParseContext ) error {
421+ if err := r .setupClient (); err != nil {
422+ return err
423+ }
406424 nss , err := rules .ParseFiles (r .RuleFilesList , r .getValidationScheme ())
407425 if err != nil {
408426 return errors .Wrap (err , "load operation unsuccessful, unable to parse rules files" )
@@ -460,6 +478,9 @@ func (r *RuleCommand) shouldCheckNamespace(namespace string) bool {
460478}
461479
462480func (r * RuleCommand ) diffRules (_ * kingpin.ParseContext ) error {
481+ if err := r .setupClient (); err != nil {
482+ return err
483+ }
463484 err := r .setupFiles ()
464485 if err != nil {
465486 return errors .Wrap (err , "diff operation unsuccessful, unable to load rules files" )
@@ -523,6 +544,9 @@ func (r *RuleCommand) diffRules(_ *kingpin.ParseContext) error {
523544}
524545
525546func (r * RuleCommand ) syncRules (_ * kingpin.ParseContext ) error {
547+ if err := r .setupClient (); err != nil {
548+ return err
549+ }
526550 err := r .setupFiles ()
527551 if err != nil {
528552 return errors .Wrap (err , "sync operation unsuccessful, unable to load rules files" )
0 commit comments