                       {:watch-resource resource-name
                        :watch-response update-json}))
       ;; Drop managedFields from response objects when present (much too verbose!)
-      ;; https://github.com/kubernetes/kubernetes/issues/90066#issuecomment-626828512
-      (utils/dissoc-in update-json [:object :metadata :managedFields]))))
+      ;; https://github.com/kubernetes/kubernetes/issues/90066
+      (update update-json :object drop-managed-fields))))
 
 (defn api-request
   "Make an HTTP request to the Kubernetes API server using the configured authentication.

                          (when namespace (str "/namespaces/" namespace))
                          "/pods?labelSelector=waiter%2Fcluster=" cluster-name)
       :metadata-key :pods-metadata
       :update-fn (fn pods-watch-update [{pod :object update-type :type}]
                    (let [now (t/now)
                          pod-id (k8s-object->id pod)
                          service-id (k8s-object->service-id pod)
                          version (k8s-object->resource-version pod)

         (get-in [:state :terminated])
         (nil?))))

(defn- drop-managed-fields
  "Removes the :metadata :managedFields entry from a k8s object."
  [k8s-obj]
  (utils/dissoc-in k8s-obj [:metadata :managedFields]))

(defn streaming-api-request
  "Make a long-lived HTTP request to the Kubernetes API server using the configured authentication.
   If data is provided via :body, the application/json content type is added automatically.
