Skip to main content

What is Krateo Operator Generator (KOG)?

💡 KOG is designed to generate Kubernetes controllers from OpenAPI specifications of REST APIs for services and resources you want to control.

📚 The main goal is to automate the creation of Kubernetes operators by leveraging existing API specifications, making it easier to integrate external services with Kubernetes.

🤝 KOG adapts perfectly to both new projects and existing APIs, allowing you to quickly create Kubernetes-native interfaces for your services.

🎯 Through its generation capabilities, KOG can create both Custom Resource Definitions (CRDs) and controllers that match your API specifications, standardizing how you interact with external services through Kubernetes.

KOG consists of the following features:

  • oasgen-provider
  • rest-dynamic-controller

oasgen-provider

The 𝘰𝘢𝘴𝘨𝘦𝘯-𝘱𝘳𝘰𝘷𝘪𝘥𝘦𝘳 is the core component of Krateo Operator Generator (KOG), responsible for generating CRDs and controllers from OpenAPI Specification (OAS) 3.1 (with backward compatibility for 3.0).

📌 The component assumes that your services expose REST APIs documented with OpenAPI Specification as the standard for defining your service interfaces.

📈 OpenAPI Specification is the most widely used standard for documenting REST APIs.

☝ It's important to note that oasgen-provider not only generates the Kubernetes resources but also manages their lifecycle through the rest-dynamic-controller.

⚡️ The 𝘰𝘢𝘴𝘨𝘦𝘯-𝘱𝘳𝘰𝘷𝘪𝘥𝘦𝘳 analyzes your OpenAPI specification to:

  • Generate Custom Resource Definitions (CRDs) that match your API schema
  • Create controllers that handle the lifecycle of these resources
  • Establish proper validation rules based on your API specification
  • Set up the necessary reconciliation logic

Check the detailed README

rest-dynamic-controller

The second component of Krateo Operator Generator (KOG) is the 𝘳𝘦𝘴𝘵-𝘥𝘺𝘯𝘢𝘮𝘪𝘤-𝘤𝘰𝘯𝘵𝘳𝘰𝘭𝘭𝘦𝘳, which manages the resources generated by the oasgen-provider.

🔧 Key Features:

  • Resource Management: Automatically creates Kubernetes Custom Resource Definitions that match your OpenAPI specifications

  • Automated Workflow: Reduces manual coding and accelerates operator development

  • Easy Maintenance: Updates to your API automatically reflect in your Kubernetes operators

  • Resource Management: Enables full CRUD operations on your custom resources within Kubernetes

Check the detailed README.

For more details about KOG and to get started, visit our GitHub repositories: