From ed8852600be28e7c4782b3d197a04121f1bc47f1 Mon Sep 17 00:00:00 2001 From: "docs.yml" <> Date: Mon, 5 Aug 2024 20:27:34 +0000 Subject: [PATCH] docs.yml --- site/content/en/main/faq/_index.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/site/content/en/main/faq/_index.md b/site/content/en/main/faq/_index.md index 4d226a335..28c72ebca 100644 --- a/site/content/en/main/faq/_index.md +++ b/site/content/en/main/faq/_index.md @@ -17,6 +17,22 @@ or npx --node-options="--disable-warning=DEP0040" pepr [command] ``` +## How does Pepr compare to Operator SDK? + +Pepr and Operator SDK are both frameworks used for building Kubernetes operators and admission controllers. While they share a common goal of simplifying the creation of Kubernetes operators and enhancing Kubernetes functionality, they have different approaches and features. + +Similarities: +* **Scaffolding**: Automatically generate boilerplate code for new operators and Kubernetes manifests for building controllers. +* **Helper Functions**: Provide utility functions to interact with Kubernetes resources and manage the lifecycle of Kubernetes resources. +* **Admission Webhooks and Kubernetes Controllers**: Both support building admission and Kubernetes controllers by reacting to changes in the cluster in an automated way. + +Differences: +* **Main Goals**: Operator SDK is mainly focused on building operators and later included support for Webhooks. In contrast, Pepr started out as a framework for building Webhooks and later added support for building operators via [Kubernetes-Fluent-Client](https://github.com/defenseunicorns/kubernetes-fluent-client) through [Watch](../user-guide/actions/watch/) and [Reconcile](../user-guide/actions/reconcile/). +* **Language Support**: Operator SDK supports Go, Ansible, and Helm, while Pepr is written in TypeScript and designed with an English style fluent API for simplicity. +* **Lifecycle Management**: Operator SDK provides tools for managing the lifecycle of operators through OLM (Operator Lifecycle Manager), while Pepr relies on [Helm](../user-guide/customization/) for upgrades. +* **Complexity**: Operator SDK uses native Kubernetes Go libraries for deep integration with Kubernetes resources, while Pepr exposes a high-level abstraction allowing users to focus on business logic. +* **Easy Setup**: While both make it easy to initialize a new project, Pepr comes with an out-of-the-box `hello-pepr.ts` example which demonstrates how to use Pepr effectively. + ## How does Pepr compare to Kyverno? Although Pepr and Kyverno have similarities, Pepr is very different than Kyverno. They have very different mission statements. Pepr focuses on making operators as easy as possible. Kyverno focuses on reporting, not building operators.