---
title: What's New in Operator Framework?
weight: 3
tags:
  - platform
  - operator
  - scaling
---

<!-- {{% button href="https://youtu.be/VhloarnpxVo" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->

By the nice operator framework guys at IBM and Red Hat.
I'll skip the baseline introduction of what an operator is.

## Operator DSK

> Build the operator

* Kubebuilder with v4 Plugins -> Supports the latest Kubernetes
* Java Operator SDK is not a part of Operator SDK, and they released 5.0.0
  * Now with server side apply in the background
  * Better status updates and finalizer handling
  * Dependent resource handling (alongside optional dependent resources)

## Operator Lifecycle Manager

> Manage the operator -> A operator for installing operators

### OLM v1 APIs

* New API Set -> The old CRDs were overwhelming
* More GitOps friendly with per-tenant support
* Prescribes update paths (maybe upgrade)
* Support for operator bundles as k8s manifests/helm chart

### OLM v1 Components

* Cluster Extension (User-Facing API)
  * Defines the app you want to install
  * Resolves requirements through CatalogD/depply
* CatalogD (Catalog Server/Operator)
* Depply (Dependency/Constraint solver)
* Applier (Rukoak/kapp compatible)

```mermaid
flowchart TD
    uapi(User facing api)-->|Can I find this operator|catalaogd
    catalogd-->|Check if all dependencies are checked|depply
    depply-->|Please install|kapp
```

```mermaid
flowchart LR
    oa(operator author)-->ba(Bundle and att to catalog)
    ba-->catalogd(Catalogd Handle unpackling)

    user-->ufa(User facing api)
    ufa-->|Resolve package|catalogd
    ufa-->|Create app on cluster|appcr(App CR / kapps)
```
