Skip to content

Commit

Permalink
docs: update readme (datreeio#728)
Browse files Browse the repository at this point in the history
  • Loading branch information
Eyar Zilberman authored Jul 26, 2022
1 parent 700da85 commit c7485df
Showing 1 changed file with 30 additions and 34 deletions.
64 changes: 30 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,11 @@

## 🤔 What is Datree?

[Datree](https://datree.io/#utm_source=github&utm_medium=organic_oss) is a CLI tool that supports Kubernetes admins in their roles by preventing developers from making errors in Kubernetes configurations that can cause clusters to fail in production. Our CLI tool is open source, enabling it to be supported by the Kubernetes community.
[Datree](https://datree.io/) automatically validates Kubernetes objects for rule violations, ensuring no misconfigurations reach production. It’s an E2E policy enforcement solution that can be used on the command line, admission webhook, or even as a kubectl plugin.

It’s far more effective than manual processes, such as sending an email to a slew of developers, begging them to set various limits, which likely falls on deaf ears because developers are already overwhelmed.

## ⚙️ How it works

The CLI integration provides a policy enforcement solution for Kubernetes to run automatic checks on every code change for rule violations and misconfigurations. When rule violations are found, Datree produces an alert that guides the developer to fix the issue inside the CI process - or even earlier as a pre-commit hook - while explaining the reason behind the rule.

## ⏩ Quick-start in two steps
## ✌️ Quick-start in two steps

### 1. Install the latest release on your CLI

Expand All @@ -50,24 +46,29 @@ _Other installation options (Homebrew, Docker, etc.) can be found [here](https:/

...and voilà, you just ran your first policy check! 🥳

## [Command Line Interface](https://hub.datree.io/cli-output) (CLI)
<img src="https://clipublic.s3.amazonaws.com/live.gif" alt="Datree-cli" width="70%">

<img src="https://clipublic.s3.amazonaws.com/live.gif" alt="Datree-cli" width="60%" height="50%">
## ⚙️ How it works

## [Web Application Interface](https://hub.datree.io/centralized-policy) (Dashboard)
Datree scans Kubernetes configurations and validates them against a centrally managed policy for rule violations and misconfigurations.

<img src="https://user-images.githubusercontent.com/19731161/130956287-ca44e831-46ba-48fa-96eb-be8e23d43bdf.png" alt="Datree-saas" width="60%" height="50%">
![Architecture](https://github.com/datreeio/datree/blob/main/images/datree_architecture_light.png#gh-light-mode-only)
![Architecture](https://github.com/datreeio/datree/blob/main/images/datree_architecture_dark.png#gh-dark-mode-only)

<img src="https://user-images.githubusercontent.com/19731161/130957021-4b825b82-01e1-47ba-bf6f-68003f08a532.png" alt="Datree-saas" width="60%" height="50%">
The CLI interface can be run locally, as a pre-commit hook, or in your CI, to shift left misconfiguration detection. With the admission webhook interface, you can enforce the same policy on the cluster.

## 🏛️ Architecture
### Each Datree scan runs three validation on your Kubernetes objects:
* YAML validation
* Schema validation (Including CRD support)
* Policy check

![Architecture](https://github.com/datreeio/datree/blob/main/images/datree_architecture_light.png#gh-light-mode-only)
![Architecture](https://github.com/datreeio/datree/blob/main/images/datree_architecture_dark.png#gh-dark-mode-only)
Datree comes with dozens of battle-tested rules for you to select to create your policy. The policy rules cover a variety of Kubernetes resources such as workload security, networking availability, Argo best practices, NSA hardening guide, and [many more](https://hub.datree.io/built-in-rules).

In addition to our built-in rules, you can write [any custom rule you wish](https://hub.datree.io/custom-rules-overview) and then run it against your Kubernetes configurations to check for rule violations. The custom rule engine is based on JSON Schema.

## 🔌 Helm plugin

[Datree's Helm plugin](https://github.com/datreeio/helm-datree) can be accessed through the helm CLI, to provide a seamless experience to Helm users:
[Datree's Helm plugin](https://github.com/datreeio/helm-datree) can be accessed through the helm CLI to provide a seamless experience to Helm users:

`helm plugin install https://github.com/datreeio/helm-datree`

Expand All @@ -77,29 +78,24 @@ Datree comes with out-of-the-box [support for Kustomize](https://hub.datree.io/k

`datree kustomize test [kustomization.yaml dir path/]`

## 🤖 Built-in schema validation & policy check

Every policy check will (also) validate your [Kubernetes schema](https://hub.datree.io/schema-validation). In addition, there are 30 battle-tested rules for you to select to create your policy.

The policy rules cover a variety of [Kubernetes resources and use cases](https://hub.datree.io/built-in-rules):

- Workload
- CronJob
- Containers
- Networking
- Security
- Deprecation
- Others

## 🔧 Custom rules
## Management dashboard (web application)

In addition to our built-in rules, you can write [any custom rule](https://hub.datree.io/custom-rules-overview) you wish, and then run them against your Kubernetes configurations to check for rule violations. The custom rule engine is based on JSON Schema.
Datree can be customized via code (policy as code) or via a management dashboard. The dashboard offers the following capabilities in an intuitive visual interface:
* Customize policies
* Edit rules failure message
* Issue tokens
* View policy check history
* Configure Kubernetes schema version

## 🔗 CI/CD integrations
<img src="https://user-images.githubusercontent.com/19731161/130956287-ca44e831-46ba-48fa-96eb-be8e23d43bdf.png" alt="Datree-saas" width="55%">

Like any linter or static code analysis tool, Datree's command-line tool can be **integrated with all CI/CD platforms** to automatically scan every code change and provide feedback as part of the workflow. In the [docs](https://hub.datree.io/cicd-examples), you can find examples of some of the common CI/CD platforms.
## ✔️ Next step: Integrate into your workflow

If you run into any difficulties with CI/CD integrations, please join our [community Slack channel](https://bit.ly/3BHwCEG) or open an issue, and we'd be happy to guide you through it.
From develop to runtime, you can use Datree in every step of your Kuberenetes pipeline to help you prevent misconfigurations:
* [Develop (code)](https://hub.datree.io/#2-test-a-kubernetes-demo-manifest) - run the CLI locally (or as a pre-commit hook) to get instant validation
* [Distribute (CI)](https://hub.datree.io/cicd-examples) - integrate with your CI platform to shift-left policy checks
* [Deploy (CD)](https://github.com/datreeio/admission-webhook-datree) - gate your cluster with the admission webhook
* [Runtime (production)](https://github.com/datreeio/kubectl-datree) - query deployed resources with the kubectl plugin to your know your status

## Contributing

Expand Down

0 comments on commit c7485df

Please sign in to comment.