uros-b commented on code in PR #58010:
URL: https://github.com/apache/spark/pull/58010#discussion_r3935369659


##########
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/features/BasicExecutorFeatureStep.scala:
##########
@@ -143,6 +143,15 @@ private[spark] class BasicExecutorFeatureStep(
         case _ => Nil
       }.getOrElse(Nil)
 
+      // SparkConf.isExecutorStartupConf withholds the spark.ssl.* passwords 
from the
+      // executor conf. Pass them through the environment, as the standalone 
worker
+      // does in CommandUtils. Names the user already supplies via
+      // spark.kubernetes.executor.secretKeyRef are skipped, so that an 
explicit
+      // secret reference is not shadowed by a literal password in the pod 
spec.
+      val sslRpcPasswords = secMgr.getEnvironmentForSslRpcPasswords.filterNot {
+        case (name, _) => kubernetesConf.secretEnvNamesToKeyRefs.contains(name)
+      }.toSeq
+

Review Comment:
   docs/security.md already says that on Kubernetes the auth secret is injected 
as an env var, so anyone who can list pods can read it. This PR puts keystore / 
truststore / key passwords on that same channel. That’s the intended standalone 
design, but it is a user-facing security change on K8s and should be called out 
next to the existing auth-secret paragraph. Users who don’t want literals can 
keep using spark.kubernetes.executor.secretKeyRef._SPARK_SSL_RPC_*.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to