What's New in Operator Framework?

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