### POST /api/cloud/install/start Source: https://radarhq.io/docs/reference/api Starts the cloud installation process for eligible local Radar instances. This is part of the Cloud Connect driver. ```APIDOC ## POST /api/cloud/install/start ### Description Starts the cloud installation process for eligible local Radar instances. ### Method POST ### Endpoint /api/cloud/install/start ``` -------------------------------- ### Install with CloudNativePG Source: https://radarhq.io/docs/cloud/self-hosted/install Install the chart using an existing CloudNativePG cluster. ```bash helm install radar-hub skyhook/radar-hub \ --namespace radar-hub --create-namespace \ --set postgres.bundled.enabled=false \ --set postgres.external.cnpgCluster=acme-pg \ ... # the rest below ``` -------------------------------- ### Install with bundled Postgres Source: https://radarhq.io/docs/cloud/self-hosted/install Install the chart using the default bundled Postgres for evaluation purposes. Not suitable for production. ```bash helm install radar-hub skyhook/radar-hub \ --namespace radar-hub --create-namespace \ --set postgres.bundled.persistence.size=10Gi \ ... # the rest below ``` -------------------------------- ### GET /api/cloud/install/status Source: https://radarhq.io/docs/reference/api Retrieves the status of the cloud installation process. This is part of the Cloud Connect driver. ```APIDOC ## GET /api/cloud/install/status ### Description Retrieves the status of the cloud installation process. ### Method GET ### Endpoint /api/cloud/install/status ``` -------------------------------- ### Install with managed Postgres Source: https://radarhq.io/docs/cloud/self-hosted/install Install the chart pointing to an external managed database via a pre-created secret. ```bash helm install radar-hub skyhook/radar-hub \ --namespace radar-hub --create-namespace \ --set postgres.bundled.enabled=false \ --set postgres.external.existingSecret=radar-hub-pg \ ... # the rest below ``` -------------------------------- ### Install Radar CLI on Windows via PowerShell installer Source: https://radarhq.io/docs/install Downloads and runs the PowerShell installer for Radar on Windows. ```powershell iwr -useb https://get.radarhq.io/install.ps1 | iex ``` -------------------------------- ### Install Radar CLI on Windows via Scoop Source: https://radarhq.io/docs/install Adds the Skyhook Scoop bucket and installs Radar. After install, the binary is laid down as kubectl-radar; the bare 'radar' command works only if you add a symlink yourself. ```powershell scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket scoop install radar ``` -------------------------------- ### Domain auto-join configuration example Source: https://radarhq.io/docs/cloud/members Shows an example of allowed domains and the default role for domain auto-join. Free-mail providers are blocklisted, and auto-joined users always get the default role, never owner. ```text Allowed domains: acme.com, eng.acme.com Default role: member ``` -------------------------------- ### Install Radar with Helm Source: https://radarhq.io/docs/quickstart-cloud Use this Helm command to install the Radar agent in your cluster. The command includes your unique cluster ID and a one-time install token. ```bash helm upgrade --install radar oci://ghcr.io/skyhook-io/radar \ --namespace radar --create-namespace \ --set cloud.enabled=true \ --set cloud.url=wss://api.radarhq.io/agent \ --set cloud.token=rhc_... \ --set cloud.clusterName= \ --set rbac.helm=true \ --set rbac.secrets=true \ --set rbac.podExec=true \ --set rbac.portForward=true ``` -------------------------------- ### Install Radar Hub via Helm Source: https://radarhq.io/docs/cloud/self-hosted/install Deploys the Radar Hub chart with specified configurations for namespace, database, authentication, and ingress. The license key can be provided during installation or via a subsequent upgrade. ```bash helm install radar-hub skyhook/radar-hub \ --namespace radar-hub --create-namespace \ --set hub.publicURL=https://radar.acme.example \ --set hub.cookiePassword="$(openssl rand -base64 48)" \ --set license.key="$RADAR_HUB_LICENSE" \ --set postgres.bundled.enabled=false \ --set postgres.external.existingSecret=radar-hub-pg \ --set auth.breakGlass.email=admin@acme.example \ --set auth.breakGlass.password=changeme123 \ --set ingress.enabled=true \ --set ingress.className=nginx \ --set "ingress.hosts[0].host=radar.acme.example" \ --set "ingress.hosts[0].paths[0].path=/" \ --set "ingress.hosts[0].paths[0].pathType=Prefix" \ --set "ingress.tls[0].secretName=radar-acme-tls" \ --set "ingress.tls[0].hosts[0]=radar.acme.example" ``` -------------------------------- ### Install Radar CLI on macOS/Linux via install script Source: https://radarhq.io/docs/install Installs the Radar CLI binary as kubectl-radar. After install, use 'kubectl radar' as a plugin or 'kubectl-radar' standalone. The bare 'radar' command works only if you add a symlink yourself or install via Homebrew. ```bash curl -fsSL https://get.radarhq.io | sh ``` -------------------------------- ### Install Radar desktop app on Windows via Scoop Source: https://radarhq.io/docs/install Installs the Radar desktop app for Windows using Scoop. ```powershell scoop install radar-desktop ``` -------------------------------- ### Install Radar via Helm Source: https://radarhq.io/docs/configuration/in-cluster Commands to add the Skyhook Helm repository and install the Radar chart into a dedicated namespace. ```bash helm repo add skyhook https://skyhook-io.github.io/helm-charts helm repo update skyhook helm upgrade --install radar skyhook/radar -n radar --create-namespace ``` -------------------------------- ### Install Radar with explicit kubeconfig context Source: https://radarhq.io/docs/cloud/self-hosted/install Use the --context flag to specify the intended kubeconfig context for the installation. ```bash kubectl radar cloud install \ --hub-url https://radar.acme.example \ --context prod-us-east-1 ``` -------------------------------- ### Install Radar CLI as kubectl plugin via Krew Source: https://radarhq.io/docs/install Installs Radar as a kubectl plugin. After install, use 'kubectl radar' as a plugin or 'kubectl-radar' standalone. ```bash kubectl krew install radar ``` -------------------------------- ### Install Radar CLI on macOS/Linux via Homebrew Source: https://radarhq.io/docs/install Installs the Radar CLI via Homebrew. After install, the bare 'radar' command works (unlike the install script or Scoop). ```bash brew install skyhook-io/tap/radar ``` -------------------------------- ### Run Radar with default kubeconfig Source: https://radarhq.io/docs/install Starts Radar, which reads your default kubeconfig, opens http://localhost:9280 in your browser, and starts watching the cluster. ```bash kubectl radar ``` -------------------------------- ### Start Radar with explicit namespace list using --namespaces Source: https://radarhq.io/docs/configuration/files Use this command to start Radar with a specific list of namespaces when your account cannot list namespaces cluster-wide. Radar probes each listed namespace for access and watches all granted namespaces. The list is capped by --max-scope-candidates (default 20). ```bash kubectl radar --namespaces ns1,ns2,ns3 ``` -------------------------------- ### GET /api/gitops/managed-resources Source: https://radarhq.io/docs/reference/api Retrieves all managed resources in the GitOps setup. This endpoint is part of the Argo CD GitOps API. ```APIDOC ## GET /api/gitops/managed-resources ### Description Retrieves all managed resources in the GitOps setup. ### Method GET ### Endpoint /api/gitops/managed-resources ``` -------------------------------- ### Install Radar desktop app on macOS via Homebrew cask Source: https://radarhq.io/docs/install Installs the Radar desktop app for macOS using Homebrew cask. ```bash brew install --cask skyhook-io/tap/radar-desktop ``` -------------------------------- ### POST /api/cloud/install/prepare Source: https://radarhq.io/docs/reference/api Prepares the cloud installation process for eligible local Radar instances. This is part of the Cloud Connect driver. ```APIDOC ## POST /api/cloud/install/prepare ### Description Prepares the cloud installation process for eligible local Radar instances. ### Method POST ### Endpoint /api/cloud/install/prepare ``` -------------------------------- ### POST /api/cloud/install/dismiss Source: https://radarhq.io/docs/reference/api Dismisses the cloud installation prompt or process. This is part of the Cloud Connect driver. ```APIDOC ## POST /api/cloud/install/dismiss ### Description Dismisses the cloud installation prompt or process. ### Method POST ### Endpoint /api/cloud/install/dismiss ``` -------------------------------- ### Check Radar cloud connection status Source: https://radarhq.io/docs/cloud/connect-cluster Run this command to inspect the Radar installation from any machine with cluster access. It reports installation details, agent readiness, and tunnel state. It is read-only and never prints the connection token. If multiple installations are found, use --namespace and --release to select one. ```bash radar cloud status --context my-cluster ``` -------------------------------- ### License JWT claims example Source: https://radarhq.io/docs/cloud/self-hosted/licensing Example of the Ed25519-signed JWT license claims. The license is supplied verbatim as `license.key`; `max_clusters` and `exp` drive the in-app cluster-cap and expiry banners. ```json { "iss": "skyhook", "aud": "radar-hub", "sub": "lic_acme_001", "iat": 1781000000, "nbf": 1781000000, "exp": 1812536000, "org": "Acme Corp", "org_id": "org_acme_001", "tier": "enterprise", "max_clusters": 50, "features": ["sso", "audit-365d"] } ``` -------------------------------- ### Install via Helm with LoadBalancer Source: https://radarhq.io/docs/cloud/self-hosted/configuration Deploy the hub using Helm with LoadBalancer and self-signed TLS settings. ```bash helm install radar-hub skyhook/radar-hub \ --namespace radar-hub --create-namespace \ --set hub.publicURL=https://radar.acme.example \ --set service.web.type=LoadBalancer \ --set web.tls.selfSigned=true \ ... # license, cookiePassword, break-glass, Postgres as above ``` -------------------------------- ### GET /api/opencost/summary Source: https://radarhq.io/docs/reference/api Returns OpenCost summary. ```APIDOC ## GET /api/opencost/summary ### Description Returns OpenCost summary. ### Method GET ### Endpoint /api/opencost/summary ### Response #### Success Response (200) Returns OpenCost summary. ``` -------------------------------- ### Start an investigation from the terminal Source: https://radarhq.io/docs/features/diagnose Run `radar diagnose` with the resource and namespace to start a server-side investigation. The CLI prints a watch URL for following the transcript in the browser or terminal. Consent is required before the first run. ```bash radar diagnose deploy/checkout-worker -n prod ``` -------------------------------- ### Helm install command for Radar Cloud Source: https://radarhq.io/docs/cloud/connect-cluster Use this command to install or upgrade the Radar chart with cloud-mode enabled. Ensure you replace the placeholder token and cluster name with the values generated in the Radar Cloud dashboard. ```bash helm upgrade --install radar oci://ghcr.io/skyhook-io/radar \ --namespace radar --create-namespace \ --set cloud.enabled=true \ --set cloud.url=wss://api.radarhq.io/agent \ --set cloud.token=rhc_xxx... \ --set cloud.clusterName=cl_xxx... \ --set rbac.helm=true \ --set rbac.secrets=true \ --set rbac.podExec=true \ --set rbac.portForward=true ``` -------------------------------- ### Run Radar MCP Docker image from registry Source: https://radarhq.io/docs/features/mcp Registry-suggested invocation for the ghcr.io/skyhook-io/radar Docker image. Mounts the kubeconfig read-only and sets KUBECONFIG. The image is distroless, so exec-plugin auth (gke-gcloud-auth-plugin, aws eks get-token, kubelogin) does not work, local clusters on 127.0.0.1 are unreachable, and a 0600 kubeconfig owned by your user is unreadable by the nonroot (uid 65532) user on Linux hosts. Prefer the native install (brew install skyhook-io/tap/radar, krew, or install script) for normal use. ```bash docker run -p 127.0.0.1:9280:9280 \ -v ~/.kube/config:/kubeconfig:ro \ -e KUBECONFIG=/kubeconfig \ ghcr.io/skyhook-io/radar:latest ``` -------------------------------- ### GET /api/applications Source: https://radarhq.io/docs/reference/api Retrieves a list of applications. ```APIDOC ## GET /api/applications ### Description Retrieves a list of applications. ### Method GET ### Endpoint /api/applications ``` -------------------------------- ### GET /api/contexts Source: https://radarhq.io/docs/reference/api Lists available kubeconfig contexts. ```APIDOC ## GET /api/contexts ### Description Lists available kubeconfig contexts. ### Method GET ### Endpoint /api/contexts ``` -------------------------------- ### Catalog Introspection via HTTP Source: https://radarhq.io/docs/features/mcp Starts Radar without Kubernetes initialization for catalog introspection. ```bash radar --mcp-catalog-only --no-browser ``` -------------------------------- ### GET /api/network-policies/evaluate Source: https://radarhq.io/docs/reference/api Evaluates network policies. ```APIDOC ## GET /api/network-policies/evaluate ### Description Evaluates network policies. ### Method GET ### Endpoint /api/network-policies/evaluate ### Response #### Success Response (200) Returns network policy evaluation results. ``` -------------------------------- ### POST /api/cloud/install/cancel Source: https://radarhq.io/docs/reference/api Cancels the cloud installation process. This is part of the Cloud Connect driver. ```APIDOC ## POST /api/cloud/install/cancel ### Description Cancels the cloud installation process. ### Method POST ### Endpoint /api/cloud/install/cancel ``` -------------------------------- ### GET /api/namespaces Source: https://radarhq.io/docs/reference/api Retrieves a list of namespaces. ```APIDOC ## GET /api/namespaces ### Description Retrieves a list of namespaces. ### Method GET ### Endpoint /api/namespaces ``` -------------------------------- ### Check Back-Channel Logout startup logs Source: https://radarhq.io/docs/configuration/authentication Verify Back-Channel Logout support in the startup logs. ```text [oidc] Backchannel Logout enabled (sid-based revocation) # or [oidc] WARNING: --auth-oidc-backchannel-logout is set, but IdP does not advertise backchannel_logout_supported. ``` -------------------------------- ### GET /mcp Source: https://radarhq.io/docs/reference/api Establishes an MCP Streamable HTTP session or SSE connection. ```APIDOC ## GET /mcp ### Description Establishes an MCP Streamable HTTP session or SSE connection. ### Method GET ### Endpoint /mcp ``` -------------------------------- ### Troubleshoot pod startup failures Source: https://radarhq.io/docs/configuration/in-cluster Use these commands to inspect logs and pod status for pods labeled with app.kubernetes.io/name=radar in the radar namespace. ```bash kubectl logs -n radar -l app.kubernetes.io/name=radar kubectl describe pod -n radar -l app.kubernetes.io/name=radar ``` -------------------------------- ### Perform pre-upgrade checks and backup Source: https://radarhq.io/docs/cloud/self-hosted/upgrade Verify the chart availability, lint the new chart against existing values, and create a Postgres database backup before proceeding with the upgrade. ```bash # 1. Verify the chart is reachable + the new version is what you expect. helm search repo skyhook/radar-hub # 2. Lint the new chart against your live values. helm get values radar-hub --namespace radar-hub > /tmp/live-values.yaml helm template radar-hub skyhook/radar-hub \ --namespace radar-hub \ -f /tmp/live-values.yaml > /tmp/rendered.yaml # 3. (Recommended) Take a backup of your Postgres. pg_dump -h -U radar radar_hub | gzip > radar-hub-pre-upgrade.sql.gz ``` -------------------------------- ### GET /api/resources/{kind} Source: https://radarhq.io/docs/reference/api Retrieves resources of a given kind. ```APIDOC ## GET /api/resources/{kind} ### Description Retrieves resources of a given kind. ### Method GET ### Endpoint /api/resources/{kind} ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of the resource. ``` -------------------------------- ### Catalog Introspection via Stdio Source: https://radarhq.io/docs/features/mcp Exposes the tool and resource catalog over stdio without starting the HTTP UI server. ```bash radar --mcp-catalog-stdio ``` -------------------------------- ### GET /api/prometheus/rightsizing/{kind}/{namespace}/{name} Source: https://radarhq.io/docs/reference/api Retrieves rightsizing recommendations for a namespaced resource. ```APIDOC ## GET /api/prometheus/rightsizing/{kind}/{namespace}/{name} ### Description Retrieves rightsizing recommendations for a namespaced resource. ### Method GET ### Endpoint /api/prometheus/rightsizing/{kind}/{namespace}/{name} ### Parameters #### Path Parameters - **kind** (string) - Required - The resource kind. - **namespace** (string) - Required - The namespace of the resource. - **name** (string) - Required - The name of the resource. ``` -------------------------------- ### GET /api/images/inspect Source: https://radarhq.io/docs/reference/api Retrieves the filesystem tree of an image. ```APIDOC ## GET /api/images/inspect ### Description Retrieves the filesystem tree of an image. ### Method GET ### Endpoint /api/images/inspect ``` -------------------------------- ### GET /api/rbac/whoami?namespace={namespace} Source: https://radarhq.io/docs/reference/api Returns RBAC information for the current user, optionally scoped to a namespace. ```APIDOC ## GET /api/rbac/whoami?namespace={namespace} ### Description Returns RBAC information for the current user, optionally scoped to a namespace. ### Method GET ### Endpoint /api/rbac/whoami?namespace={namespace} ### Parameters #### Query Parameters - **namespace** (string) - Optional - The namespace to scope the lookup. ### Response #### Success Response (200) Returns RBAC information for the current user. ``` -------------------------------- ### GET /api/opencost/workloads Source: https://radarhq.io/docs/reference/api Returns OpenCost workload data. ```APIDOC ## GET /api/opencost/workloads ### Description Returns OpenCost workload data. ### Method GET ### Endpoint /api/opencost/workloads ### Response #### Success Response (200) Returns OpenCost workload data. ``` -------------------------------- ### GET /api/settings Source: https://radarhq.io/docs/reference/api Retrieves the current settings of the RadarHQ system. ```APIDOC ## GET /api/settings ### Description Retrieves the current settings of the RadarHQ system. ### Method GET ### Endpoint /api/settings ``` -------------------------------- ### Manual Helm Installation Source: https://radarhq.io/docs/cloud/self-hosted/install Manual steps to add the Radar Helm repository, create the necessary namespace and secret, and upgrade the Helm release with cloud configuration. ```bash helm repo add skyhook https://skyhook-io.github.io/helm-charts helm repo update skyhook kubectl create namespace radar --dry-run=client -o yaml | kubectl apply -f - kubectl create secret generic radar-cloud-config -n radar \ --from-literal=token= \ --dry-run=client -o yaml | kubectl apply -f - helm upgrade --install radar skyhook/radar \ --namespace radar \ --set cloud.enabled=true \ --set cloud.url="wss://radar.acme.example/agent" \ --set cloud.clusterName= \ --set cloud.existingSecret=radar-cloud-config \ --set auth.mode=proxy \ --set rbac.helm=true \ --set rbac.secrets=true \ --set rbac.podExec=true \ --set rbac.portForward=true \ --set rbac.metrics=true \ --set rbac.selfUpgrade=true ``` -------------------------------- ### GET /api/images/metadata Source: https://radarhq.io/docs/reference/api Retrieves OCI manifest and config for an image. ```APIDOC ## GET /api/images/metadata ### Description Retrieves OCI manifest and config for an image. ### Method GET ### Endpoint /api/images/metadata ``` -------------------------------- ### Configure Gemini CLI Source: https://radarhq.io/docs/features/mcp Add the configuration to ~/.gemini/settings.json. ```json { "mcpServers": { "radar": { "httpUrl": "http://localhost:9280/mcp" } } } ``` -------------------------------- ### List Radar Helm releases Source: https://radarhq.io/docs/configuration/in-cluster Use this command to find the release name and namespace for your Radar installation. ```bash helm list --all-namespaces --filter radar ``` -------------------------------- ### GET /api/cluster-info Source: https://radarhq.io/docs/reference/api Retrieves information about the cluster. This endpoint is used to get details about the cluster configuration and status. ```APIDOC ## GET /api/cluster-info ### Description Retrieves information about the cluster. ### Method GET ### Endpoint /api/cluster-info ### Response #### Success Response (200) - No specific fields documented. #### Response Example {} ``` -------------------------------- ### GET /api/resources/{kind}/{namespace}/{name} Source: https://radarhq.io/docs/reference/api Retrieves a specific resource by kind, namespace, and name. ```APIDOC ## GET /api/resources/{kind}/{namespace}/{name} ### Description Retrieves a specific resource by kind, namespace, and name. ### Method GET ### Endpoint /api/resources/{kind}/{namespace}/{name} ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of the resource. - **namespace** (string) - Required - The namespace of the resource. - **name** (string) - Required - The name of the resource. ``` -------------------------------- ### GET /api/ai/resources/{kind} Source: https://radarhq.io/docs/reference/api Retrieves AI resources of a given kind. ```APIDOC ## GET /api/ai/resources/{kind} ### Description Retrieves AI resources of a given kind. ### Method GET ### Endpoint /api/ai/resources/{kind} ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of AI resource. ``` -------------------------------- ### GET /api/opencost/workload/{kind}/{namespace}/{name} Source: https://radarhq.io/docs/reference/api Returns OpenCost data for a specific workload. ```APIDOC ## GET /api/opencost/workload/{kind}/{namespace}/{name} ### Description Returns OpenCost data for a specific workload. ### Method GET ### Endpoint /api/opencost/workload/{kind}/{namespace}/{name} ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of workload. - **namespace** (string) - Required - The namespace. - **name** (string) - Required - The name of the workload. ### Response #### Success Response (200) Returns OpenCost data for the workload. ``` -------------------------------- ### Load kubeconfig files from a directory with --kubeconfig-dir Source: https://radarhq.io/docs/configuration/files Use --kubeconfig-dir to load valid kubeconfig files from one or more directories. Discovery is non-recursive. ```bash kubectl radar --kubeconfig-dir ~/.kube/configs/ ``` -------------------------------- ### Verify upgrade logs Source: https://radarhq.io/docs/cloud/self-hosted/upgrade Check the logs of the radar-hub deployment to ensure the control plane booted correctly and the database migration was successful. ```bash kubectl -n radar-hub logs deploy/radar-hub-hub --tail=30 ``` -------------------------------- ### GET /api/prometheus/query Source: https://radarhq.io/docs/reference/api Executes a raw PromQL query against Prometheus. ```APIDOC ## GET /api/prometheus/query ### Description Executes a raw PromQL query against Prometheus. ### Method GET ### Endpoint /api/prometheus/query ``` -------------------------------- ### GET /api/config Source: https://radarhq.io/docs/reference/api Retrieves the current configuration of the RadarHQ system. ```APIDOC ## GET /api/config ### Description Retrieves the current configuration of the RadarHQ system. ### Method GET ### Endpoint /api/config ``` -------------------------------- ### Check migrate initContainer logs Source: https://radarhq.io/docs/cloud/self-hosted/troubleshooting Use this command to view the migrate initContainer logs when the hub Pod is stuck in Init. Failure modes include 'relation "X" does not exist', 'password authentication failed', and 'connection refused'. ```bash kubectl -n radar-hub logs deploy/radar-hub-hub -c migrate ``` -------------------------------- ### GET /api/packages Source: https://radarhq.io/docs/reference/api Retrieves CNCF packages discovered, powering Fleet > Packages. ```APIDOC ## GET /api/packages ### Description Retrieves CNCF packages discovered, powering Fleet > Packages. ### Method GET ### Endpoint /api/packages ``` -------------------------------- ### POST /api/resources/preview Source: https://radarhq.io/docs/reference/api Previews a resource configuration before applying. ```APIDOC ## POST /api/resources/preview ### Description Previews a resource configuration before applying. ### Method POST ### Endpoint /api/resources/preview ``` -------------------------------- ### Configure Claude Desktop Source: https://radarhq.io/docs/features/mcp Add the configuration to ~/Library/Application Support/Claude/claude_desktop_config.json. ```json { "mcpServers": { "radar": { "type": "http", "url": "http://localhost:9280/mcp" } } } ``` -------------------------------- ### GET /api/resources/{kind}/{namespace}/{name}/cascade-preview Source: https://radarhq.io/docs/reference/api Previews the cascade deletion of a specific resource. ```APIDOC ## GET /api/resources/{kind}/{namespace}/{name}/cascade-preview ### Description Previews the cascade deletion of a specific resource. ### Method GET ### Endpoint /api/resources/{kind}/{namespace}/{name}/cascade-preview ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of the resource. - **namespace** (string) - Required - The namespace of the resource. - **name** (string) - Required - The name of the resource. ``` -------------------------------- ### Configure Ingress Basic Authentication Source: https://radarhq.io/docs/configuration/in-cluster Steps to create an auth secret and configure NGINX ingress annotations for basic authentication. ```bash # Install htpasswd if needed: brew install httpd (macOS) or apt install apache2-utils (Linux) # Create the file and enter the password when prompted htpasswd -cB auth admin # Create the secret kubectl create secret generic radar-basic-auth \ --from-file=auth \ -n radar rm auth # Clean up local file ``` ```yaml # values.yaml ingress: enabled: true className: nginx annotations: nginx.ingress.kubernetes.io/auth-type: basic nginx.ingress.kubernetes.io/auth-secret: radar-basic-auth nginx.ingress.kubernetes.io/auth-realm: "Radar" hosts: - host: radar.your-domain.com paths: - path: / pathType: Prefix ``` ```bash helm upgrade --install radar skyhook/radar \ -n radar -f values.yaml ``` -------------------------------- ### GET /api/ai/resources/{kind}/{namespace}/{name} Source: https://radarhq.io/docs/reference/api Retrieves a specific AI resource by kind, namespace, and name. ```APIDOC ## GET /api/ai/resources/{kind}/{namespace}/{name} ### Description Retrieves a specific AI resource by kind, namespace, and name. ### Method GET ### Endpoint /api/ai/resources/{kind}/{namespace}/{name} ### Parameters #### Path Parameters - **kind** (string) - Required - The kind of AI resource. - **namespace** (string) - Required - The namespace of the resource. - **name** (string) - Required - The name of the resource. ``` -------------------------------- ### GET /api/certificates Source: https://radarhq.io/docs/reference/api Retrieves certificate information. ```APIDOC ## GET /api/certificates ### Description Retrieves certificate information. ### Method GET ### Endpoint /api/certificates ``` -------------------------------- ### GET /api/portforwards/available/{type}/{namespace}/{name} Source: https://radarhq.io/docs/features/exec-and-portforward Returns which ports a target exposes for port forwarding. ```APIDOC ## GET /api/portforwards/available/{type}/{namespace}/{name} ### Description Returns which ports a target exposes for port forwarding. ### Method GET ### Endpoint /api/portforwards/available/{type}/{namespace}/{name} ### Parameters #### Path Parameters - **type** (string) - Required - The resource type (e.g., pod, service). - **namespace** (string) - Required - The namespace of the target. - **name** (string) - Required - The name of the target. ### Response #### Success Response (200) - **ports** (array) - List of available ports. #### Response Example { "ports": [] } ``` -------------------------------- ### GET /api/desktop/update/status Source: https://radarhq.io/docs/reference/api Retrieves the status of the desktop app self-update. This is a no-op outside the desktop binary. ```APIDOC ## GET /api/desktop/update/status ### Description Retrieves the status of the desktop app self-update. ### Method GET ### Endpoint /api/desktop/update/status ``` -------------------------------- ### POST /api/desktop/update/apply Source: https://radarhq.io/docs/reference/api Applies the desktop app self-update. This is a no-op outside the desktop binary. ```APIDOC ## POST /api/desktop/update/apply ### Description Applies the desktop app self-update. ### Method POST ### Endpoint /api/desktop/update/apply ``` -------------------------------- ### GET /debug/pprof/* Source: https://radarhq.io/docs/reference/api pprof profiling endpoints for runtime profiling data. These routes are disabled in Cloud mode. ```APIDOC ## GET /debug/pprof/* ### Description pprof profiling endpoints for runtime profiling data. These routes are disabled in Cloud mode. ### Method GET ### Endpoint /debug/pprof/* ### Response #### Success Response (200) - **body** (binary) - Profiling data in pprof format. #### Response Example (No example provided in source.) ``` -------------------------------- ### GET /api/traffic/source Source: https://radarhq.io/docs/reference/api Returns a traffic source. ```APIDOC ## GET /api/traffic/source ### Description Returns a traffic source. ### Method GET ### Endpoint /api/traffic/source ### Response #### Success Response (200) Returns a traffic source. ``` -------------------------------- ### Query upgrade readiness via curl Source: https://radarhq.io/docs/features/upgrade-impact Use this curl command to query the upgrade readiness API. The response includes currentVersion, targetVersion, reviewedThrough, verdict, summary counts, per-check findings, and coverage metadata. Omit the target parameter to scan the next Kubernetes minor. ```bash curl 'http://127.0.0.1:9280/api/upgrade-readiness?target=1.37' ``` -------------------------------- ### POST /api/desktop/open-folder Source: https://radarhq.io/docs/reference/api Opens a folder in the desktop app. This is a no-op outside the desktop binary. ```APIDOC ## POST /api/desktop/open-folder ### Description Opens a folder in the desktop app. This is a no-op outside the desktop binary. ### Method POST ### Endpoint /api/desktop/open-folder ``` -------------------------------- ### GET /api/traffic/flows Source: https://radarhq.io/docs/reference/api Returns traffic flows. ```APIDOC ## GET /api/traffic/flows ### Description Returns traffic flows. ### Method GET ### Endpoint /api/traffic/flows ### Response #### Success Response (200) Returns traffic flows. ``` -------------------------------- ### GET /api/traffic/sources Source: https://radarhq.io/docs/reference/api Returns traffic sources. ```APIDOC ## GET /api/traffic/sources ### Description Returns traffic sources. ### Method GET ### Endpoint /api/traffic/sources ### Response #### Success Response (200) Returns traffic sources. ``` -------------------------------- ### Check hub container logs for /api/config 503 Source: https://radarhq.io/docs/cloud/self-hosted/troubleshooting Use this command to view the last 50 lines of hub logs when the control plane starts but /api/config returns 503. Look for 'db connection: ...' indicating the DB is unreachable mid-flight. ```bash kubectl -n radar-hub logs deploy/radar-hub-hub -c hub --tail=50 ``` -------------------------------- ### GET /api/timeline/events Source: https://radarhq.io/docs/reference/api Retrieves timeline events. ```APIDOC ## GET /api/timeline/events ### Description Retrieves timeline events. ### Method GET ### Endpoint /api/timeline/events ``` -------------------------------- ### Diagnose Argo Rollout resource Source: https://radarhq.io/docs/features/mcp Example of identifying an Argo Rollout resource by specifying its kind, group, namespace, and name. ```json {"kind":"Rollout","group":"argoproj.io","namespace":"prod","name":"checkout"} ``` -------------------------------- ### GET /api/changes Source: https://radarhq.io/docs/reference/api Retrieves a list of changes. ```APIDOC ## GET /api/changes ### Description Retrieves a list of changes. ### Method GET ### Endpoint /api/changes ``` -------------------------------- ### GET /api/events Source: https://radarhq.io/docs/reference/api Retrieves a list of events. ```APIDOC ## GET /api/events ### Description Retrieves a list of events. ### Method GET ### Endpoint /api/events ``` -------------------------------- ### POST /api/resources/apply Source: https://radarhq.io/docs/reference/api Applies a resource configuration. ```APIDOC ## POST /api/resources/apply ### Description Applies a resource configuration. ### Method POST ### Endpoint /api/resources/apply ``` -------------------------------- ### POST /api/desktop/open-url Source: https://radarhq.io/docs/reference/api Opens a URL in the desktop app. This is a no-op outside the desktop binary. ```APIDOC ## POST /api/desktop/open-url ### Description Opens a URL in the desktop app. This is a no-op outside the desktop binary. ### Method POST ### Endpoint /api/desktop/open-url ``` -------------------------------- ### GET /api/topology Source: https://radarhq.io/docs/reference/api Retrieves the topology of resources. ```APIDOC ## GET /api/topology ### Description Retrieves the topology of resources. ### Method GET ### Endpoint /api/topology ``` -------------------------------- ### GET /api/issues Source: https://radarhq.io/docs/reference/api Retrieves a list of issues. ```APIDOC ## GET /api/issues ### Description Retrieves a list of issues. ### Method GET ### Endpoint /api/issues ``` -------------------------------- ### POST /api/opencost/application Source: https://radarhq.io/docs/reference/api Creates an OpenCost application. ```APIDOC ## POST /api/opencost/application ### Description Creates an OpenCost application. ### Method POST ### Endpoint /api/opencost/application ### Response #### Success Response (200) Confirms creation of the OpenCost application. ``` -------------------------------- ### GET /api/applications/history Source: https://radarhq.io/docs/reference/api Retrieves the history of applications. ```APIDOC ## GET /api/applications/history ### Description Retrieves the history of applications. ### Method GET ### Endpoint /api/applications/history ``` -------------------------------- ### Configure Cursor Source: https://radarhq.io/docs/features/mcp Add the configuration to ~/.cursor/mcp.json. ```json { "mcpServers": { "radar": { "url": "http://localhost:9280/mcp" } } } ``` -------------------------------- ### GET /api/diagnose/runs Source: https://radarhq.io/docs/reference/api Retrieves the list of diagnose runs. ```APIDOC ## GET /api/diagnose/runs ### Description Retrieves the list of diagnose runs. ### Method GET ### Endpoint /api/diagnose/runs ``` -------------------------------- ### GET /api/secrets/certificate-expiry Source: https://radarhq.io/docs/reference/api Retrieves certificate expiry information. ```APIDOC ## GET /api/secrets/certificate-expiry ### Description Retrieves certificate expiry information. ### Method GET ### Endpoint /api/secrets/certificate-expiry ``` -------------------------------- ### GET /api/connection Source: https://radarhq.io/docs/reference/api Retrieves the current connection status. ```APIDOC ## GET /api/connection ### Description Retrieves the current connection status. ### Method GET ### Endpoint /api/connection ``` -------------------------------- ### POST /api/desktop/open-file Source: https://radarhq.io/docs/reference/api Opens a file in the desktop app. This is a no-op outside the desktop binary. ```APIDOC ## POST /api/desktop/open-file ### Description Opens a file in the desktop app. This is a no-op outside the desktop binary. ### Method POST ### Endpoint /api/desktop/open-file ``` -------------------------------- ### GET /api/prometheus/cluster Source: https://radarhq.io/docs/reference/api Retrieves cluster-level Prometheus data. ```APIDOC ## GET /api/prometheus/cluster ### Description Retrieves cluster-level Prometheus data. ### Method GET ### Endpoint /api/prometheus/cluster ``` -------------------------------- ### GET /api/prometheus/status Source: https://radarhq.io/docs/reference/api Retrieves the status of the Prometheus connection. ```APIDOC ## GET /api/prometheus/status ### Description Retrieves the status of the Prometheus connection. ### Method GET ### Endpoint /api/prometheus/status ``` -------------------------------- ### Add the chart repository Source: https://radarhq.io/docs/cloud/self-hosted/install Add the Skyhook Helm repository and update the local cache. ```bash helm repo add skyhook https://skyhook-io.github.io/helm-charts helm repo update ``` -------------------------------- ### Check previous hub container logs for CrashLoopBackOff Source: https://radarhq.io/docs/cloud/self-hosted/troubleshooting Use --previous because the main container dies on misconfiguration and the current pod may not have logs yet. Common boot errors include missing auth configuration and short HUB_COOKIE_PASSWORD. ```bash kubectl -n radar-hub logs deploy/radar-hub-hub -c hub --previous ``` -------------------------------- ### GET /api/opencost/nodes Source: https://radarhq.io/docs/reference/api Returns OpenCost node data. ```APIDOC ## GET /api/opencost/nodes ### Description Returns OpenCost node data. ### Method GET ### Endpoint /api/opencost/nodes ### Response #### Success Response (200) Returns OpenCost node data. ``` -------------------------------- ### Check OIDC logout startup logs Source: https://radarhq.io/docs/configuration/authentication Verify RP-Initiated Logout status in the startup logs. ```text [oidc] RP-Initiated Logout enabled (end_session_endpoint discovered) # or [oidc] IdP does not advertise end_session_endpoint - will use prompt=login on next auth after logout ``` -------------------------------- ### GET /api/opencost/trend Source: https://radarhq.io/docs/reference/api Returns OpenCost trend data. ```APIDOC ## GET /api/opencost/trend ### Description Returns OpenCost trend data. ### Method GET ### Endpoint /api/opencost/trend ### Response #### Success Response (200) Returns OpenCost trend data. ``` -------------------------------- ### Configure OpenAI Codex Source: https://radarhq.io/docs/features/mcp Add the configuration to ~/.codex/config.toml. ```toml [mcp_servers.radar] url = "http://localhost:9280/mcp" ``` -------------------------------- ### Configure local development probe image Source: https://radarhq.io/docs/features/reachability Use these commands to build a local probe image and configure Radar to use it during development. ```bash make kind-load-probe # builds radar-probe:dev and kind-loads it radar --reachability-image radar-probe:dev ... ``` -------------------------------- ### GET /api/traffic/connection Source: https://radarhq.io/docs/reference/api Returns traffic connection information. ```APIDOC ## GET /api/traffic/connection ### Description Returns traffic connection information. ### Method GET ### Endpoint /api/traffic/connection ### Response #### Success Response (200) Returns traffic connection information. ``` -------------------------------- ### Configure Image Overrides Source: https://radarhq.io/docs/cloud/self-hosted/configuration Use these settings to pin or repoint the hub and web images to a private mirror. Ensure the tags match the release version. ```yaml image: hub: repository: my-mirror.example/skyhook/radar-hub tag: MATCHING_RELEASE_TAG web: repository: my-mirror.example/skyhook/radar-hub-web tag: MATCHING_RELEASE_TAG imagePullSecrets: - name: my-mirror-pull-secret ``` -------------------------------- ### GET /api/api-resources Source: https://radarhq.io/docs/reference/api Retrieves the available API resources. ```APIDOC ## GET /api/api-resources ### Description Retrieves the available API resources. ### Method GET ### Endpoint /api/api-resources ``` -------------------------------- ### GET /api/search Source: https://radarhq.io/docs/reference/api Performs a search across resources. ```APIDOC ## GET /api/search ### Description Performs a search across resources. ### Method GET ### Endpoint /api/search ``` -------------------------------- ### Combine primary kubeconfig and directory with --kubeconfig and --kubeconfig-dir Source: https://radarhq.io/docs/configuration/files Combine a primary kubeconfig file with a directory of kubeconfigs. Primary paths are ordered first. ```bash kubectl radar --kubeconfig ~/.kube/config --kubeconfig-dir ~/.kube/configs/ ``` -------------------------------- ### GET /api/resource-counts Source: https://radarhq.io/docs/reference/api Retrieves resource counts for the dashboard. ```APIDOC ## GET /api/resource-counts ### Description Retrieves resource counts for the dashboard. ### Method GET ### Endpoint /api/resource-counts ``` -------------------------------- ### GET /api/integrations/argocd/status Source: https://radarhq.io/docs/reference/api Retrieves the status of the ArgoCD integration. ```APIDOC ## GET /api/integrations/argocd/status ### Description Retrieves the status of the ArgoCD integration. ### Method GET ### Endpoint /api/integrations/argocd/status ``` -------------------------------- ### Configure break-glass admin with pre-hashed password Source: https://radarhq.io/docs/cloud/self-hosted/auth Generate a bcrypt hash using htpasswd and provide it to helm install. This is the preferred method for production environments. ```bash # Pre-hashed - preferred for production. Generate the hash anywhere with bcrypt. htpasswd -bnBC 12 "" 'supersecret123' | tr -d ':\n' # → $2y$12$XYZ... helm install ... \ --set auth.breakGlass.email=admin@acme.example \ --set 'auth.breakGlass.passwordHash=$2y$12$XYZ...' ``` -------------------------------- ### GET /api/portforwards Source: https://radarhq.io/docs/features/exec-and-portforward Lists all active port forwards. ```APIDOC ## GET /api/portforwards ### Description Lists all active port forwards. ### Method GET ### Endpoint /api/portforwards ### Response #### Success Response (200) - **portforwards** (array) - List of active port forwards. #### Response Example { "portforwards": [] } ``` -------------------------------- ### GET /api/metrics/top/resources Source: https://radarhq.io/docs/reference/api Retrieves top Kubernetes resources metrics. ```APIDOC ## GET /api/metrics/top/resources ### Description Retrieves top Kubernetes resources metrics. ### Method GET ### Endpoint /api/metrics/top/resources ``` -------------------------------- ### Kubectl reproducer commands Source: https://radarhq.io/docs/features/reachability One-liner commands to inspect the raw state of services, pods, and HTTPRoute status for troubleshooting findings. ```bash kubectl describe service api -n prod kubectl get pods -n prod -l app=api kubectl get httproute api-route -n prod -o jsonpath='{.status.parents}' ``` -------------------------------- ### GET /api/metrics/top/nodes Source: https://radarhq.io/docs/reference/api Retrieves top Kubernetes nodes metrics. ```APIDOC ## GET /api/metrics/top/nodes ### Description Retrieves top Kubernetes nodes metrics. ### Method GET ### Endpoint /api/metrics/top/nodes ``` -------------------------------- ### Configure timeline storage via CLI flags Source: https://radarhq.io/docs/features/timeline Shows how to start Radar with in-memory or SQLite storage using CLI flags. In-memory is default and cleared on restart, with a hard cap of --history-limit events. SQLite persists across restarts, with path defaulting to ~/.radar/timeline.db unless overridden. ```bash # In-memory (default). Cleared on restart. Up to --history-limit events. radar --timeline-storage=memory --history-limit=10000 # SQLite. Persists across restarts. Path = ~/.radar/timeline.db unless overridden. radar --timeline-storage=sqlite --timeline-db=$HOME/.radar/timeline.db ``` -------------------------------- ### GET /api/metrics/top/pods Source: https://radarhq.io/docs/reference/api Retrieves top Kubernetes pods metrics. ```APIDOC ## GET /api/metrics/top/pods ### Description Retrieves top Kubernetes pods metrics. ### Method GET ### Endpoint /api/metrics/top/pods ``` -------------------------------- ### Configure VS Code Copilot Source: https://radarhq.io/docs/features/mcp Add the configuration to .vscode/mcp.json in your workspace. ```json { "servers": { "radar": { "type": "http", "url": "http://localhost:9280/mcp" } } } ``` -------------------------------- ### GET /api/github/starred Source: https://radarhq.io/docs/reference/api Retrieves the starred status of the GitHub repository. ```APIDOC ## GET /api/github/starred ### Description Retrieves the starred status of the GitHub repository. ### Method GET ### Endpoint /api/github/starred ``` -------------------------------- ### Configure Windsurf Source: https://radarhq.io/docs/features/mcp Add the configuration to ~/.codeium/windsurf/mcp_config.json. ```json { "mcpServers": { "radar": { "serverUrl": "http://localhost:9280/mcp" } } } ``` -------------------------------- ### GET /api/cluster/namespace-scope Source: https://radarhq.io/docs/reference/api Retrieves the current namespace scope for the cluster. ```APIDOC ## GET /api/cluster/namespace-scope ### Description Retrieves the current namespace scope for the cluster. ### Method GET ### Endpoint /api/cluster/namespace-scope ``` -------------------------------- ### Configure OIDC via Helm Source: https://radarhq.io/docs/cloud/self-hosted/install Use this command to layer OIDC authentication on top of an existing installation. Ensure the break-glass authentication is verified before proceeding. ```bash helm upgrade radar-hub skyhook/radar-hub \ --namespace radar-hub \ --reset-then-reuse-values \ --set auth.oidc.issuer=https://acme.okta.com \ --set auth.oidc.clientID=$OIDC_CLIENT_ID \ --set auth.oidc.clientSecret=$OIDC_CLIENT_SECRET \ --set auth.oidc.callbackURL=https://radar.acme.example/api/auth/oidc/callback \ --set auth.oidc.defaultRole=member ``` -------------------------------- ### GET /api/images/file Source: https://radarhq.io/docs/reference/api Retrieves the content of a single file from an image. ```APIDOC ## GET /api/images/file ### Description Retrieves the content of a single file from an image. ### Method GET ### Endpoint /api/images/file ``` -------------------------------- ### Monitor Radar Hub Deployment Source: https://radarhq.io/docs/cloud/self-hosted/install Commands to watch the status of pods and inspect logs for the migration and hub containers during startup. ```bash kubectl -n radar-hub get pods -w kubectl -n radar-hub logs deploy/radar-hub-hub -c migrate kubectl -n radar-hub logs deploy/radar-hub-hub -c hub --tail=50 ``` -------------------------------- ### GET /api/dashboard Source: https://radarhq.io/docs/reference/api Retrieves dashboard data for the RadarHQ system. ```APIDOC ## GET /api/dashboard ### Description Retrieves dashboard data for the RadarHQ system. ### Method GET ### Endpoint /api/dashboard ``` -------------------------------- ### GET /api/settings/audit Source: https://radarhq.io/docs/reference/api Retrieves the audit settings of the RadarHQ system. ```APIDOC ## GET /api/settings/audit ### Description Retrieves the audit settings of the RadarHQ system. ### Method GET ### Endpoint /api/settings/audit ``` -------------------------------- ### POST /api/prometheus/connect Source: https://radarhq.io/docs/reference/api Establishes a connection to Prometheus. ```APIDOC ## POST /api/prometheus/connect ### Description Establishes a connection to Prometheus. ### Method POST ### Endpoint /api/prometheus/connect ``` -------------------------------- ### GET /api/prometheus/namespace/{namespace} Source: https://radarhq.io/docs/reference/api Retrieves Prometheus data for a specific namespace. ```APIDOC ## GET /api/prometheus/namespace/{namespace} ### Description Retrieves Prometheus data for a specific namespace. ### Method GET ### Endpoint /api/prometheus/namespace/{namespace} ### Parameters #### Path Parameters - **namespace** (string) - Required - The namespace to query. ``` -------------------------------- ### GET /api/policy/policies/{policy} Source: https://radarhq.io/docs/reference/api Returns policy findings for a specific policy. ```APIDOC ## GET /api/policy/policies/{policy} ### Description Returns policy findings for a specific policy. ### Method GET ### Endpoint /api/policy/policies/{policy} ### Parameters #### Path Parameters - **policy** (string) - Required - The policy identifier. ### Response #### Success Response (200) Returns policy findings for the policy. ``` -------------------------------- ### Inspect Auth Proxy Logs Source: https://radarhq.io/docs/configuration/authentication Use this command to verify if the auth proxy is correctly setting the X-Forwarded-User header by inspecting the logs of the radar application. ```bash kubectl logs -n radar -l app.kubernetes.io/name=radar | grep "auth" ``` -------------------------------- ### GET /api/events/stream Source: https://radarhq.io/docs/reference/api Streams events using Server-Sent Events (SSE). ```APIDOC ## GET /api/events/stream ### Description Streams events using Server-Sent Events (SSE). ### Method GET ### Endpoint /api/events/stream ```