config.yaml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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_loki_pod:
  101. kind: "pod"
  102. match:
  103. namespace: porter-agent-system
  104. labels:
  105. app: "loki"
  106. name: "porter-agent-loki"
  107. policies:
  108. - path: "./policies/pod/running.rego"
  109. name: "pod.running"
  110. certificates:
  111. kind: "crd_list"
  112. match:
  113. group: cert-manager.io
  114. version: v1
  115. resource: certificates
  116. policies:
  117. - path: "./policies/certificates/expiry_two_weeks.rego"
  118. name: "certificates.expiry_two_weeks"
  119. - path: "./policies/certificates/expired.rego"
  120. name: "certificates.expired"
  121. node:
  122. kind: "crd_list"
  123. match:
  124. group: core
  125. version: v1
  126. resource: nodes
  127. policies:
  128. - path: "./policies/node/k8s_version.rego"
  129. name: "node.k8s_version"
  130. - path: "./policies/node/porter_run_taints.rego"
  131. name: "node.porter_run_taints"
  132. - path: "./policies/node/porter_run_labels.rego"
  133. name: "node.porter_run_labels"
  134. - path: "./policies/node/healthy.rego"
  135. name: "node.healthy"
  136. descheduler:
  137. kind: "helm_release"
  138. match:
  139. name: descheduler
  140. namespace: kube-system
  141. mustExist: true
  142. policies: []
  143. vpa:
  144. kind: "helm_release"
  145. match:
  146. name: vpa
  147. namespace: kube-system
  148. mustExist: true
  149. policies: []