Sonarqube deployed via helm; Stuck on “Loading…”

Version -
sonarqube:10.7.0-community

Helm Chart - 10.7.0+3598

Sonarqube is deployed via Helm.

I am trying to install sonarqube on AWS EKS cluster and installing it in the exact same manner which is followed in this issue ticket as well LTS deployed via helm; Stuck on "Loading..."
Moreover I am not using any plugins yet, also defining path as “/*” as suggested in above blog but still I just see Loading…

Also my values.yaml file looks like

apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
  name: sonarqube
  namespace: sonarqube
spec:
  releaseName: sonarqube
  chart:
    spec:
      chart: sonarqube
      version: 10.7.0+3598
      sourceRef:
        kind: HelmRepository
        name: sonarqube
        namespace: flux-system
  interval: 5m
  install:
    remediation:
      retries: 3
    crds: CreateReplace

  upgrade:
    crds: CreateReplace
  
  values:
    replicaCount: 1
    elasticsearch:
      # DEPRECATED: Use initSysctl.enabled instead
      configureNode: false
      bootstrapChecks: false
    ingress:
      enabled: true
      #className: alb
      annotations:
        kubernetes.io/ingress.class: alb
        #ingressClassName: alb
        alb.ingress.kubernetes.io/ssl-redirect: "443"
        alb.ingress.kubernetes.io/healthcheck-path: /
        alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
        alb.ingress.kubernetes.io/load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket=xxx-xxx-yyy-aaa-logs
        alb.ingress.kubernetes.io/scheme: internal
        alb.ingress.kubernetes.io/security-groups: sg-1234,sg-5678
        alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
        alb.ingress.kubernetes.io/success-codes: "200,303,301"
        alb.ingress.kubernetes.io/target-type: ip
      hosts:
        - name: sonarqube.xx.k8s.yy.io
          #path: /*
          paths:
            - path: /*
              pathType: ImplementationSpecific
              #pathType: Prefix
    ## Override JDBC values
    ## for external Databases
    jdbcOverwrite:
    # (DEPRECATED) Please use jdbcOverwrite.enabled instead
    # enable: false
    # If enable the JDBC Overwrite, make sure to set `postgresql.enabled=false`
      enabled: true
      # The JDBC url of the external DB
      jdbcUrl: "jdbc:postgresql://xx-yyy-db-eks.ct1234.us-east-1.rds.amazonaws.com/sonar?currentSchema=public"
      # The DB user that should be used for the JDBC connection
      jdbcUsername: "sonar"
      # Use this if you don't mind the DB password getting stored in plain text within the values file
      jdbcPassword: "sonar"
    
    postgresql:
    # Enable to deploy the bitnami PostgreSQL chart
      enabled: false
    
    readinessProbe:
      exec:
        command:
        - sh
        - -c
        - |
          #!/bin/bash
          # A Sonarqube container is considered ready if the status is UP, DB_MIGRATION_NEEDED or DB_MIGRATION_RUNNING
          # status about migration are added to prevent the node to be kill while sonarqube is upgrading the database.
          if wget --no-proxy -qO- http://localhost:{{ .Values.service.internalPort }}{{ .Values.readinessProbe.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/system/status | grep -q -e '"status":"UP"' -e '"status":"DB_MIGRATION_NEEDED"' -e '"status":"DB_MIGRATION_RUNNING"'; then
            exit 0
          fi
          exit 1
      initialDelaySeconds: 60
      periodSeconds: 30
      failureThreshold: 6
      # Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
      timeoutSeconds: 1

    livenessProbe:
      exec:
        command:
        - sh
        - -c
        - |
          wget --no-proxy --quiet -O /dev/null --timeout={{ .Values.livenessProbe.timeoutSeconds }} --header="X-Sonar-Passcode: $SONAR_WEB_SYSTEMPASSCODE" "http://localhost:{{ .Values.service.internalPort }}{{ .Values.livenessProbe.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/system/liveness"
      initialDelaySeconds: 60
      periodSeconds: 30
      failureThreshold: 6
      # Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
      timeoutSeconds: 1
    
    startupProbe:
      initialDelaySeconds: 30
      periodSeconds: 10
      failureThreshold: 24
      # Note that timeoutSeconds was not respected before Kubernetes 1.20 for exec probes
      timeoutSeconds: 1
    

What have I tried so far to achieve this?

  1. I created a sonarqube kubernetes namespace.
  2. I have deployed an external RDS postgres database dedicated to hosting the sonarqube database (and a security group which allows 5432 port traffic from the sonarqube autoscaling group private subnets) and I believe the sonarqube pod is connecting to the External Database without any issue.
  3. The kubernetes cluster has an AWS Load Balancer Controller v1.7.1 deployed which manages AWS Application Load Balancers to satisfy kubernetes ingresses. It looks like this configuration is all working properly.
  4. I configured a Route 53 A record pointing my desired url hostname to the application load balancer that was configured by the Kubernetes ingress.
  5. I have a customized helm chart values.yaml which I attached above and I installed the helm chart using fluxcd.

Sonarqube is working on localhost on port forwarding but its not loading with ingress.
Though my ingress setup is consistent along with my other applications which are working as expected.

When I inspect on chrome browser I see below error

Failed to load resource: the server responded with a status of 404 ()Understand this errorAI
outIIC4BPOF.js:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()Understand this errorAI
outAPPHAF2J.css:1 
        
        
       Failed to load resource: the server responded with a status of 404 ()

Also I see similar behaviour on other browsers as well like Safari.

Could someone from the community help here as this issue is completely blocking me.

Thanks

I would really appreciate some help with this issue. Or any kind of direction for debugging more into this which I may be missing would also be helpful. @jeremy.cotineau @ganncamp

Thanks

Hey there.

Please don’t tag individuals not involved in a thread, as outlined in our FAQ.

I created a topic, when can I expect a response?

This is an open community with people volunteering their free time to provide assistance. We’re eager to contribute to the community, but you are not guaranteed a fast response.

Be patient

  • Wait a few days before bumping a topic that hasn’t received a response.
  • Do not @name mention individuals not involved in the topic.