Re go: как указать, что нет одного из нескольких условий - PullRequest
1 голос
/ 28 января 2020

Как я могу проверить существование двух отдельных ключей в Re go для OPA? В настоящее время я использую оператор not, например, так:

deny["Containers must specify readiness and liveness probes"] {
  not container.readinessProbe
  not container.livenessProbe
}

Однако это запрещает только контейнеры без livenessProbe и readinessProbe. Как указать запретить контейнеру отсутствовать или двух ключей?

1 Ответ

1 голос
/ 28 января 2020

Для этого случая я думаю, что имеет смысл просто иметь запрещающее правило для каждого:

deny["Containers must specify readiness probes"] {
  not container.readinessProbe
}

deny["Containers must specify liveness probes"] {
  not container.livenessProbe
}

С политиками Re go правила объединяются в OR, а операторы тела правила - AND «d. Так что, если вы пытаетесь express условие ИЛИ, обычно ищите правило для каждого случая.

...