5
5
6
6
"github.com/go-kit/kit/log"
7
7
"github.com/go-kit/kit/log/level"
8
- thanosrule "github.com/improbable-eng/thanos/pkg/rule"
9
8
"github.com/oklog/run"
10
9
"github.com/opentracing/opentracing-go"
11
10
"github.com/prometheus/client_golang/prometheus"
@@ -56,6 +55,16 @@ func checkRulesFiles(logger log.Logger, files *[]string) error {
56
55
return nil
57
56
}
58
57
58
+ type ThanosRuleGroup struct {
59
+ PartialResponseStrategy string `yaml:"partial_response_strategy"`
60
+ rulefmt.RuleGroup `yaml:",inline"`
61
+ }
62
+
63
+ type ThanosRuleGroups struct {
64
+ Groups []ThanosRuleGroup `yaml:"groups"`
65
+ }
66
+
67
+
59
68
func checkRules (logger log.Logger , filename string ) (int , tsdb.MultiError ) {
60
69
level .Info (logger ).Log ("msg" , "checking" , "filename" , filename )
61
70
checkErrors := tsdb.MultiError {}
@@ -66,8 +75,8 @@ func checkRules(logger log.Logger, filename string) (int, tsdb.MultiError) {
66
75
return 0 , checkErrors
67
76
}
68
77
69
- var rgs thanosrule. RuleGroups
70
- if err := yaml .Unmarshal (b , & rgs ); err != nil {
78
+ var rgs ThanosRuleGroups
79
+ if err := yaml .UnmarshalStrict (b , & rgs ); err != nil {
71
80
checkErrors .Add (err )
72
81
return 0 , checkErrors
73
82
}
@@ -89,7 +98,7 @@ func checkRules(logger log.Logger, filename string) (int, tsdb.MultiError) {
89
98
return numRules , checkErrors
90
99
}
91
100
92
- func thanosRuleGroupsToPromRuleGroups (ruleGroups thanosrule. RuleGroups ) rulefmt.RuleGroups {
101
+ func thanosRuleGroupsToPromRuleGroups (ruleGroups ThanosRuleGroups ) rulefmt.RuleGroups {
93
102
promRuleGroups := rulefmt.RuleGroups {Groups : []rulefmt.RuleGroup {}}
94
103
for _ , g := range ruleGroups .Groups {
95
104
group := rulefmt.RuleGroup {
0 commit comments