running.rego 853 B

12345678910111213141516171819202122232425
  1. package daemonset.running
  2. import future.keywords.contains
  3. import future.keywords.every
  4. import future.keywords.if
  5. import future.keywords.in
  6. POLICY_ID := "daemonset_running"
  7. POLICY_VERSION := "v0.0.1"
  8. POLICY_SEVERITY := "high"
  9. POLICY_TITLE := sprintf("Daemonset %s in namespace %s should have all replicas available", [input.metadata.name, input.metadata.namespace])
  10. POLICY_SUCCESS_MESSAGE := sprintf("Success: daemonset has %d / %d pods running", [input.status.numberReady, input.status.desiredNumberScheduled])
  11. allow if {
  12. input.status.numberReady == input.status.desiredNumberScheduled
  13. }
  14. FAILURE_MESSAGE contains msg1 if {
  15. input.status.numberReady != input.status.desiredNumberScheduled
  16. msg1 := sprintf("Daemonset %s only has %d out of %d pods running", [input.metadata.name, input.status.numberReady, input.status.desiredNumberScheduled])
  17. }