Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package linkerd-cli-edge for 
openSUSE:Factory checked in at 2025-12-11 18:40:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linkerd-cli-edge (Old)
 and      /work/SRC/openSUSE:Factory/.linkerd-cli-edge.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "linkerd-cli-edge"

Thu Dec 11 18:40:25 2025 rev:60 rq:1322147 version:25.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/linkerd-cli-edge/linkerd-cli-edge.changes        
2025-12-05 16:58:38.645466947 +0100
+++ 
/work/SRC/openSUSE:Factory/.linkerd-cli-edge.new.1939/linkerd-cli-edge.changes  
    2025-12-11 18:43:13.126205928 +0100
@@ -1,0 +2,20 @@
+Thu Dec 11 07:55:00 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- Update to version 25.12.2:
+  CLI-related changes in the changelog
+  * fix(cli): improved support for native sidecar servers in
+    `linkerd check --proxy` (#14779)
+  * fix(cli): improved support for native sidecar servers in
+    `linkerd authz` (#14780)
+  Dependencies
+  * build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2
+    (#14795)
+  * build(deps): bump DavidAnson/markdownlint-cli2-action from
+    21.0.0 to 22.0.0 (#14794)
+  * build(deps): bump github.com/go-openapi/spec from 0.22.1 to
+    0.22.2 (#14789)
+  * build(deps): bump golang.org/x/tools from 0.39.0 to 0.40.0
+    (#14790)
+  * build(deps): bump syn from 2.0.110 to 2.0.111 (#14783)
+
+-------------------------------------------------------------------

Old:
----
  linkerd-cli-edge-25.12.1.obscpio

New:
----
  linkerd-cli-edge-25.12.2.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ linkerd-cli-edge.spec ++++++
--- /var/tmp/diff_new_pack.dj4klL/_old  2025-12-11 18:43:14.102246937 +0100
+++ /var/tmp/diff_new_pack.dj4klL/_new  2025-12-11 18:43:14.102246937 +0100
@@ -19,7 +19,7 @@
 %define linkerd_executable_name linkerd
 
 Name:           linkerd-cli-edge
-Version:        25.12.1
+Version:        25.12.2
 Release:        0
 Summary:        CLI for the linkerd service mesh for Kubernetes
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.dj4klL/_old  2025-12-11 18:43:14.138248449 +0100
+++ /var/tmp/diff_new_pack.dj4klL/_new  2025-12-11 18:43:14.142248618 +0100
@@ -3,8 +3,8 @@
     <param name="url">https://github.com/linkerd/linkerd2</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">edge-25.12.1</param>
-    <param name="match-tag">edge-25.12.1</param>
+    <param name="revision">edge-25.12.2</param>
+    <param name="match-tag">edge-25.12.2</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">edge-(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.dj4klL/_old  2025-12-11 18:43:14.162249458 +0100
+++ /var/tmp/diff_new_pack.dj4klL/_new  2025-12-11 18:43:14.166249626 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/linkerd/linkerd2</param>
-              <param 
name="changesrevision">7a1a06cb8d9137eb29233a77304edd34892c9a43</param></service></servicedata>
+              <param 
name="changesrevision">468ce74aa236f3576d6502dc3d27f63d03f85d63</param></service></servicedata>
 (No newline at EOF)
 

++++++ linkerd-cli-edge-25.12.1.obscpio -> linkerd-cli-edge-25.12.2.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/.proxy-version 
new/linkerd-cli-edge-25.12.2/.proxy-version
--- old/linkerd-cli-edge-25.12.1/.proxy-version 2025-12-04 22:06:54.000000000 
+0100
+++ new/linkerd-cli-edge-25.12.2/.proxy-version 2025-12-10 18:13:21.000000000 
+0100
@@ -1 +1 @@
-v2.332.0
+v2.333.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/CHANGES.md 
new/linkerd-cli-edge-25.12.2/CHANGES.md
--- old/linkerd-cli-edge-25.12.1/CHANGES.md     2025-12-04 22:06:54.000000000 
+0100
+++ new/linkerd-cli-edge-25.12.2/CHANGES.md     2025-12-10 18:13:21.000000000 
+0100
@@ -2441,7 +2441,8 @@
 specifically for this use case and are rotated daily, replacing the usage of 
the
 default tokens injected by Kubernetes which are overly permissive.
 
-Note that this edge release updates the minimum supported kubernetes version 
to 1.20.
+Note that this edge release updates the minimum supported kubernetes version to
+1.20.
 
 * Updated the minimum supported kubernetes version to 1.20
 * Use Service Account Token Volume Projections to set up the pods' identities;
@@ -2787,9 +2788,9 @@
 ## edge-21.8.3
 
 This release adds support for dynamic inbound policies. The proxy now discovers
-policies from the policy-controller API for all application ports documented 
in a
-pod spec. Rejected connections are logged. Policies are not yet reflected in 
the
-proxy's metrics.
+policies from the policy-controller API for all application ports documented in
+a pod spec. Rejected connections are logged. Policies are not yet reflected in
+the proxy's metrics.
 
 These policies also allow the proxy to skip protocol detection when a server is
 explicitly annotated as HTTP/2 or when the server is documented to be opaque or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/Cargo.lock 
new/linkerd-cli-edge-25.12.2/Cargo.lock
--- old/linkerd-cli-edge-25.12.1/Cargo.lock     2025-12-04 22:06:54.000000000 
+0100
+++ new/linkerd-cli-edge-25.12.2/Cargo.lock     2025-12-10 18:13:21.000000000 
+0100
@@ -2380,9 +2380,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.110"
+version = "2.0.111"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea"
+checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
 dependencies = [
  "proc-macro2",
  "quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/TEST.md 
new/linkerd-cli-edge-25.12.2/TEST.md
--- old/linkerd-cli-edge-25.12.1/TEST.md        2025-12-04 22:06:54.000000000 
+0100
+++ new/linkerd-cli-edge-25.12.2/TEST.md        2025-12-10 18:13:21.000000000 
+0100
@@ -192,8 +192,8 @@
 ```
 
 **Note**: As stated above, if running tests in an existing KinD cluster by
-passing `--skip-cluster-create`, `bin/kind-load` must be run so that the 
images are
-available to the cluster
+passing `--skip-cluster-create`, `bin/kind-load` must be run so that the images
+are available to the cluster
 
 #### Special tests: cluster-domain, cni-calico-deep and multicluster
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/api/destination/watcher/k8s.go 
new/linkerd-cli-edge-25.12.2/controller/api/destination/watcher/k8s.go
--- old/linkerd-cli-edge-25.12.1/controller/api/destination/watcher/k8s.go      
2025-12-04 22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/controller/api/destination/watcher/k8s.go      
2025-12-10 18:13:21.000000000 +0100
@@ -145,7 +145,7 @@
                // each of its containers' ports that exposes a host port, add
                // that hostIP:hostPort endpoint to the indexer.
                addrs := []string{}
-               for _, c := range pod.Spec.Containers {
+               for _, c := range append(pod.Spec.InitContainers, 
pod.Spec.Containers...) {
                        for _, p := range c.Ports {
                                if p.HostPort == 0 {
                                        continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/api/destination/watcher/workload_watcher_test.go
 
new/linkerd-cli-edge-25.12.2/controller/api/destination/watcher/workload_watcher_test.go
--- 
old/linkerd-cli-edge-25.12.1/controller/api/destination/watcher/workload_watcher_test.go
    2025-12-04 22:06:54.000000000 +0100
+++ 
new/linkerd-cli-edge-25.12.2/controller/api/destination/watcher/workload_watcher_test.go
    2025-12-10 18:13:21.000000000 +0100
@@ -11,6 +11,7 @@
 func TestIpWatcherGetPod(t *testing.T) {
        podIP := "10.255.0.1"
        hostIP := "172.0.0.1"
+       var hostPort0 uint32 = 22344
        var hostPort1 uint32 = 22345
        var hostPort2 uint32 = 22346
        expectedPodName := "hostPortPod1"
@@ -21,9 +22,16 @@
   name: hostPortPod1
   namespace: ns
 spec:
+  initContainers:
+  - image: test
+    name: hostPortInitContainer
+    ports:
+    - containerPort: 12344
+      hostPort: 22344
   containers:
   - image: test
     name: hostPortContainer1
+    restartPolicy: Always
     ports:
     - containerPort: 12345
       hostIP: 172.0.0.1
@@ -67,8 +75,20 @@
                        }),
                }
 
+               // Get host IP pod that is mapped to the port `hostPort0` (in 
an init container)
+               pod, err := ww.getPodByHostIP(hostIP, hostPort0)
+               if err != nil {
+                       t.Fatalf("failed to get pod: %s", err)
+               }
+               if pod == nil {
+                       t.Fatalf("failed to find pod mapped to %s:%d", hostIP, 
hostPort1)
+               }
+               if pod.Name != expectedPodName {
+                       t.Fatalf("expected pod name to be %s, but got %s", 
expectedPodName, pod.Name)
+               }
+
                // Get host IP pod that is mapped to the port `hostPort1`
-               pod, err := ww.getPodByHostIP(hostIP, hostPort1)
+               pod, err = ww.getPodByHostIP(hostIP, hostPort1)
                if err != nil {
                        t.Fatalf("failed to get pod: %s", err)
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/filter-pod-opaque-ports.yaml
 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/filter-pod-opaque-ports.yaml
--- 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/filter-pod-opaque-ports.yaml
       2025-12-04 22:06:54.000000000 +0100
+++ 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/filter-pod-opaque-ports.yaml
       2025-12-10 18:13:21.000000000 +0100
@@ -5,6 +5,12 @@
   labels:
     app: test
 spec:
+  initContainers:
+  - name: memcached
+    image: memcached
+    restartPolicy: Always
+    ports:
+    - containerPort: 11211
   containers:
   - name: foo
     image: mysql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/filtered-pod-opaque-ports.json
 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/filtered-pod-opaque-ports.json
--- 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/filtered-pod-opaque-ports.json
     2025-12-04 22:06:54.000000000 +0100
+++ 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/filtered-pod-opaque-ports.json
     2025-12-10 18:13:21.000000000 +0100
@@ -7,6 +7,6 @@
     {
         "op": "add",
         "path": "/metadata/annotations/config.linkerd.io~1opaque-ports",
-        "value": "3306"
+        "value": "11211,3306"
     }
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/pod-nativesidecar-inject-enabled.yaml
 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/pod-nativesidecar-inject-enabled.yaml
--- 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/pod-nativesidecar-inject-enabled.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/pod-nativesidecar-inject-enabled.yaml
      2025-12-10 18:13:21.000000000 +0100
@@ -0,0 +1,28 @@
+kind: Pod
+apiVersion: apps/v1
+metadata:
+  name: nginx
+  namespace: kube-public
+  annotations:
+    linkerd.io/inject: enabled
+    config.linkerd.io/opaque-ports: memcached
+  labels:
+    app: nginx
+spec:
+  initContainers:
+  - name: memcached
+    image: memcached
+    restartPolicy: Always
+    ports:
+    - containerPort: 11211
+      name: memcached
+  containers:
+  - name: nginx
+    image: nginx
+    ports:
+    - name: http
+      containerPort: 80
+    readinessProbe:
+      httpGet:
+        path: /metrics
+        port: 9090
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/pod.nativesidecar.patch.json
 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/pod.nativesidecar.patch.json
--- 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/fake/data/pod.nativesidecar.patch.json
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/fake/data/pod.nativesidecar.patch.json
       2025-12-10 18:13:21.000000000 +0100
@@ -0,0 +1,438 @@
+[
+  {
+    "op": "add",
+    "path": "/metadata/annotations/linkerd.io~1proxy-version",
+    "value": "dev-undefined"
+  },
+  {
+    "op": "add",
+    "path": "/metadata/annotations/linkerd.io~1trust-root-sha256",
+    "value": "5090806bcf2daff5d54739ba02a8e7b919f7e62b2a46757e11089c916ec97fc2"
+  },
+  {
+    "op": "add",
+    "path": "/metadata/labels/linkerd.io~1control-plane-ns",
+    "value": "linkerd"
+  },
+  {
+    "op": "add",
+    "path": "/metadata/labels/linkerd.io~1proxy-deployment",
+    "value": "owner-deployment"
+  },
+  {
+    "op": "add",
+    "path": "/metadata/labels/linkerd.io~1workload-ns",
+    "value": "kube-public"
+  },
+  {
+    "op": "add",
+    "path": "/spec/volumes",
+    "value": []
+  },
+  {
+    "op": "add",
+    "path": "/spec/volumes/-",
+    "value": {
+      "emptyDir": {},
+      "name": "linkerd-proxy-init-xtables-lock"
+    }
+  },
+  {
+    "op": "add",
+    "path": "/spec/initContainers/-",
+    "value":
+      {
+        "args": [
+          "--firewall-bin-path",
+          "iptables-nft",
+          "--firewall-save-bin-path",
+          "iptables-nft-save",
+          "--ipv6=false",
+          "--incoming-proxy-port",
+          "4143",
+          "--outgoing-proxy-port",
+          "4140",
+          "--proxy-uid",
+          "2102",
+          "--inbound-ports-to-ignore",
+          "4190,4191,4567,4568",
+          "--outbound-ports-to-ignore",
+          "4567,4568"
+        ],
+        "command": [
+          "/usr/lib/linkerd/linkerd2-proxy-init"
+        ],
+        "image": "cr.l5d.io/linkerd/proxy:dev-undefined",
+        "imagePullPolicy": "IfNotPresent",
+        "name": "linkerd-init",
+        "resources": null,
+        "securityContext": {
+          "allowPrivilegeEscalation": false,
+          "capabilities": {
+            "add": [
+              "NET_ADMIN",
+              "NET_RAW"
+            ]
+          },
+          "privileged": false,
+          "readOnlyRootFilesystem": true,
+          "runAsGroup": 65534,
+          "runAsNonRoot": true,
+          "runAsUser": 65534,
+          "seccompProfile": {
+            "type": "RuntimeDefault"
+          }
+        },
+        "terminationMessagePolicy": "FallbackToLogsOnError",
+        "volumeMounts": [
+          {
+            "mountPath": "/run",
+            "name": "linkerd-proxy-init-xtables-lock"
+          }
+        ]
+      }
+  },
+  {
+    "op": "add",
+    "path": "/spec/volumes/-",
+    "value": {
+      "name": "linkerd-identity-end-entity",
+      "emptyDir": {
+        "medium": "Memory"
+      }
+    }
+  },
+  {
+    "op": "add",
+    "path": "/spec/volumes/-",
+    "value":
+      {
+        "name": "linkerd-identity-token",
+        "projected": {
+          "sources": [
+            {
+              "serviceAccountToken": {
+                "audience": "identity.l5d.io",
+                "expirationSeconds": 86400,
+                "path": "linkerd-identity-token"
+              }
+            }
+          ]
+        }
+      }
+  },
+  {
+    "op": "add",
+    "path": "/spec/containers/0",
+    "value":
+      {
+        "env": [
+          {
+            "name": "_pod_name",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "metadata.name"
+              }
+            }
+          },
+          {
+            "name": "_pod_ns",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "metadata.namespace"
+              }
+            }
+          },
+          {
+            "name": "_pod_uid",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "metadata.uid"
+              }
+            }
+          },
+          {
+            "name": "_pod_ip",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "status.podIP"
+              }
+            }
+          },
+          {
+            "name": "_pod_nodeName",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "spec.nodeName"
+              }
+            }
+          },
+          {
+            "name": "_pod_containerName",
+            "value": "linkerd-proxy"
+          },
+          {
+            "name": "LINKERD2_PROXY_CORES",
+            "value": "1"
+          },
+          {
+            "name": "LINKERD2_PROXY_CORES_MIN",
+            "value": "1"
+          },
+          {
+            "name": "LINKERD2_PROXY_SHUTDOWN_ENDPOINT_ENABLED",
+            "value": "false"
+          },
+          {
+            "name": "LINKERD2_PROXY_LOG",
+            "value": 
"warn,linkerd=info,hickory=error,[{headers}]=off,[{request}]=off"
+          },
+          {
+            "name": "LINKERD2_PROXY_LOG_FORMAT",
+            "value": "plain"
+          },
+          {
+            "name": "LINKERD2_PROXY_DESTINATION_SVC_ADDR",
+            "value": "linkerd-dst-headless.linkerd.svc.cluster.local.:8086"
+          },
+          {
+            "name": "LINKERD2_PROXY_DESTINATION_PROFILE_NETWORKS",
+            "value": 
"10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16,fd00::/8"
+          },
+          {
+            "name": "LINKERD2_PROXY_POLICY_SVC_ADDR",
+            "value": "linkerd-policy.linkerd.svc.cluster.local.:8090"
+          },
+          {
+            "name": "LINKERD2_PROXY_POLICY_WORKLOAD",
+            "value": "{\"ns\":\"$(_pod_ns)\", \"pod\":\"$(_pod_name)\"}\n"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_DEFAULT_POLICY",
+            "value": "all-unauthenticated"
+          },
+          {
+            "name": "LINKERD2_PROXY_POLICY_CLUSTER_NETWORKS",
+            "value": 
"10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16,fd00::/8"
+          },
+          {
+            "name": "LINKERD2_PROXY_CONTROL_STREAM_INITIAL_TIMEOUT",
+            "value": "3s"
+          },
+          {
+            "name": "LINKERD2_PROXY_CONTROL_STREAM_IDLE_TIMEOUT",
+            "value": "5m"
+          },
+          {
+            "name": "LINKERD2_PROXY_CONTROL_STREAM_LIFETIME",
+            "value": "1h"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_CONNECT_TIMEOUT",
+            "value": "100ms"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_CONNECT_TIMEOUT",
+            "value": "1000ms"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_DISCOVERY_IDLE_TIMEOUT",
+            "value": "5s"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_DISCOVERY_IDLE_TIMEOUT",
+            "value": "90s"
+          },
+          {
+            "name": "LINKERD2_PROXY_CONTROL_LISTEN_ADDR",
+            "value": "0.0.0.0:4190"
+          },
+          {
+            "name": "LINKERD2_PROXY_ADMIN_LISTEN_ADDR",
+            "value": "0.0.0.0:4191"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_LISTEN_ADDR",
+            "value": "127.0.0.1:4140"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_LISTEN_ADDRS",
+            "value": "127.0.0.1:4140"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_LISTEN_ADDR",
+            "value": "0.0.0.0:4143"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_IPS",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "status.podIPs"
+              }
+            }
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_PORTS",
+            "value": "11211,80,9090"
+          },
+          {
+            "name": "LINKERD2_PROXY_DESTINATION_PROFILE_SUFFIXES",
+            "value": "svc.cluster.local."
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_ACCEPT_KEEPALIVE",
+            "value": "10000ms"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_CONNECT_KEEPALIVE",
+            "value": "10000ms"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_ACCEPT_USER_TIMEOUT",
+            "value": "30s"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_CONNECT_USER_TIMEOUT",
+            "value": "30s"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_METRICS_HOSTNAME_LABELS",
+            "value": "false"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_SERVER_HTTP2_KEEP_ALIVE_INTERVAL",
+            "value": "10s"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_SERVER_HTTP2_KEEP_ALIVE_TIMEOUT",
+            "value": "3s"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_SERVER_HTTP2_KEEP_ALIVE_INTERVAL",
+            "value": "10s"
+          },
+          {
+            "name": "LINKERD2_PROXY_OUTBOUND_SERVER_HTTP2_KEEP_ALIVE_TIMEOUT",
+            "value": "3s"
+          },
+          {
+            "name": "LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION",
+            "value": "11211"
+          },
+          {
+            "name": "LINKERD2_PROXY_DESTINATION_CONTEXT",
+            "value": "{\"ns\":\"$(_pod_ns)\", 
\"nodeName\":\"$(_pod_nodeName)\", \"pod\":\"$(_pod_name)\"}\n"
+          },
+          {
+            "name": "_pod_sa",
+            "valueFrom": {
+              "fieldRef": {
+                "fieldPath": "spec.serviceAccountName"
+              }
+            }
+          },
+          {
+            "name": "_l5d_ns",
+            "value": "linkerd"
+          },
+          {
+            "name": "_l5d_trustdomain",
+            "value": "cluster.local"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_DIR",
+            "value": "/var/run/linkerd/identity/end-entity"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_TRUST_ANCHORS",
+            "value": "IdentityTrustAnchorsPEM\n"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_TOKEN_FILE",
+            "value": "/var/run/secrets/tokens/linkerd-identity-token"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_SVC_ADDR",
+            "value": 
"linkerd-identity-headless.linkerd.svc.cluster.local.:8080"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_LOCAL_NAME",
+            "value": 
"$(_pod_sa).$(_pod_ns).serviceaccount.identity.linkerd.cluster.local"
+          },
+          {
+            "name": "LINKERD2_PROXY_IDENTITY_SVC_NAME",
+            "value": 
"linkerd-identity.linkerd.serviceaccount.identity.linkerd.cluster.local"
+          },
+          {
+            "name": "LINKERD2_PROXY_DESTINATION_SVC_NAME",
+            "value": 
"linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local"
+          },
+          {
+            "name": "LINKERD2_PROXY_POLICY_SVC_NAME",
+            "value": 
"linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local"
+          }
+        ],
+        "image": "cr.l5d.io/linkerd/proxy:dev-undefined",
+        "imagePullPolicy": "IfNotPresent",
+        "lifecycle": {
+          "postStart": {
+            "exec": {
+              "command": [
+                "/usr/lib/linkerd/linkerd-await",
+                "--timeout=2m",
+                "--port=4191"
+              ]
+            }
+          }
+        },
+        "livenessProbe": {
+          "httpGet": {
+            "path": "/live",
+            "port": 4191
+          },
+          "initialDelaySeconds": 10,
+          "timeoutSeconds": 1
+        },
+        "name": "linkerd-proxy",
+        "ports": [
+          {
+            "containerPort": 4143,
+            "name": "linkerd-proxy"
+          },
+          {
+            "containerPort": 4191,
+            "name": "linkerd-admin"
+          }
+        ],
+        "readinessProbe": {
+          "httpGet": {
+            "path": "/ready",
+            "port": 4191
+          },
+          "initialDelaySeconds": 2,
+          "timeoutSeconds": 1
+        },
+        "resources": null,
+        "securityContext": {
+          "allowPrivilegeEscalation": false,
+          "readOnlyRootFilesystem": true,
+          "runAsNonRoot": true,
+          "runAsUser": 2102,
+          "seccompProfile": {
+            "type": "RuntimeDefault"
+          }
+        },
+        "terminationMessagePolicy": "FallbackToLogsOnError",
+        "volumeMounts": [
+          {
+            "mountPath": "/var/run/linkerd/identity/end-entity",
+            "name": "linkerd-identity-end-entity"
+          },
+          {
+            "mountPath": "/var/run/secrets/tokens",
+            "name": "linkerd-identity-token"
+          }
+        ]
+      }
+  }
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/controller/proxy-injector/webhook_test.go 
new/linkerd-cli-edge-25.12.2/controller/proxy-injector/webhook_test.go
--- old/linkerd-cli-edge-25.12.1/controller/proxy-injector/webhook_test.go      
2025-12-04 22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/controller/proxy-injector/webhook_test.go      
2025-12-10 18:13:21.000000000 +0100
@@ -263,6 +263,28 @@
                        t.Errorf("Expected empty patch")
                }
        })
+
+       t.Run("by injecting pod already having a native sidecar container", 
func(t *testing.T) {
+               pod := fileContents(factory, t, 
"pod-nativesidecar-inject-enabled.yaml")
+               fakeReq := getFakePodReq(pod)
+               fullConf := confNsDisabled().
+                       WithKind(fakeReq.Kind.Kind).
+                       WithOwnerRetriever(ownerRetrieverFake)
+               _, err = fullConf.ParseMetaAndYAML(fakeReq.Object.Raw)
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               patchJSON, err := fullConf.GetPodPatch(true, 
inject.GetOverriddenValues)
+               if err != nil {
+                       t.Fatalf("Unexpected PatchForAdmissionRequest error: 
%s", err)
+               }
+               actualPatch := unmarshalPatch(t, patchJSON)
+               _, expectedPatch := loadPatch(factory, t, 
"pod.nativesidecar.patch.json")
+               if diff := deep.Equal(expectedPatch, actualPatch); diff != nil {
+                       t.Fatalf("The actual patch didn't match what was 
expected.\n%+v", diff)
+               }
+       })
 }
 
 func TestGetAnnotationPatch(t *testing.T) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/go.mod 
new/linkerd-cli-edge-25.12.2/go.mod
--- old/linkerd-cli-edge-25.12.1/go.mod 2025-12-04 22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/go.mod 2025-12-10 18:13:21.000000000 +0100
@@ -13,7 +13,7 @@
        github.com/evanphx/json-patch v5.9.11+incompatible
        github.com/fatih/color v1.18.0
        github.com/fsnotify/fsnotify v1.9.0
-       github.com/go-openapi/spec v0.22.1
+       github.com/go-openapi/spec v0.22.2
        github.com/go-test/deep v1.1.1
        github.com/golang/protobuf v1.5.4
        github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674
@@ -35,7 +35,7 @@
        github.com/spf13/cobra v1.10.2
        github.com/spf13/pflag v1.0.10
        go.opencensus.io v0.24.0
-       golang.org/x/tools v0.39.0
+       golang.org/x/tools v0.40.0
        google.golang.org/grpc v1.77.0
        google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.6.0
        google.golang.org/protobuf v1.36.10
@@ -56,7 +56,7 @@
 
 require (
        github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
-       golang.org/x/net v0.47.0 // indirect
+       golang.org/x/net v0.48.0 // indirect
 )
 
 require (
@@ -84,16 +84,16 @@
        github.com/fxamacker/cbor/v2 v2.9.0 // indirect
        github.com/go-errors/errors v1.4.2 // indirect
        github.com/go-logr/logr v1.4.3 // indirect
-       github.com/go-openapi/jsonpointer v0.22.1 // indirect
-       github.com/go-openapi/jsonreference v0.21.3 // indirect
+       github.com/go-openapi/jsonpointer v0.22.4 // indirect
+       github.com/go-openapi/jsonreference v0.21.4 // indirect
        github.com/go-openapi/swag v0.23.0 // indirect
-       github.com/go-openapi/swag/conv v0.25.1 // indirect
-       github.com/go-openapi/swag/jsonname v0.25.1 // indirect
-       github.com/go-openapi/swag/jsonutils v0.25.1 // indirect
-       github.com/go-openapi/swag/loading v0.25.1 // indirect
-       github.com/go-openapi/swag/stringutils v0.25.1 // indirect
-       github.com/go-openapi/swag/typeutils v0.25.1 // indirect
-       github.com/go-openapi/swag/yamlutils v0.25.1 // indirect
+       github.com/go-openapi/swag/conv v0.25.4 // indirect
+       github.com/go-openapi/swag/jsonname v0.25.4 // indirect
+       github.com/go-openapi/swag/jsonutils v0.25.4 // indirect
+       github.com/go-openapi/swag/loading v0.25.4 // indirect
+       github.com/go-openapi/swag/stringutils v0.25.4 // indirect
+       github.com/go-openapi/swag/typeutils v0.25.4 // indirect
+       github.com/go-openapi/swag/yamlutils v0.25.4 // indirect
        github.com/gobwas/glob v0.2.3 // indirect
        github.com/gogo/protobuf v1.3.2 // indirect
        github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // 
indirect
@@ -142,14 +142,14 @@
        go.opentelemetry.io/otel/trace v1.38.0 // indirect
        go.yaml.in/yaml/v2 v2.4.3 // indirect
        go.yaml.in/yaml/v3 v3.0.4 // indirect
-       golang.org/x/crypto v0.45.0 // indirect
-       golang.org/x/mod v0.30.0 // indirect
+       golang.org/x/crypto v0.46.0 // indirect
+       golang.org/x/mod v0.31.0 // indirect
        golang.org/x/oauth2 v0.32.0 // indirect
-       golang.org/x/sync v0.18.0 // indirect
-       golang.org/x/sys v0.38.0 // indirect
-       golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54 // indirect
-       golang.org/x/term v0.37.0 // indirect
-       golang.org/x/text v0.31.0 // indirect
+       golang.org/x/sync v0.19.0 // indirect
+       golang.org/x/sys v0.39.0 // indirect
+       golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc // indirect
+       golang.org/x/term v0.38.0 // indirect
+       golang.org/x/text v0.32.0 // indirect
        golang.org/x/time v0.12.0 // indirect
        golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated // 
indirect
        golang.org/x/tools/godoc v0.1.0-deprecated // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/go.sum 
new/linkerd-cli-edge-25.12.2/go.sum
--- old/linkerd-cli-edge-25.12.1/go.sum 2025-12-04 22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/go.sum 2025-12-10 18:13:21.000000000 +0100
@@ -140,30 +140,32 @@
 github.com/go-logr/logr v1.4.3/go.mod 
h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod 
h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
-github.com/go-openapi/jsonpointer v0.22.1 
h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk=
-github.com/go-openapi/jsonpointer v0.22.1/go.mod 
h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM=
-github.com/go-openapi/jsonreference v0.21.3 
h1:96Dn+MRPa0nYAR8DR1E03SblB5FJvh7W6krPI0Z7qMc=
-github.com/go-openapi/jsonreference v0.21.3/go.mod 
h1:RqkUP0MrLf37HqxZxrIAtTWW4ZJIK1VzduhXYBEeGc4=
-github.com/go-openapi/spec v0.22.1 
h1:beZMa5AVQzRspNjvhe5aG1/XyBSMeX1eEOs7dMoXh/k=
-github.com/go-openapi/spec v0.22.1/go.mod 
h1:c7aeIQT175dVowfp7FeCvXXnjN/MrpaONStibD2WtDA=
+github.com/go-openapi/jsonpointer v0.22.4 
h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4=
+github.com/go-openapi/jsonpointer v0.22.4/go.mod 
h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80=
+github.com/go-openapi/jsonreference v0.21.4 
h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8=
+github.com/go-openapi/jsonreference v0.21.4/go.mod 
h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4=
+github.com/go-openapi/spec v0.22.2 
h1:KEU4Fb+Lp1qg0V4MxrSCPv403ZjBl8Lx1a83gIPU8Qc=
+github.com/go-openapi/spec v0.22.2/go.mod 
h1:iIImLODL2loCh3Vnox8TY2YWYJZjMAKYyLH2Mu8lOZs=
 github.com/go-openapi/swag v0.23.0 
h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
 github.com/go-openapi/swag v0.23.0/go.mod 
h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
-github.com/go-openapi/swag/conv v0.25.1 
h1:+9o8YUg6QuqqBM5X6rYL/p1dpWeZRhoIt9x7CCP+he0=
-github.com/go-openapi/swag/conv v0.25.1/go.mod 
h1:Z1mFEGPfyIKPu0806khI3zF+/EUXde+fdeksUl2NiDs=
-github.com/go-openapi/swag/jsonname v0.25.1 
h1:Sgx+qbwa4ej6AomWC6pEfXrA6uP2RkaNjA9BR8a1RJU=
-github.com/go-openapi/swag/jsonname v0.25.1/go.mod 
h1:71Tekow6UOLBD3wS7XhdT98g5J5GR13NOTQ9/6Q11Zo=
-github.com/go-openapi/swag/jsonutils v0.25.1 
h1:AihLHaD0brrkJoMqEZOBNzTLnk81Kg9cWr+SPtxtgl8=
-github.com/go-openapi/swag/jsonutils v0.25.1/go.mod 
h1:JpEkAjxQXpiaHmRO04N1zE4qbUEg3b7Udll7AMGTNOo=
-github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1 
h1:DSQGcdB6G0N9c/KhtpYc71PzzGEIc/fZ1no35x4/XBY=
-github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1/go.mod 
h1:kjmweouyPwRUEYMSrbAidoLMGeJ5p6zdHi9BgZiqmsg=
-github.com/go-openapi/swag/loading v0.25.1 
h1:6OruqzjWoJyanZOim58iG2vj934TysYVptyaoXS24kw=
-github.com/go-openapi/swag/loading v0.25.1/go.mod 
h1:xoIe2EG32NOYYbqxvXgPzne989bWvSNoWoyQVWEZicc=
-github.com/go-openapi/swag/stringutils v0.25.1 
h1:Xasqgjvk30eUe8VKdmyzKtjkVjeiXx1Iz0zDfMNpPbw=
-github.com/go-openapi/swag/stringutils v0.25.1/go.mod 
h1:JLdSAq5169HaiDUbTvArA2yQxmgn4D6h4A+4HqVvAYg=
-github.com/go-openapi/swag/typeutils v0.25.1 
h1:rD/9HsEQieewNt6/k+JBwkxuAHktFtH3I3ysiFZqukA=
-github.com/go-openapi/swag/typeutils v0.25.1/go.mod 
h1:9McMC/oCdS4BKwk2shEB7x17P6HmMmA6dQRtAkSnNb8=
-github.com/go-openapi/swag/yamlutils v0.25.1 
h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91oSJLDPF1bmGk=
-github.com/go-openapi/swag/yamlutils v0.25.1/go.mod 
h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg=
+github.com/go-openapi/swag/conv v0.25.4 
h1:/Dd7p0LZXczgUcC/Ikm1+YqVzkEeCc9LnOWjfkpkfe4=
+github.com/go-openapi/swag/conv v0.25.4/go.mod 
h1:3LXfie/lwoAv0NHoEuY1hjoFAYkvlqI/Bn5EQDD3PPU=
+github.com/go-openapi/swag/jsonname v0.25.4 
h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI=
+github.com/go-openapi/swag/jsonname v0.25.4/go.mod 
h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag=
+github.com/go-openapi/swag/jsonutils v0.25.4 
h1:VSchfbGhD4UTf4vCdR2F4TLBdLwHyUDTd1/q4i+jGZA=
+github.com/go-openapi/swag/jsonutils v0.25.4/go.mod 
h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY=
+github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4 
h1:IACsSvBhiNJwlDix7wq39SS2Fh7lUOCJRmx/4SN4sVo=
+github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4/go.mod 
h1:Mt0Ost9l3cUzVv4OEZG+WSeoHwjWLnarzMePNDAOBiM=
+github.com/go-openapi/swag/loading v0.25.4 
h1:jN4MvLj0X6yhCDduRsxDDw1aHe+ZWoLjW+9ZQWIKn2s=
+github.com/go-openapi/swag/loading v0.25.4/go.mod 
h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE=
+github.com/go-openapi/swag/stringutils v0.25.4 
h1:O6dU1Rd8bej4HPA3/CLPciNBBDwZj9HiEpdVsb8B5A8=
+github.com/go-openapi/swag/stringutils v0.25.4/go.mod 
h1:GTsRvhJW5xM5gkgiFe0fV3PUlFm0dr8vki6/VSRaZK0=
+github.com/go-openapi/swag/typeutils v0.25.4 
h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv42wAJSN91wRw=
+github.com/go-openapi/swag/typeutils v0.25.4/go.mod 
h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE=
+github.com/go-openapi/swag/yamlutils v0.25.4 
h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw=
+github.com/go-openapi/swag/yamlutils v0.25.4/go.mod 
h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc=
+github.com/go-openapi/testify/enable/yaml/v2 v2.0.2 
h1:0+Y41Pz1NkbTHz8NngxTuAXxEodtNSI1WG1c/m5Akw4=
+github.com/go-openapi/testify/enable/yaml/v2 v2.0.2/go.mod 
h1:kme83333GCtJQHXQ8UKX3IBZu6z8T5Dvy5+CW3NLUUg=
 github.com/go-openapi/testify/v2 v2.0.2 
h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls=
 github.com/go-openapi/testify/v2 v2.0.2/go.mod 
h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54=
 github.com/go-task/slim-sprig/v3 v3.0.0 
h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
@@ -366,8 +368,8 @@
 github.com/redis/go-redis/v9 v9.7.3/go.mod 
h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod 
h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/rogpeppe/go-internal v1.3.0/go.mod 
h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.14.1 
h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
-github.com/rogpeppe/go-internal v1.14.1/go.mod 
h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
+github.com/rogpeppe/go-internal v1.13.1 
h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
+github.com/rogpeppe/go-internal v1.13.1/go.mod 
h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
 github.com/russross/blackfriday/v2 v2.1.0 
h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod 
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 
h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ=
@@ -473,8 +475,8 @@
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
-golang.org/x/crypto v0.45.0/go.mod 
h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
+golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
+golang.org/x/crypto v0.46.0/go.mod 
h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod 
h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -505,8 +507,8 @@
 golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod 
h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
-golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
+golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
+golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -528,8 +530,8 @@
 golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod 
h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
-golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
+golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
+golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -545,8 +547,8 @@
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
-golang.org/x/sync v0.18.0/go.mod 
h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
+golang.org/x/sync v0.19.0/go.mod 
h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -572,19 +574,19 @@
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
-golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
-golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54 
h1:E2/AqCUMZGgd73TQkxUMcMla25GB9i/5HOdLr+uH7Vo=
-golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54/go.mod 
h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ=
-golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
-golang.org/x/term v0.37.0/go.mod 
h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
+golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
+golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc 
h1:bH6xUXay0AIFMElXG2rQ4uiE+7ncwtiOdPfYK1NK2XA=
+golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc/go.mod 
h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ=
+golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
+golang.org/x/term v0.38.0/go.mod 
h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
-golang.org/x/text v0.31.0/go.mod 
h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
+golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
+golang.org/x/text v0.32.0/go.mod 
h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -622,8 +624,8 @@
 golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod 
h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
 golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod 
h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod 
h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
-golang.org/x/tools v0.39.0/go.mod 
h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
+golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA=
+golang.org/x/tools v0.40.0/go.mod 
h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc=
 golang.org/x/tools/go/expect v0.1.0-deprecated 
h1:jY2C5HGYR5lqex3gEniOQL0r7Dq5+VGVgY1nudX5lXY=
 golang.org/x/tools/go/expect v0.1.0-deprecated/go.mod 
h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
 golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated 
h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/pkg/healthcheck/healthcheck.go 
new/linkerd-cli-edge-25.12.2/pkg/healthcheck/healthcheck.go
--- old/linkerd-cli-edge-25.12.1/pkg/healthcheck/healthcheck.go 2025-12-04 
22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/pkg/healthcheck/healthcheck.go 2025-12-10 
18:13:21.000000000 +0100
@@ -2492,7 +2492,7 @@
 func checkPodPorts(service *corev1.Service, pod *corev1.Pod, podPorts 
[]string, port int) error {
        for _, sp := range service.Spec.Ports {
                if int(sp.Port) == port {
-                       for _, c := range pod.Spec.Containers {
+                       for _, c := range append(pod.Spec.InitContainers, 
pod.Spec.Containers...) {
                                for _, cp := range c.Ports {
                                        if cp.ContainerPort == 
sp.TargetPort.IntVal || cp.Name == sp.TargetPort.StrVal {
                                                // The pod exposes a container 
port that would be
@@ -2544,7 +2544,7 @@
                        // port to check.
                        continue
                }
-               for _, c := range pod.Spec.Containers {
+               for _, c := range append(pod.Spec.InitContainers, 
pod.Spec.Containers...) {
                        for _, cp := range c.Ports {
                                if int(cp.ContainerPort) == port {
                                        // This is the containerPort that maps 
to the opaque port
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/linkerd-cli-edge-25.12.1/pkg/healthcheck/healthcheck_test.go 
new/linkerd-cli-edge-25.12.2/pkg/healthcheck/healthcheck_test.go
--- old/linkerd-cli-edge-25.12.1/pkg/healthcheck/healthcheck_test.go    
2025-12-04 22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/pkg/healthcheck/healthcheck_test.go    
2025-12-10 18:13:21.000000000 +0100
@@ -2973,6 +2973,62 @@
                        },
                        expected: nil,
                },
+               {
+                       resources: []string{`
+apiVersion: v1
+kind: Service
+metadata:
+  name: svc
+  namespace: test-ns
+  annotations:
+    config.linkerd.io/opaque-ports: "9200"
+spec:
+  selector:
+    app: test
+  ports:
+  - name: test
+    port: 9200
+    targetPort: 9200
+`,
+                               `
+apiVersion: v1
+kind: Pod
+metadata:
+  name: pod
+  namespace: test-ns
+  labels:
+    app: test
+spec:
+  initContainers:
+  - name: test
+    image: test
+    restartPolicy: Always
+    ports:
+    - name: test
+      containerPort: 9200
+`,
+                               `
+apiVersion: v1
+kind: Endpoints
+metadata:
+  name: svc
+  namespace: test-ns
+subsets:
+- addresses:
+  - ip: 10.244.3.12
+    nodeName: nod
+    targetRef:
+      kind: Pod
+      name: pod
+      namespace: test-ns
+  ports:
+  - name: test
+    port: 9200
+    protocol: TCP
+`,
+                       },
+                       expected: fmt.Errorf("\t* service svc expects target 
port 9200 to be opaque; add it to pod pod config.linkerd.io/opaque-ports 
annotation"),
+               },
        }
 
        for i, tc := range testCases {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/pkg/inject/inject.go 
new/linkerd-cli-edge-25.12.2/pkg/inject/inject.go
--- old/linkerd-cli-edge-25.12.1/pkg/inject/inject.go   2025-12-04 
22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/pkg/inject/inject.go   2025-12-10 
18:13:21.000000000 +0100
@@ -197,7 +197,7 @@
 
        namedPorts := make(map[string]int32)
        if rc.HasPodTemplate() {
-               namedPorts = util.GetNamedPorts(rc.pod.spec.Containers)
+               namedPorts = 
util.GetNamedPorts(append(rc.pod.spec.InitContainers, 
rc.pod.spec.Containers...))
        }
 
        ApplyAnnotationOverrides(copyValues, rc.GetAnnotationOverrides(), 
rc.GetLabelOverrides(), namedPorts)
@@ -854,7 +854,7 @@
 // are also in the given default opaque ports list.
 func (conf *ResourceConfig) FilterPodOpaquePorts(defaultPorts []string) 
[]string {
        var filteredPorts []string
-       for _, c := range conf.pod.spec.Containers {
+       for _, c := range append(conf.pod.spec.InitContainers, 
conf.pod.spec.Containers...) {
                for _, p := range c.Ports {
                        port := strconv.Itoa(int(p.ContainerPort))
                        if util.ContainsString(port, defaultPorts) {
@@ -1366,7 +1366,7 @@
 func getPodInboundPorts(podSpec *corev1.PodSpec) string {
        ports := make(map[int32]struct{})
        if podSpec != nil {
-               for _, container := range podSpec.Containers {
+               for _, container := range append(podSpec.InitContainers, 
podSpec.Containers...) {
                        for _, port := range container.Ports {
                                ports[port.ContainerPort] = struct{}{}
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linkerd-cli-edge-25.12.1/pkg/k8s/policy.go 
new/linkerd-cli-edge-25.12.2/pkg/k8s/policy.go
--- old/linkerd-cli-edge-25.12.1/pkg/k8s/policy.go      2025-12-04 
22:06:54.000000000 +0100
+++ new/linkerd-cli-edge-25.12.2/pkg/k8s/policy.go      2025-12-10 
18:13:21.000000000 +0100
@@ -247,7 +247,7 @@
 
        for _, pod := range pods {
                if selector.Matches(labels.Set(pod.Labels)) {
-                       for _, container := range pod.Spec.Containers {
+                       for _, container := range 
append(pod.Spec.InitContainers, pod.Spec.Containers...) {
                                for _, p := range container.Ports {
                                        if server.Spec.Port.IntVal == 
p.ContainerPort || server.Spec.Port.StrVal == p.Name {
                                                return true

++++++ linkerd-cli-edge.obsinfo ++++++
--- /var/tmp/diff_new_pack.dj4klL/_old  2025-12-11 18:43:15.866321055 +0100
+++ /var/tmp/diff_new_pack.dj4klL/_new  2025-12-11 18:43:15.874321392 +0100
@@ -1,5 +1,5 @@
 name: linkerd-cli-edge
-version: 25.12.1
-mtime: 1764882414
-commit: 7a1a06cb8d9137eb29233a77304edd34892c9a43
+version: 25.12.2
+mtime: 1765386801
+commit: 468ce74aa236f3576d6502dc3d27f63d03f85d63
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/linkerd-cli-edge/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.linkerd-cli-edge.new.1939/vendor.tar.gz differ: 
char 140, line 1

Reply via email to