datree VS reviewdog

Compare datree vs reviewdog and see what are their differences.

datree

Prevent Kubernetes misconfigurations from reaching production (again šŸ˜¤ )! From code to cloud, Datree provides an E2E policy enforcement solution to run automatic checks for rule violations. See our docs: https://hub.datree.io (by datreeio)

reviewdog

šŸ¶ Automated code review tool integrated with any code analysis tools regardless of programming language (by reviewdog)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
datree reviewdog
34 12
6,403 7,329
0.1% 2.5%
7.2 9.4
6 months ago 6 days ago
Go Go
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

datree

Posts with mentions or reviews of datree. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-04.
  • Show HN: Datree (YC W20) ā€“ End-to-End Policy Management for Kubernetes
    2 projects | news.ycombinator.com | 4 Apr 2023
    Hi HN, Iā€™m Shimon, the co-founder of Datree: A policy management solution for Kubernetes. We help DevOps engineers prevent misconfigurations in their Kubernetes by enforcing an organizational policy on their clusters. Engineers can define a custom policy or use one of Datreeā€™s built-in policies, such as NIST/NSA Hardening Guide, EKS Security Best Practices, CIS Benchmark, and more.

    Our website is at https://datree.io and our GitHub is here: https://github.com/datreeio/datree

    This is not the first time I have shown Datree to the HN community: A little over a year ago, I posted here an earlier version of Datree (https://news.ycombinator.com/item?id=28918850). At that time, Datree consisted of a CLI tool to detect Kubernetes misconfigurations during the development process (locally or in the CI/CD), unlike the version I present today in which the enforcement happens in production.

    We built the CLI tool because we detected a big problem among Kubernetes operators: Misconfigurations. Kubernetes is extremely complex and flexible, which makes it very easy to poorly configure it in ways that are not secure. And indeed, we talked to dozens of Kubernetes operators who suffered from various problems, starting with failed audits, all the way to downtime in production, all because of misconfigurations.

    Our solution was simple: Give the developers the means to shift-left security testing during the development process with a CLI tool that can be integrated into the CI/CD. We thought this was the best way to approach the problem: It is easiest to fix misconfigurations in the development process before they are deployed to production, it prevents context-switching and relieves resources from the DevOps team.

    While the CLI tool was very popular among the open-source community (it got over 6000 stars on GitHub), we soon realized that CI/CD enforcement is not enough. As we talked with Datreeā€™s users, we realized we had made a fundamental mistake: We thought of misconfiguration prevention in technical terms rather than organizational terms.

    Indeed, from a technical point of view, it makes sense to shift-left Kubernetes security. But when considering the organizational structure in which it takes place, it simply isnā€™t enough. DevOps engineers told us that they love the shift-left concept, but they simply cannot rely on the goodwill of the engineers to run a CLI tool locally or to monitor all the pipelines leading to production. They need governance, something to help them stay in control of the state of their clusters.

    Moreover, we realized that many companies who use Kubernetes are heavily regulated, and cannot take any chances with their security. Sure, these companies want the engineers to fix misconfigurations during development, but they also want something to make sure that no matter what, their clusters remain misconfiguration-free.

    Based on this understanding, we developed a new version of Datree that sits on the cluster itself (rather than in the CI/CD) and protects the production environment by blocking misconfigured resources with an admission webhook. It has a centralized policy management solution to enable governance, and native monitoring to get real-time insights into the state of your Kubernetes.

    I look forward to hearing your feedback and answering any questions you may have.

  • Is OPA Gatekeeper the best solution for writing policies for k8s clusters?
    14 projects | /r/kubernetes | 10 Nov 2022
  • datreeio/datree: Prevent Kubernetes misconfigurations from reaching production (again šŸ˜¤ )! Datree is a CLI tool to ensure K8s configs follow stability & security best practices as well as your organizationā€™s policies. See our docs: https://hub.datree.io
    1 project | /r/devopsish | 7 Jun 2022
  • Question for the Argo-Verse
    3 projects | /r/argoproj | 12 May 2022
  • How to create a react app with Go support using WebAssembly in under 60 seconds
    4 projects | dev.to | 26 Apr 2022
    Go is a statically typed, compiled programming language designed at Google, it is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency. In my case, I needed to run Go for JSON schema validations, in other cases, you might want to perform a CPU-intensive task or use a CLI tool written in Go.
  • Techworld with Nana: Enforce K8s Best Practices with Datree
    1 project | /r/u_datree_io | 26 Apr 2022
  • Gatekeeper vs Kyverno
    3 projects | /r/kubernetes | 18 Apr 2022
    I worked with both of them and from my experience Gatekeeper is more solid and accountable, I even wrote an article about Gatekeeper. Both Gatekeeper and Kyverno require a lot of heavy lifting work. On the one hand, Gatekeeper will probably require more configuration work however the community and the tool itself are more stable than Kyverno. On the other hand, Kyverno policy-as-code capabilities are much easier to use/understand. This way or another, for me using Kyvernoā€™s policy language or Rego for my policies, wasnā€™t such a pleasant experience. I personally believe in GitOps and shifting left so if youā€™re looking for tools I would highly recommend you to review Datree, which is an open-source CLI (Disclaimer: Iā€™m one of the developers at Datree). Datree is a more centralized policy management solution rather than a policy engine. Unlike Kyverno/Gatekeeper Datree was built to help DevOps teams to shift left and practice GitOps by delegating more responsibilities to the developers more efficiently. In practice, Datree already comes with built-in rules and policies along with YAML and schema validation for K8s resources and CRDs such as Argo CRDs. Datreeā€™s policies are written in JSONScheme which is a common solid policy language supported by the community for many years. Additionally, Datreeā€™s CLI also comes with a dashboard app where you can monitor the policies in your organization. You can modify and update your policies, review which policies are being used in practice, and control who can create/delete/update your policies. The major difference is that at the moment, unlike Kyverno/Gatekeeper Datree doesnā€™t provide native policy enforcement in the Kubernetes cluster at the moment but we expect to release this support very soon. At the moment, we provide a way to scan the cluster using a kubectl plugin. Feel free to check it out :)
  • Working with Datreeā€™s Helm Plugin
    2 projects | dev.to | 27 Mar 2022
    $ helm plugin install https://github.com/datreeio/helm-datree Installing helm-datree... https://github.com/datreeio/datree/releases/download/1.0.6/datree-cli_1.0.6_Darwin_x86_64.zip % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 673 100 673 0 0 1439 0 --:--:-- --:--:-- --:--:-- 1469 100 6901k 100 6901k 0 0 1852k 0 0:00:03 0:00:03 --:--:-- 2865k helm-datree is installed. See https://hub.datree.io for help getting started. Installed plugin: datree
  • Adding custom rules in Datree
    1 project | dev.to | 19 Feb 2022
    GitHub
  • Learn from Nana, AWS Hero & CNCF Ambassador, how to enforce K8s best practices with Datree.
    1 project | /r/u_datree_io | 26 Jan 2022

