title: spring cloud dataflow UI, which is configured with k8s, redirects to port 8000
body: <p>We have spring cloud dataflow services deployed in our EKS(Elastic Kubernetes Service in AWS).</p>
  <p>The service was deployed with <a href="https://bitnami.com/stack/spring-cloud-dataflow/helm" rel="nofollow noreferrer">helm chart</a> with default configuration more or less, the only thing we configured really is Spring Cloud Data Flow external database.</p>
  <p>Now, a very strange thing is happening when trying to enter the UI:</p>
  <ol>
  <li>enter https://&lt;url of scdf&gt;/dashboard</li>
  <li>wait for maybe more than a min?</li>
  <li>browser fails to load the UI and the url is changed to http://&lt;url of scdf&gt;:<strong>8000</strong>/dashboard/index.html</li>
  <li>then removing the :8000 from address bar and trying again and it works!</li>
  </ol>
  <p>We have no clue where does port 8000 is coming from?</p>
  <p>Also, when u go to the root path https://&lt;url of scdf&gt; u see the different endpoints of the services, and they all show 8000 port - again, we haven't configured this port no where...</p>
  <p>We have many other services which are exposed via k8s(registered as ingress services) and they are all working as expected</p>
  <p><strong>UPDATE ADDING HELM CHART</strong></p>
  <pre><code>compname:
    chartName: compname/spring-cloud-dataflow
    chartPath: path
    deploymentName: spring-cloud-dataflow
    namespace: default
    productLine: productline
  
  # Original chart values: https://github.com/bitnami/charts/blob/master/bitnami/spring-cloud-dataflow/values.yaml
  vault:
    enabled: true
  
  global:
    imageRegistry: &quot;&quot;
    imagePullSecrets: []
    storageClass: &quot;&quot;
  
  nameOverride: &quot;&quot;
  fullnameOverride: &quot;&quot;
  commonLabels: {}
  kubeVersion: &quot;&quot;
  clusterDomain: cluster.local
  extraDeploy: []
  
  server:
    image:
      registry: registery
      repository: infra
      tag: bitnami-docker-spring-cloud-dataflow-2.9.1-debian-10-r27
      pullPolicy: IfNotPresent
      pullSecrets: []
      debug: false
    hostAliases: []
    composedTaskRunner:
      image:
        registry: registry
        repository: infra
        tag: bitnami-docker-spring-cloud-dataflow-composed-task-runner-2.9.1-debian-10.r27
    configuration:
      streamingEnabled: false
      batchEnabled: true
      accountName: default
      trustK8sCerts: false
      containerRegistries: {}
      grafanaInfo: &quot;&quot;
      metricsDashboard: &quot;&quot;
      defaultSpringApplicationJSON: true
    existingConfigmap: &quot;&quot;
    extraEnvVars: []
    extraEnvVarsCM: &quot;&quot;
    extraEnvVarsSecret: &quot;&quot;
    replicaCount: 1
    strategyType: RollingUpdate
    podAffinityPreset: &quot;&quot;
    podAntiAffinityPreset: soft
    containerPort: 8080
    nodeAffinityPreset:
      type: &quot;&quot;
      key: &quot;&quot;
      values: []
    affinity: {}
    nodeSelector: {}
    tolerations: []
    podAnnotations: {}
    priorityClassName: &quot;&quot;
    podSecurityContext:
      fsGroup: 1001
    containerSecurityContext:
      runAsUser: 1001
    resources:
      limits: {}
      requests: {}
    livenessProbe:
      enabled: true
      initialDelaySeconds: 120
      timeoutSeconds: 1
      periodSeconds: 20
      failureThreshold: 6
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 120
      timeoutSeconds: 1
      periodSeconds: 20
      failureThreshold: 6
      successThreshold: 1
    customLivenessProbe: {}
    customReadinessProbe: {}
  
    service:
      type: ClusterIP
      port: 8080
      nodePort: &quot;&quot;
      clusterIP: &quot;&quot;
      externalTrafficPolicy: Cluster
      loadBalancerIP: &quot;&quot;
      loadBalancerSourceRanges: []
      annotations: {}
  
    ingress:
      enabled: true
      path: /
      pathType: ImplementationSpecific
      hostname: hostname
      annotations: {}
      tls: false
      extraHosts: []
      extraTls: []
      secrets: []
    initContainers: []
    sidecars: []
    pdb:
      create: false
      minAvailable: 1
      maxUnavailable: &quot;&quot;
    autoscaling:
      enabled: false
      minReplicas: &quot;&quot;
      maxReplicas: &quot;&quot;
      targetCPU: &quot;&quot;
      targetMemory: &quot;&quot;
    extraVolumes: []
    extraVolumeMounts: []
    jdwp:
      enabled: false
      port: 5005
    proxy: {}
  
  skipper:
    enabled: false
    hostAliases: []
    image:
      registry: registry
      repository: infra
      tag: bitnami-docker-spring-cloud-skipper-2.8.1-debian-10-r26
      pullPolicy: IfNotPresent
      pullSecrets: []
      debug: false
    configuration:
      accountName: default
      trustK8sCerts: false
    existingConfigmap: &quot;&quot;
    extraEnvVars: []
    extraEnvVarsCM: &quot;&quot;
    extraEnvVarsSecret: &quot;&quot;
    replicaCount: 1
    strategyType: RollingUpdate
    podAffinityPreset: &quot;&quot;
    podAntiAffinityPreset: soft
    nodeAffinityPreset:
      type: &quot;&quot;
      key: &quot;&quot;
      values: []
    affinity: {}
    nodeSelector: {}
    tolerations: []
    podAnnotations: {}
    priorityClassName: &quot;&quot;
    podSecurityContext:
      fsGroup: 1001
    containerSecurityContext:
      runAsUser: 1001
    resources:
      limits: {}
      requests: {}
    livenessProbe:
      enabled: true
      initialDelaySeconds: 120
      timeoutSeconds: 1
      periodSeconds: 20
      failureThreshold: 6
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 120
      timeoutSeconds: 1
      periodSeconds: 20
      failureThreshold: 6
      successThreshold: 1
    customLivenessProbe: {}
    customReadinessProbe: {}
    service:
      type: ClusterIP
      port: 80
      nodePort: &quot;&quot;
      clusterIP: &quot;&quot;
      externalTrafficPolicy: Cluster
      loadBalancerIP: &quot;&quot;
      loadBalancerSourceRanges: []
      annotations: {}
    initContainers: []
    sidecars: []
    pdb:
      create: false
      minAvailable: 1
      maxUnavailable: &quot;&quot;
    autoscaling:
      enabled: false
      minReplicas: &quot;&quot;
      maxReplicas: &quot;&quot;
      targetCPU: &quot;&quot;
      targetMemory: &quot;&quot;
    extraVolumes: []
    extraVolumeMounts: []
    jdwp:
      enabled: false
      port: 5005
  
  externalSkipper:
    host: localhost
    port: 7577
  
  deployer:
    metadata:
      annotations: {}
    resources:
      limits:
        cpu: 500m
        memory: 1024Mi
      requests: {}
    readinessProbe:
      initialDelaySeconds: 120
    livenessProbe:
      initialDelaySeconds: 90
    nodeSelector: &quot;&quot;
    tolerations: {}
    volumeMounts: {}
    volumes: {}
    environmentVariables: &quot;&quot;
    podSecurityContext:
      runAsUser: 1001
  
  serviceAccount:
    create: true
    name: &quot;&quot;
  
  rbac:
    create: true
  
  metrics:
    enabled: true
    image:
      registry: registry
      repository: infra
      tag: bitnami-docker-prometheus-rsocket-proxy-1.3.0-debian-10-r334
      pullPolicy: IfNotPresent
      pullSecrets: []
    resources:
      limits: {}
      requests: {}
    replicaCount: 1
    podAffinityPreset: &quot;&quot;
    podAntiAffinityPreset: soft
    nodeAffinityPreset:
      type: &quot;&quot;
      key: &quot;&quot;
      values: []
    affinity: {}
    nodeSelector: {}
    tolerations: []
    podAnnotations: {}
    priorityClassName: &quot;&quot;
    service:
      httpPort: 8080
      rsocketPort: 7001
  
    serviceMonitor:
      enabled: true
      extraLabels: {}
      namespace: &quot;&quot;
      interval: &quot;&quot;
      scrapeTimeout: &quot;&quot;
    pdb:
      create: false
      minAvailable: 1
      maxUnavailable: &quot;&quot;
    autoscaling:
      enabled: false
      minReplicas: &quot;&quot;
      maxReplicas: &quot;&quot;
      targetCPU: &quot;&quot;
      targetMemory: &quot;&quot;
  
  waitForBackends:
    enabled: true
    image:
      registry: registry
      repository: infra
      tag: bitnami-docker-kubectl-1.19.16-debian-10-r27
      pullPolicy: IfNotPresent
      pullSecrets: []
    resources:
      limits: {}
      requests: {}
  
  mariadb:
    enabled: false
    architecture: standalone
    auth:
      rootPassword: &quot;&quot;
      username: dataflow
      password: change-me
      database: dataflow
      forcePassword: false
      usePasswordFiles: false
    initdbScripts:
      create_databases.sql: |
        CREATE OR REPLACE USER 'skipper'@'%' identified by 'change-me';
        CREATE DATABASE IF NOT EXISTS `skipper`;
        GRANT ALL ON skipper.* to 'skipper'@'%';
        FLUSH PRIVILEGES;
  
  flyway:
    enabled: true
  
  externalDatabase:
    host: host
    port: 3306
    driver: &quot;&quot;
    scheme: &quot;mysql&quot;
    password: &quot;vault:kubernetes/productline/data/scdf#SCDF_DB_PASSWORD&quot;
    existingPasswordSecret: &quot;True&quot;
    existingPasswordKey: &quot;password&quot;
    dataflow:
      url: &quot;&quot;
      database: dataflow
      username: &quot;vault:kubernetes/productline/data/scdf#SCDF_DB_USER&quot;
    skipper:
      url: &quot;&quot;
      database: skipper
      username: skipper
    hibernateDialect: &quot;&quot;
  
  rabbitmq:
    enabled: false
    auth:
      username: user
  
  externalRabbitmq:
  
    enabled: false
    host: localhost
    port: 5672
    username: guest
    password: guest
    vhost: &quot;&quot;
    existingPasswordSecret: &quot;&quot;
  
  kafka:
    enabled: false
    replicaCount: 1
    offsetsTopicReplicationFactor: 1
    zookeeper:
      replicaCount: 1
  
  externalKafka:
    enabled: false
    brokers: localhost:9092
    zkNodes: localhost:2181
  </code></pre>