|
| 1 | + |
| 2 | +# Synopsis: Use short rule names |
| 3 | +Rule 'Rule.Name' -Type 'PSRule.Rules.Rule' { |
| 4 | + Recommend 'Rule name should be less than 35 characters to prevent being truncated.' |
| 5 | + Reason "The rule name is too long." |
| 6 | + $TargetObject.RuleName.Length -le 35 |
| 7 | + $TargetObject.RuleName.StartsWith('Kubernetes.') |
| 8 | +} |
| 9 | + |
| 10 | +# Synopsis: Complete help documentation |
| 11 | +Rule 'Rule.Help' -Type 'PSRule.Rules.Rule' { |
| 12 | + $Assert.HasFieldValue($TargetObject, 'Info.Synopsis') |
| 13 | + $Assert.HasFieldValue($TargetObject, 'Info.Description') |
| 14 | + $Assert.HasFieldValue($TargetObject, 'Info.Recommendation') |
| 15 | +} |
| 16 | + |
| 17 | +# Synopsis: Rules must flag if the Kubernetes feature is core or AKS |
| 18 | +Rule 'Rule.Tags' -Type 'PSRule.Rules.Rule' { |
| 19 | + Recommend 'Add a group tag to the rule.' |
| 20 | + $TargetObject.Tag.ToHashtable() | Within 'group' 'core', 'AKS' -CaseSensitive |
| 21 | +} |
| 22 | + |
| 23 | +# Synopsis: Use severity and category annotations |
| 24 | +Rule 'Rule.Annotations' -Type 'PSRule.Rules.Rule' { |
| 25 | + $Assert.HasFieldValue($TargetObject, 'Info.Annotations.severity') |
| 26 | + $Assert.HasFieldValue($TargetObject, 'Info.Annotations.category') |
| 27 | +} |
| 28 | + |
| 29 | +# Synopsis: Use online help |
| 30 | +Rule 'Rule.OnlineHelp' -Type 'PSRule.Rules.Rule' { |
| 31 | + $Assert.HasFieldValue($TargetObject, 'Info.Annotations.''online version''') |
| 32 | +} |
0 commit comments