{"slug":"api-zfinia-com-x402-v1-kubernetes-manifest-diff-f86879","title":"Compare two sets of Kubernetes manifests and report what applying the second wil","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/kubernetes-manifest-diff","category":"other","description":"Compare two sets of Kubernetes manifests and report what applying the second will actually do. Objects are matched the way an apply matches them, by apiVersion, kind, namespace and name. Reports a change to a field that is immutable for that kind, where an apply fails and the object must be deleted ","price_listed":0.22,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"after":"apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: web\n  labels:\n    app: web\nspec:\n  replicas: 5\n  selector:\n    matchLabels:\n      app: web-v2\n  template:\n    metadata:\n      labels:\n        app: web\n    spec:\n      containers:\n        - name: web\n          image: ghcr.io/example/web:2.1.0\n          ports:\n            - containerPort: 8080\n          resources:\n            requests:\n              cpu: 500m\n              memory: 256M\n            limits:\n              cpu: 200m\n              memory: 512Mi\n          env:\n            - name: DATABASE_PASSWORD\n              value: hunter2\n            - name: FEATURE_FLAG\n              value: no\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: web\nspec:\n  type: LoadBalancer\n  selector:\n    app: webserver\n  ports:\n    - port: 80\n      targetPort: 9090\n","before":"apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: web\n  labels:\n    app: web\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: web\n  template:\n    metadata:\n      labels:\n        app: web\n    spec:\n      containers:\n        - name: web\n          image: ghcr.io/example/web:latest\n          ports:\n            - containerPort: 8080\n          resources:\n            requests:\n              cpu: 500m\n              memory: 256M\n            limits:\n              cpu: 200m\n              memory: 512Mi\n          env:\n            - name: DATABASE_PASSWORD\n              value: hunter2\n            - name: FEATURE_FLAG\n              value: no\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: web\nspec:\n  selector:\n    app: webserver\n  ports:\n    - port: 80\n      targetPort: 9090\n"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"after":{"maxLength":262144,"type":"string"},"before":{"maxLength":262144,"type":"string"}},"required":["before","after"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Compare two sets of Kubernetes manifests and report what applying the second will actually do. Objects are matched the way an apply matches them, by apiVersion, kind, namespace and name. Reports a change to a field that is immutable for that kind, where an apply fails and the object must be deleted and recreated; a change under the pod template, which recreates every pod; a replica change; an object that is gone, which an apply does not delete; and a change that recreates nothing.","last_updated":"2026-10-04T08:24:13.955Z","schemes":["exact"]}