[Refactor/TRA-3692] rename test rules to traffic validation (#281)

This commit is contained in:
Selton Fiuza 2021-09-19 08:47:19 -03:00 committed by GitHub
parent 5392475486
commit b50eced489
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 6 deletions

View File

@ -2,6 +2,7 @@ package cmd
import ( import (
"errors" "errors"
"fmt"
"os" "os"
"github.com/up9inc/mizu/cli/config" "github.com/up9inc/mizu/cli/config"
@ -67,4 +68,7 @@ func init() {
tapCmd.Flags().String(configStructs.HumanMaxEntriesDBSizeTapName, defaultTapConfig.HumanMaxEntriesDBSize, "Override the default max entries db size") tapCmd.Flags().String(configStructs.HumanMaxEntriesDBSizeTapName, defaultTapConfig.HumanMaxEntriesDBSize, "Override the default max entries db size")
tapCmd.Flags().Bool(configStructs.DryRunTapName, defaultTapConfig.DryRun, "Preview of all pods matching the regex, without tapping them") tapCmd.Flags().Bool(configStructs.DryRunTapName, defaultTapConfig.DryRun, "Preview of all pods matching the regex, without tapping them")
tapCmd.Flags().String(configStructs.EnforcePolicyFile, defaultTapConfig.EnforcePolicyFile, "Yaml file with policy rules") tapCmd.Flags().String(configStructs.EnforcePolicyFile, defaultTapConfig.EnforcePolicyFile, "Yaml file with policy rules")
tapCmd.Flags().String(configStructs.EnforcePolicyFileDeprecated, defaultTapConfig.EnforcePolicyFileDeprecated, "Yaml file with policy rules")
tapCmd.Flags().MarkDeprecated(configStructs.EnforcePolicyFileDeprecated, fmt.Sprintf("Use --%s instead", configStructs.EnforcePolicyFile))
} }

View File

@ -47,14 +47,23 @@ func RunMizuTap() {
logger.Log.Errorf(uiUtils.Error, fmt.Sprintf("Error parsing regex-masking: %v", errormessage.FormatError(err))) logger.Log.Errorf(uiUtils.Error, fmt.Sprintf("Error parsing regex-masking: %v", errormessage.FormatError(err)))
return return
} }
var mizuValidationRules string var mizuValidationRules string
if config.Config.Tap.EnforcePolicyFile != "" { if config.Config.Tap.EnforcePolicyFile != "" || config.Config.Tap.EnforcePolicyFileDeprecated != "" {
mizuValidationRules, err = readValidationRules(config.Config.Tap.EnforcePolicyFile) var trafficValidation string
if config.Config.Tap.EnforcePolicyFile != "" {
trafficValidation = config.Config.Tap.EnforcePolicyFile
} else {
trafficValidation = config.Config.Tap.EnforcePolicyFileDeprecated
}
mizuValidationRules, err = readValidationRules(trafficValidation)
if err != nil { if err != nil {
logger.Log.Errorf(uiUtils.Error, fmt.Sprintf("Error reading policy file: %v", errormessage.FormatError(err))) logger.Log.Errorf(uiUtils.Error, fmt.Sprintf("Error reading policy file: %v", errormessage.FormatError(err)))
return return
} }
} }
kubernetesProvider, err := kubernetes.NewProvider(config.Config.KubeConfigPath()) kubernetesProvider, err := kubernetes.NewProvider(config.Config.KubeConfigPath())
if err != nil { if err != nil {
logger.Log.Error(err) logger.Log.Error(err)

View File

@ -16,7 +16,8 @@ const (
DisableRedactionTapName = "no-redact" DisableRedactionTapName = "no-redact"
HumanMaxEntriesDBSizeTapName = "max-entries-db-size" HumanMaxEntriesDBSizeTapName = "max-entries-db-size"
DryRunTapName = "dry-run" DryRunTapName = "dry-run"
EnforcePolicyFile = "test-rules" EnforcePolicyFile = "traffic-validation"
EnforcePolicyFileDeprecated = "test-rules"
) )
type TapConfig struct { type TapConfig struct {
@ -32,7 +33,8 @@ type TapConfig struct {
DisableRedaction bool `yaml:"no-redact" default:"false"` DisableRedaction bool `yaml:"no-redact" default:"false"`
HumanMaxEntriesDBSize string `yaml:"max-entries-db-size" default:"200MB"` HumanMaxEntriesDBSize string `yaml:"max-entries-db-size" default:"200MB"`
DryRun bool `yaml:"dry-run" default:"false"` DryRun bool `yaml:"dry-run" default:"false"`
EnforcePolicyFile string `yaml:"test-rules"` EnforcePolicyFile string `yaml:"traffic-validation"`
EnforcePolicyFileDeprecated string `yaml:"test-rules"`
ApiServerResources Resources `yaml:"api-server-resources"` ApiServerResources Resources `yaml:"api-server-resources"`
TapperResources Resources `yaml:"tapper-resources"` TapperResources Resources `yaml:"tapper-resources"`
} }

View File

@ -24,14 +24,14 @@ To use this feature - create simple rules file (see details below) and pass this
```shell ```shell
mizu tap --test-rules rules.yaml PODNAME mizu tap --traffic-validation rules.yaml PODNAME
``` ```
## Rules file structure ## Rules file structure
The structure of the test-rules-file is: The structure of the traffic-validation-file is:
* `name`: string, name of the rule * `name`: string, name of the rule
* `type`: string, type of the rule, must be `json` or `header` or `latency` * `type`: string, type of the rule, must be `json` or `header` or `latency`