• Icon: Task Task
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • None
    • None
    • Future Sustainability
    • False
    • Hide

      None

      Show
      None
    • False

      When working on ROX-27789 I stumbled upon a few interesting ideas and comments about operators which deserve at least a closer look.

      • It’s easy to get the CRD generation wrong: required/optionall, nil/null, see [ahmetb-blog-crd-generation-pitfalls]
      • Top-level Ready condition, suggested by Kubernetes API conventions suggest. Other controllers and humans consume this top-level condition to understand how the objects are doing (plus you get to use kubectl cond on your objects).
      • Provide observedGeneration to let clients know which version was acted on.

      And when working on ROX-29101 I noticed a few more best practices that we currently violate (like special tags on lists). One can see them by running crd-schema-checker.

      [ahmetb-blog-controller-pitfalls] Blog: controller-pitfalls https://ahmet.im/blog/controller-pitfalls/index.html
      [ahmetb-blog-crd-generation-pitfalls] Blog: CRD Generation Pitfalls https://ahmet.im/blog/crd-generation-pitfalls

              Unassigned Unassigned
              mowsiany@redhat.com Marcin Owsiany
              ACS Install
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: