1
0
Fork 0
mirror of https://github.com/kyverno/policy-reporter.git synced 2024-12-14 11:57:32 +00:00
policy-reporter/README.md

85 lines
5.3 KiB
Markdown
Raw Normal View History

2021-03-19 19:32:46 +00:00
# Policy Reporter
[![CI](https://github.com/kyverno/policy-reporter/actions/workflows/ci.yaml/badge.svg)](https://github.com/kyverno/policy-reporter/actions/workflows/ci.yaml) [![Go Report Card](https://goreportcard.com/badge/github.com/kyverno/policy-reporter)](https://goreportcard.com/report/github.com/kyverno/policy-reporter) [![Coverage Status](https://coveralls.io/repos/github/kyverno/policy-reporter/badge.svg?branch=main)](https://coveralls.io/github/kyverno/policy-reporter?branch=main)
2021-02-19 23:58:01 +00:00
## Motivation
2021-02-19 23:58:01 +00:00
2021-03-19 19:23:43 +00:00
Kyverno ships with two types of validation. You can either enforce a rule or audit it. If you don't want to block developers or if you want to try out a new rule, you can use the audit functionality. The audit configuration creates [PolicyReports](https://kyverno.io/docs/policy-reports/) which you can access with `kubectl`. Because I can't find a simple solution to get a general overview of this PolicyReports and PolicyReportResults, I created this tool to send information about PolicyReports to different targets like [Grafana Loki](https://grafana.com/oss/loki/), [Elasticsearch](https://www.elastic.co/de/elasticsearch/) or [Slack](https://slack.com/).
2021-02-20 11:16:25 +00:00
Policy Reporter provides also a Prometheus Metrics API as well as an standalone mode along with the [Policy Reporter UI](https://kyverno.github.io/policy-reporter/guide/getting-started#core--policy-reporter-ui).
2021-03-19 19:23:43 +00:00
This project is in an early stage. Please let me know if anything did not work as expected or if you want to send your audits to unsupported targets.
## Documentation
You can find detailed Information and Screens about Features and Configurations in the [Documentation](https://kyverno.github.io/policy-reporter).
2021-02-20 00:16:18 +00:00
## Getting Started
2021-02-20 00:16:18 +00:00
## Installation with Helm v3
2021-02-21 09:26:14 +00:00
Installation via Helm Repository
2021-02-20 00:16:18 +00:00
### Add the Helm repository
2021-02-20 00:16:18 +00:00
```bash
helm repo add policy-reporter https://kyverno.github.io/policy-reporter
helm repo update
2021-02-20 00:16:18 +00:00
```
2021-06-15 10:56:38 +00:00
### Basic Installation
The basic installation provides optional Prometheus Metrics and/or optional REST APIs, for more details have a look at the [Documentation](https://kyverno.github.io/policy-reporter/guide/getting-started).
2021-06-15 10:56:38 +00:00
```bash
helm install policy-reporter policy-reporter/policy-reporter -n policy-reporter --set metrics.enabled=true --set rest.enabled=true --create-namespace
```
### Installation without Helm or Kustomize
To install Policy Reporter without Helm or Kustomize have a look at [manifests](https://github.com/kyverno/policy-reporter/tree/main/manifest).
2021-03-19 19:43:09 +00:00
## Policy Reporter UI
2021-02-28 11:59:33 +00:00
2021-03-19 23:13:58 +00:00
You can use the Policy Reporter as standalone Application along with the optional UI SubChart.
2021-02-28 11:59:33 +00:00
2021-05-08 11:17:03 +00:00
### Installation with Policy Reporter UI and Kyverno Plugin enabled
2021-02-28 11:59:33 +00:00
```bash
2021-05-08 11:17:03 +00:00
helm install policy-reporter policy-reporter/policy-reporter --set kyvernoPlugin.enabled=true --set ui.enabled=true --set ui.plugins.kyverno=true -n policy-reporter --create-namespace
2021-03-19 19:23:43 +00:00
kubectl port-forward service/policy-reporter-ui 8082:8080 -n policy-reporter
```
2021-03-19 19:23:43 +00:00
Open `http://localhost:8082/` in your browser.
Check the [Documentation](https://kyverno.github.io/policy-reporter/guide/getting-started#core--policy-reporter-ui) for Screens and additional Information
2021-03-19 19:23:43 +00:00
## Targets
Policy Reporter supports the following [Targets](https://kyverno.github.io/policy-reporter/core/targets) to send new (Cluster)PolicyReport Results too:
* [Grafana Loki](https://kyverno.github.io/policy-reporter/core/targets#grafana-loki)
* [Elasticsearch](https://kyverno.github.io/policy-reporter/core/targets#elasticsearch)
* [Microsoft Teams](https://kyverno.github.io/policy-reporter/core/targets#microsoft-teams)
* [Slack](https://kyverno.github.io/policy-reporter/core/targets#slack)
* [Discord](https://kyverno.github.io/policy-reporter/core/targets#discord)
* [Policy Reporter UI](https://kyverno.github.io/policy-reporter/core/targets#policy-reporter-ui)
* [Webhook](https://kyverno.github.io/policy-reporter/core/targets#webhook)
* [S3](https://kyverno.github.io/policy-reporter/core/targets#s3-compatible-storage)
* [AWS Kinesis compatible Services](https://kyverno.github.io/policy-reporter/core/targets#kinesis-compatible-services)
* [AWS SecurityHub](https://kyverno.github.io/policy-reporter/core/targets#aws-securityhub)
* [Google Cloud Storage](https://kyverno.github.io/policy-reporter/core/targets/#google-cloud-storage)
* [Telegram](https://kyverno.github.io/policy-reporter/core/targets#telegram)
* [Google Chat](https://kyverno.github.io/policy-reporter/core/targets#google-chat)
## Monitoring
2021-03-19 23:13:58 +00:00
The Helm Chart includes optional SubChart for [Prometheus Operator](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) Integration. The provided Dashboards working without Loki and are only based on the Prometheus Metrics.
2021-03-06 18:33:33 +00:00
Have a look into the [Documentation](https://kyverno.github.io/policy-reporter/guide/helm-chart-core/#configure-the-servicemonitor) for details.
2021-03-06 18:33:33 +00:00
2021-03-19 19:23:43 +00:00
### Grafana Dashboard Import
2021-03-06 18:33:33 +00:00
If you are not using the MonitoringStack you can import the dashboards from [Grafana](https://grafana.com/orgs/policyreporter/dashboards)
2021-04-17 11:42:04 +00:00
## Resources
* [[Video] 37. #EveryoneCanContribute cafe: Policy reporter for Kyverno](https://youtu.be/1mKywg9f5Fw)
2021-04-17 11:42:04 +00:00
* [[Video] Rawkode Live: Hands on Policy Reporter](https://www.youtube.com/watch?v=ZrOtTELNLyg)
2021-06-07 06:18:53 +00:00
* [[Blog] Monitor Security and Best Practices with Kyverno and Policy Reporter](https://blog.webdev-jogeleit.de/blog/monitor-security-with-kyverno-and-policy-reporter/)