reviewdog

Posts with mentions or reviews of reviewdog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-16.
  • Code reviews and Suggestions from SARIF report
    2 projects | dev.to | 16 May 2023
    I build a general converter from SARIF to Reviewdog Diagnostic Format (RDFormat), then use Reviewdog to give suggested code changes as well as the context of the changes for PR reviewing.
  • My CNCF LFX Mentorship Spring 2023 Project at Kubescape
    19 projects | dev.to | 14 May 2023
    I helped improve the Kubescape GitHub Actions fix suggestions code review process, where I created the workflow which works by collecting the SARIF (Static Analysis Results Interchange Format) file that kubescape generates. Then, with the help of HollowMan6/sarif4reviewdog, convert the SARIF file into RDFormat (Reviewdog Diagnostic Format) and generate reviews for code fix suggestions on GitHub Actions using Reviewdog. I also helped add the ā€œfix" object support for the Kubescape-generated SARIF report.
  • Reviewdog: Code analysis regardless of programming language
    1 project | news.ycombinator.com | 11 Oct 2022
  • Goast: Generic static analysis for Go Abstract Syntax Tree by OPA/Rego
    5 projects | dev.to | 12 Sep 2022
    Static analysis should be performed continuously by CI (Continuous Integration) to prevent unintentional inclusion of code. The JSON output schema is compatible with reviewdog and can be used as is in reviewdog.
  • reviewdog-gitlab-webhook: Trigger reviewdog checks for GitLab repo using webhooks
    2 projects | /r/golang | 12 Jul 2022
    Trigger reviewdog checks on a repository via GitLab webhook rather than CI job.
  • How to reuse steps in Tekton tasks
    5 projects | dev.to | 21 May 2022
    # parameters - op: add path: /spec/params/- value: name: report-file default: reportfile description: Report file with errors - op: add path: /spec/params/- value: name: format default: golint description: Format of error input from the task - op: add path: /spec/params/- value: name: reporter default: local description: Reporter type for reviewdog https://github.com/reviewdog/reviewdog#reporters - op: add path: /spec/params/- value: name: diff default: git diff FETCH_HEAD description: Diff command https://github.com/reviewdog/reviewdog#reporters # workspaces - op: add path: /spec/workspaces/- value: name: token description: | Workspace which contains a token file for Github Pull Request comments. Must have a token file with the Github API access token # steps - op: add path: /spec/steps/- value: name: reviewdog-report image: golangci/golangci-lint:v1.31-alpine # both have the same workspace name workingDir: $(workspaces.source.path) script: | #!/bin/sh set -ue wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b $(go env GOPATH)/bin export REVIEWDOG_GITHUB_API_TOKEN=$(cat $(workspaces.token.path)/token) cat $(params.reportfile) | reviewdog -f=$(params.format) -diff="$(params.diff)"
  • I manage my dev.to blog in GitHub repository
    5 projects | dev.to | 4 May 2022
    In reference article, use prettier to format the markdown and the code snippets. I implement a text review using textlint and reviewdog in addition to that.
  • Automated code review for on-prem
    2 projects | /r/gitlab | 3 May 2022
    JetBrains Qodana is one option, but currently requires glue code to map the findings to MR comments. I'm using reviewdog for it but I'm hoping they'll eventually fix it to have native integration
  • GitHub Action to annotate tsc errors;
    1 project | /r/typescript | 12 Mar 2022
    I'm trying to make a GitHub action which automatically runs tsc to find TypeScript errors. Those errors should be annotated inline in the PR/Commits. I found reviewdog, which should work perfectly for this - but I played around with that for about 4 hours now and can't seem to get it to report errors successfully. tsc exits with code 2, but reviewdog still says that everything went fine. So I'm trying to find another solution for this, has anyone here done this before? For comparison, I managed to do the same thing with ESLint by adding a custom formatter to the eslint command (-f param),ā€ which then gets automatically picked up by the GitHub action - but I can't find something similar for tsc..
  • Incident with GitHub Actions, Issues, Pull Requests, and Webhooks
    2 projects | news.ycombinator.com | 21 Oct 2021
    I used ReviewDog to wire in Qodana results, so I hear you about wishing it was built in, but it is achievable: https://github.com/reviewdog/reviewdog#reporter-gitlab-merge...

    Based on my contact with GitLab's built-in other scanning tools, I wouldn't trust their vuln management further than I could throw it, so you're likely not missing much on that front

What are some alternatives?

When comparing datree and reviewdog you can also consider the following projects:

KubeArmor - Runtime Security Enforcement System. Workload hardening/sandboxing and implementing least-permissive policies made easy leveraging LSMs (BPF-LSM, AppArmor).

Qodana - šŸ“ Source repository of Qodana Help

polaris - Validation of best practices in your Kubernetes clusters

prettier - Prettier is an opinionated code formatter.

kube-score - Kubernetes object analysis with recommendations for improved reliability and security. kube-score actively prevents downtime and bugs in your Kubernetes YAML and Charts. Static code analysis for Kubernetes.

polaris - Shopifyā€™s design system to help us work together to build a great experience for all of our merchants.

ls-lint - An extremely fast directory and filename linter - Bring some structure to your project filesystem

Kyverno - Kubernetes Native Policy Management

editorconfig-vim - EditorConfig plugin for Vim

k-rail - Kubernetes security tool for policy enforcement

microplane - A CLI tool to make git changes across many repos, especially useful with Microservices.