GoogleCloudPlatform / flink-on-k8s-operator

[DEPRECATED] Kubernetes operator for managing the lifecycle of Apache Flink and Beam applications.
Apache License 2.0
658 stars 266 forks source link

Print for desired state could show too much information from flinkProperties #359

Open a-roberts opened 3 years ago

a-roberts commented 3 years ago

Hi everyone,

We currently have these log statements

*desired = getDesiredClusterState(observed.cluster, time.Now())
    if desired.ConfigMap != nil {
        log.Info("Desired state", "ConfigMap", *desired.ConfigMap)
    } else {
        log.Info("Desired state", "ConfigMap", "nil")
    }
    if desired.JmDeployment != nil {
        log.Info("Desired state", "JobManager deployment", *desired.JmDeployment)
    } else {
        log.Info("Desired state", "JobManager deployment", "nil")
    }
    if desired.JmService != nil {
        log.Info("Desired state", "JobManager service", *desired.JmService)
    } else {
        log.Info("Desired state", "JobManager service", "nil")
    }
    if desired.JmIngress != nil {
        log.Info("Desired state", "JobManager ingress", *desired.JmIngress)
    } else {
        log.Info("Desired state", "JobManager ingress", "nil")
    }
    if desired.TmDeployment != nil {
        log.Info("Desired state", "TaskManager deployment", *desired.TmDeployment)
    } else {
        log.Info("Desired state", "TaskManager deployment", "nil")
    }
    if desired.Job != nil {
        log.Info("Desired state", "Job", *desired.Job)
    } else {
        log.Info("Desired state", "Job", "nil")
    }

    log.Info("---------- 4. Take actions ----------")

and it's possible a user puts something sensitive (like trust store passwords) into the flinkProperties, for their FlinkCluster - and thus it would be exposed through the pod logs. I think these statements should be removed - thoughts? Yeah it's useful for debug but shouldn't really be required I think, best to be on the safe side!

functicons commented 3 years ago

Good point! I think we can add a command line flag or add a field in CRD, and turn off these logs by default.