Skip to content

Download health check report

Nikola Milojevic requested to merge health-check-download-button into master

What does this MR do and why?

It adds [Download Report] button for health check. It would allow customer to download a json report with more details, that the customer can send to us for debugging.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After
image image

Report file format:

[
  {
    "name": "license_probe",
    "success": true,
    "message": "Subscription can be synchronized.",
    "errors": [],
    "details": {}
  },
  {
    "name": "host_probe",
    "success": true,
    "message": "localhost reachable.",
    "errors": [],
    "details": {}
  },
  {
    "name": "host_probe",
    "success": true,
    "message": "cloud.gitlab.com reachable.",
    "errors": [],
    "details": {}
  },
  {
    "name": "access_probe",
    "success": true,
    "message": "Subscription synchronized successfully.",
    "errors": [],
    "details": {
      "updated_at": "2024-09-04T12:20:46.289Z",
      "data": {
        "available_services": [
          {
            "name": "code_suggestions",
            "bundledWith": [
              "duo_pro",
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-02-15T00:00:00Z"
          },
          {
            "name": "duo_chat",
            "bundledWith": [
              "duo_pro",
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "resolve_vulnerability",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "explain_vulnerability",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "generate_commit_message",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "summarize_comments",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "observability_all",
            "bundledWith": [
              "observability"
            ],
            "serviceStartTime": null
          },
          {
            "name": "glab_ask_git_command",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "troubleshoot_job",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": "2024-01-01T00:00:00Z"
          },
          {
            "name": "duo_workflow",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": null
          },
          {
            "name": "anthropic_proxy",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": null
          },
          {
            "name": "vertex_ai_proxy",
            "bundledWith": [
              "duo_enterprise"
            ],
            "serviceStartTime": null
          }
        ]
      }
    }
  },
  {
    "name": "token_probe",
    "success": true,
    "message": "Access Credentials are correct.",
    "errors": [],
    "details": {
      "decode": "Successful",
      "expired": false,
      "expires_at": "2024-09-07T12:20:46.000Z",
      "created_at": "2024-09-04T12:20:46.273Z",
      "token": {
        "jti": "5c56d6cc-e2f3-4b91-a3b1-ac6d668f3253",
        "aud": [
          "gitlab-ai-gateway",
          "gitlab-observability-backend",
          "gitlab-duo-workflow-service"
        ],
        "sub": "75b5df50-d96c-43cf-881a-49c457d46e34",
        "iss": "http://localhost:5000/",
        "iat": 1725452446,
        "nbf": 1725452441,
        "exp": 1725711646,
        "gitlab_realm": "self-managed",
        "scopes": [
          "code_suggestions",
          "duo_chat",
          "documentation_search",
          "resolve_vulnerability",
          "explain_vulnerability",
          "generate_commit_message",
          "summarize_comments",
          "observability_all",
          "glab_ask_git_command",
          "troubleshoot_job",
          "duo_workflow_execute_workflow",
          "categorize_duo_chat_question",
          "generate_issue_description",
          "summarize_issue_discussions",
          "analyze_ci_job_failure",
          "explain_code",
          "generate_cube_query",
          "review_merge_request",
          "semantic_search_issue",
          "summarize_merge_request",
          "summarize_review"
        ],
        "duo_seat_count": 10
      }
    }
  },
  {
    "name": "end_to_end_probe",
    "success": false,
    "message": "Authentication with GitLab Cloud services failed: Failed to open TCP connection to ::1:5052 (Connection refused - connect(2) for \"::1\" port 5052)",
    "errors": ["Authentication with GitLab Cloud services failed: Failed to open TCP connection to ::1:5052 (Connection refused - connect(2) for \\\"::1\\\" port 5052)"],
    "details": {}
  }
]

How to set up and validate locally

  • Go to Admin/Duo page (this requires Online Cloud License and at least Duo Pro or Duo Enterprise add-on
  • Click Run Health Check button
  • Click on the Download button next to the health check button
  • It should download report.json file.
  • Review the downloaded json file for content.
Edited by Nikola Milojevic

Merge request reports

Loading