github operator-framework/operator-sdk v0.18.0


  • The Ansible operator now includes a healthz endpoint and liveness probe. All operators will now have a running healthz endpoint (not publicly exposed) without changes. (#2936)
  • Adds the ability for Helm operators to properly watch and reconcile when cluster-scoped release resources are changed. (#2987)
  • The CSV generator adds admission webhook config manifests present in --deploy-dir to new and existing CSV manifests. (#2729)
  • Add 'run packagemanifests' subcommand, which has the same functionality of the deprecated 'run --olm' mode. (#3016)
  • 'bundle generate' generates bundles for current project layouts; this has the same behavior as 'generate csv --make-manifests=true'. (#3088)
  • Set a default channel to the channel supplied to 'bundle create --channels=' if exactly one channel is set. (#3124)
  • Add '--kubeconfig' flag to ' packagemanifests'. (#3067)
  • Add support for additional API creation for Anisble/Helm based operators. (#2703)
  • Add flag --interactive to the command operator-sdk generate csv in order to enable working with interactive prompts while generating CSV. (#2891)
  • Add new hidden alpha flag --output to print the result of operator-sdk bundle validate in JSON format to stdout. Logs are printed to stderr. (#3011)
  • Add 'run local' subcommand, which has the same functionality of the deprecated 'run --local' mode. (#3067)
  • Add scorecard-test image push targets into Makefile. (#3107)


  • In Helm-based operators, reconcile logic now uses three-way strategic merge patches for native kubernetes objects so that array patch strategies are correctly honored and applied. (#2869)
  • 'bundle validate' will print errors and warnings from validation. (#3083)
  • Breaking change: Set bundle dir permissions to 0755 so they can be read by in-cluster tooling. (#3129)
  • Breaking change: Changed the default CRD version from to for commands that create or generate CRDs. (#2874)
  • Changed default API version for new Helm-based operators to helm.operator-sdk/v1alpha1. The domain is reserved, so CRDs should not use it without explicit appproval. See the API Review Process for details. (#2859)
  • Breaking change: Updated Kubernetes dependencies to v1.18.2. (#2918)
  • Breaking change: Updated controller-runtime to v0.6.0. (#2918)
  • Updated controller-tools to v0.3.0. (#2918)
  • Updated helm to v3.2.0. (#2918)


  • Breaking change: The inotify-tools as a dependency of Ansible based-operator images which was deprecated and it will no longer scaffold the /bin/ao-logs which was using it to print the Ansible logs in the side-car since the side-car ansible container was removed in the previous versions. (#2852)
  • Breaking change: Removed automatic migration of helm releases from v2 to v3. (#2918)
  • Breaking change: Removed support for deprecated helm release naming scheme. (#2918)


  • Deprecate 'run --olm' mode. Use 'run packagemanifests' instead. (#3016)
  • Deprecate '--kubeconfig' flag on the 'cleanup' subcommand. Use 'run packagemanifests' instead. (#3067)
  • Deprecate 'run --local' mode. Use 'run local' instead. (#3067)

Bug Fixes

  • The Ansible Operator proxy will now return a 500 if it cannot determine whether a resource is virtual or not, instead of continuing on and skipping the cache. This will prevent resources that should have ownerReferences injected from being created without them, which would leave the user in a state that cannot be recovered without manual intervention. (#3112)
  • The Ansible Operator proxy no longer will attempt to cache non-status subresource requests. This will fix the issue where attempting to get Pod logs returns the API Pod resource instead of the log contents. (#3103)
  • Fix issue faced when the healthz endpoint is successfully called. (#3102)
latest releases: v1.5.2, v1.6.1, v1.6.0...
10 months ago