config.yaml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. web:
  2. kind: "helm_release"
  3. match:
  4. chart_name: "web"
  5. policies:
  6. - path: "./policies/web/web_version.rego"
  7. name: "web.version"
  8. nginx:
  9. kind: "helm_release"
  10. match:
  11. name: nginx-ingress
  12. namespace: ingress-nginx
  13. mustExist: true
  14. policies:
  15. - path: "./policies/nginx/nginx_version.rego"
  16. name: "nginx.version"
  17. - path: "./policies/nginx/nginx_topology_spread_constraints.rego"
  18. name: "nginx.topology_spread_constraints"
  19. - path: "./policies/nginx/memory_limits.rego"
  20. name: "nginx.memory_limits"
  21. - path: "./policies/nginx/wait_shutdown.rego"
  22. name: "nginx.wait_shutdown"
  23. cert-manager:
  24. kind: "helm_release"
  25. match:
  26. name: cert-manager
  27. namespace: cert-manager
  28. mustExist: true
  29. policies:
  30. - path: "./policies/cert-manager/cert_manager_version.rego"
  31. name: "cert_manager.version"
  32. - path: "./policies/cert-manager/cainjector_memory_limits.rego"
  33. name: "cert_manager.cainjector_memory_limits"
  34. - path: "./policies/cert-manager/controller_memory_limits.rego"
  35. name: "cert_manager.controller_memory_limits"
  36. - path: "./policies/cert-manager/webhook_memory_limits.rego"
  37. name: "cert_manager.webhook_memory_limits"
  38. prometheus:
  39. kind: "helm_release"
  40. match:
  41. name: prometheus
  42. namespace: monitoring
  43. mustExist: true
  44. policies:
  45. - path: "./policies/prometheus/server_memory_limits.rego"
  46. name: "prometheus.server_memory_limits"
  47. - path: "./policies/prometheus/alertmanager_memory_limits.rego"
  48. name: "prometheus.alertmanager_memory_limits"
  49. - path: "./policies/prometheus/kubestatemetrics_memory_limits.rego"
  50. name: "prometheus.kubestatemetrics_memory_limits"
  51. - path: "./policies/prometheus/pushgateway_memory_limits.rego"
  52. name: "prometheus.pushgateway_memory_limits"
  53. - path: "./policies/prometheus/nodeexporter_memory_limits.rego"
  54. name: "prometheus.nodeexporter_memory_limits"
  55. - path: "./policies/prometheus/prometheus_version.rego"
  56. name: "prometheus.version"
  57. nginx_pod:
  58. kind: "pod"
  59. overrideSeverity: "critical"
  60. match:
  61. namespace: ingress-nginx
  62. labels:
  63. app.kubernetes.io/component: "controller"
  64. app.kubernetes.io/instance: "nginx-ingress"
  65. app.kubernetes.io/name: "ingress-nginx"
  66. policies:
  67. - path: "./policies/pod/running.rego"
  68. name: "pod.running"
  69. prometheus_server_pod:
  70. kind: "pod"
  71. match:
  72. namespace: monitoring
  73. labels:
  74. app: "prometheus"
  75. component: "server"
  76. release: "prometheus"
  77. policies:
  78. - path: "./policies/pod/running.rego"
  79. name: "pod.running"
  80. prometheus_alertmanager_pod:
  81. kind: "pod"
  82. match:
  83. namespace: monitoring
  84. labels:
  85. app: "prometheus"
  86. component: "alertmanager"
  87. release: "prometheus"
  88. policies:
  89. - path: "./policies/pod/running.rego"
  90. name: "pod.running"
  91. porter_agent_pod:
  92. kind: "pod"
  93. match:
  94. namespace: porter-agent-system
  95. labels:
  96. control-plane: "controller-manager"
  97. policies:
  98. - path: "./policies/pod/running.rego"
  99. name: "pod.running"
  100. porter_agent_redis_pod:
  101. kind: "pod"
  102. match:
  103. namespace: porter-agent-system
  104. labels:
  105. app.kubernetes.io/component: "master"
  106. app.kubernetes.io/instance: "porter-agent"
  107. app.kubernetes.io/managed-by: "Helm"
  108. app.kubernetes.io/name: "redis"
  109. policies:
  110. - path: "./policies/pod/running.rego"
  111. name: "pod.running"
  112. certificates:
  113. kind: "crd_list"
  114. match:
  115. group: cert-manager.io
  116. version: v1
  117. resource: certificates
  118. policies:
  119. - path: "./policies/certificates/expiry_two_weeks.rego"
  120. name: "certificates.expiry_two_weeks"
  121. - path: "./policies/certificates/expired.rego"
  122. name: "certificates.expired"
  123. node:
  124. kind: "crd_list"
  125. match:
  126. group: core
  127. version: v1
  128. resource: nodes
  129. policies:
  130. - path: "./policies/node/k8s_version.rego"
  131. name: "node.k8s_version"
  132. - path: "./policies/node/porter_run_taints.rego"
  133. name: "node.porter_run_taints"
  134. - path: "./policies/node/porter_run_labels.rego"
  135. name: "node.porter_run_labels"
  136. - path: "./policies/node/healthy.rego"
  137. name: "node.healthy"
  138. descheduler:
  139. kind: "helm_release"
  140. match:
  141. name: descheduler
  142. namespace: kube-system
  143. mustExist: true
  144. policies: []
  145. vpa:
  146. kind: "helm_release"
  147. match:
  148. name: vpa
  149. namespace: kube-system
  150. mustExist: true
  151. policies: []