================================================================================
# contain added, removed, and unchanged resources
$ kubectl diff -f service.yaml
================================================================================

diff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-2513085857/apps.v1.Deployment.default.test /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1097005791/apps.v1.Deployment.default.test
--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-2513085857/apps.v1.Deployment.default.test    2024-11-24 22:17:35
+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1097005791/apps.v1.Deployment.default.test  2024-11-24 22:17:35
@@ -6,7 +6,7 @@
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"test"},"name":"test","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"test"}},"strategy":{},"template":{"metadata":{"labels":{"app":"test"}},"spec":{"containers":[{"image":"httpd","name":"httpd","resources":{}}]}}}}
   creationTimestamp: "2024-11-24T20:26:26Z"
-  generation: 2
+  generation: 3
   labels:
     app: test
   name: test
@@ -32,7 +32,7 @@
         app: test
     spec:
       containers:
-      - image: httpd
+      - image: httpd:latest
         imagePullPolicy: Always
         name: httpd
         resources: {}

--------------------------------------------------------------------------------

[90;3mdiff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-2513085857/apps.v1.Deployment.default.test /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1097005791/apps.v1.Deployment.default.test[0m
[90;3m--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-2513085857/apps.v1.Deployment.default.test    2024-11-24 22:17:35[0m
[90;3m+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1097005791/apps.v1.Deployment.default.test  2024-11-24 22:17:35[0m
[90;3m@@ -6,7 +6,7 @@[0m
[90;3m     kubectl.kubernetes.io/last-applied-configuration: |[0m
[90;3m       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"test"},"name":"test","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"test"}},"strategy":{},"template":{"metadata":{"labels":{"app":"test"}},"spec":{"containers":[{"image":"httpd","name":"httpd","resources":{}}]}}}}[0m
[90;3m   creationTimestamp: "2024-11-24T20:26:26Z"[0m
[31m-  generation: 2[0m
[32m+  generation: 3[0m
[90;3m   labels:[0m
[90;3m     app: test[0m
[90;3m   name: test[0m
[90;3m@@ -32,7 +32,7 @@[0m
[90;3m         app: test[0m
[90;3m     spec:[0m
[90;3m       containers:[0m
[31m-      - image: httpd[0m
[32m+      - image: httpd:latest[0m
[90;3m         imagePullPolicy: Always[0m
[90;3m         name: httpd[0m
[90;3m         resources: {}[0m

================================================================================
# contains only added lines
$ kubectl diff -f deployment.yaml
================================================================================

diff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-359469156/apps.v1.Deployment.default.add /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1017119628/apps.v1.Deployment.default.add
--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-359469156/apps.v1.Deployment.default.add      2024-11-24 22:21:44
+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1017119628/apps.v1.Deployment.default.add   2024-11-24 22:21:44
@@ -0,0 +1,41 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  creationTimestamp: "2024-11-24T21:21:44Z"
+  generation: 1
+  labels:
+    app: add
+  name: add
+  namespace: default
+  uid: 2597274a-a985-4dd8-8a23-46bdad8c0311
+spec:
+  progressDeadlineSeconds: 600
+  replicas: 3
+  revisionHistoryLimit: 10
+  selector:
+    matchLabels:
+      app: add
+  strategy:
+    rollingUpdate:
+      maxSurge: 25%
+      maxUnavailable: 25%
+    type: RollingUpdate
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        app: add
+    spec:
+      containers:
+      - image: httpd:latest
+        imagePullPolicy: Always
+        name: httpd
+        resources: {}
+        terminationMessagePath: /dev/termination-log
+        terminationMessagePolicy: File
+      dnsPolicy: ClusterFirst
+      restartPolicy: Always
+      schedulerName: default-scheduler
+      securityContext: {}
+      terminationGracePeriodSeconds: 30
+status: {}

--------------------------------------------------------------------------------

[90;3mdiff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-359469156/apps.v1.Deployment.default.add /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1017119628/apps.v1.Deployment.default.add[0m
[90;3m--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-359469156/apps.v1.Deployment.default.add      2024-11-24 22:21:44[0m
[90;3m+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1017119628/apps.v1.Deployment.default.add   2024-11-24 22:21:44[0m
[90;3m@@ -0,0 +1,41 @@[0m
[32m+apiVersion: apps/v1[0m
[32m+kind: Deployment[0m
[32m+metadata:[0m
[32m+  creationTimestamp: "2024-11-24T21:21:44Z"[0m
[32m+  generation: 1[0m
[32m+  labels:[0m
[32m+    app: add[0m
[32m+  name: add[0m
[32m+  namespace: default[0m
[32m+  uid: 2597274a-a985-4dd8-8a23-46bdad8c0311[0m
[32m+spec:[0m
[32m+  progressDeadlineSeconds: 600[0m
[32m+  replicas: 3[0m
[32m+  revisionHistoryLimit: 10[0m
[32m+  selector:[0m
[32m+    matchLabels:[0m
[32m+      app: add[0m
[32m+  strategy:[0m
[32m+    rollingUpdate:[0m
[32m+      maxSurge: 25%[0m
[32m+      maxUnavailable: 25%[0m
[32m+    type: RollingUpdate[0m
[32m+  template:[0m
[32m+    metadata:[0m
[32m+      creationTimestamp: null[0m
[32m+      labels:[0m
[32m+        app: add[0m
[32m+    spec:[0m
[32m+      containers:[0m
[32m+      - image: httpd:latest[0m
[32m+        imagePullPolicy: Always[0m
[32m+        name: httpd[0m
[32m+        resources: {}[0m
[32m+        terminationMessagePath: /dev/termination-log[0m
[32m+        terminationMessagePolicy: File[0m
[32m+      dnsPolicy: ClusterFirst[0m
[32m+      restartPolicy: Always[0m
[32m+      schedulerName: default-scheduler[0m
[32m+      securityContext: {}[0m
[32m+      terminationGracePeriodSeconds: 30[0m
[32m+status: {}[0m

================================================================================
# contains unchanged lines, which starts with `(space)-`
$ kubectl diff -f deployment.yaml
================================================================================

diff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-480322945/apps.v1.Deployment.default.test /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1809976568/apps.v1.Deployment.default.test
--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-480322945/apps.v1.Deployment.default.test     2024-11-24 21:28:39
+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1809976568/apps.v1.Deployment.default.test  2024-11-24 21:28:39
@@ -6,7 +6,7 @@
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"test"},"name":"test","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"test"}},"strategy":{},"template":{"metadata":{"labels":{"app":"test"}},"spec":{"containers":[{"env":[{"name":"MY_ENV","value":"my_value"}],"image":"httpd","name":"httpd","resources":{}}]}}}}
   creationTimestamp: "2024-11-24T20:26:26Z"
-  generation: 1
+  generation: 2
   labels:
     app: test
   name: test
@@ -34,7 +34,7 @@
       containers:
       - env:
         - name: MY_ENV
-          value: my_value
+          value: test
         image: httpd
         imagePullPolicy: Always
         name: httpd

--------------------------------------------------------------------------------

[90;3mdiff -u -N /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-480322945/apps.v1.Deployment.default.test /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1809976568/apps.v1.Deployment.default.test[0m
[90;3m--- /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/LIVE-480322945/apps.v1.Deployment.default.test     2024-11-24 21:28:39[0m
[90;3m+++ /var/folders/rn/v1vhmlnx0h94rzcdk2rwqy_r0000gn/T/MERGED-1809976568/apps.v1.Deployment.default.test  2024-11-24 21:28:39[0m
[90;3m@@ -6,7 +6,7 @@[0m
[90;3m     kubectl.kubernetes.io/last-applied-configuration: |[0m
[90;3m       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"test"},"name":"test","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"test"}},"strategy":{},"template":{"metadata":{"labels":{"app":"test"}},"spec":{"containers":[{"env":[{"name":"MY_ENV","value":"my_value"}],"image":"httpd","name":"httpd","resources":{}}]}}}}[0m
[90;3m   creationTimestamp: "2024-11-24T20:26:26Z"[0m
[31m-  generation: 1[0m
[32m+  generation: 2[0m
[90;3m   labels:[0m
[90;3m     app: test[0m
[90;3m   name: test[0m
[90;3m@@ -34,7 +34,7 @@[0m
[90;3m       containers:[0m
[90;3m       - env:[0m
[90;3m         - name: MY_ENV[0m
[31m-          value: my_value[0m
[32m+          value: test[0m
[90;3m         image: httpd[0m
[90;3m         imagePullPolicy: Always[0m
[90;3m         name: httpd[0m
