Skip to content

[dashboard] Update openapi-ui v1.0.3 + fixes - #1564

Merged
Andrei Kvapil (kvaps) merged 2 commits into
mainfrom
upd-dashboard
Oct 31, 2025
Merged

[dashboard] Update openapi-ui v1.0.3 + fixes#1564
Andrei Kvapil (kvaps) merged 2 commits into
mainfrom
upd-dashboard

Conversation

@kvaps

@kvaps Andrei Kvapil (kvaps) commented Oct 31, 2025

Copy link
Copy Markdown
Member

Signed-off-by: Andrei Kvapil kvapss@gmail.com

What this PR does

Release note

[dashboard] Update openapi-ui v1.0.3 + fixes

Summary by CodeRabbit

  • Bug Fixes

    • Made YAML editor read-only in details and Secrets views
    • Fixed API request header handling to avoid stream aborts (removed content-length)
    • Updated resource API endpoint paths for correct data retrieval
    • Removed an inside-clusters navigation item from the user menu
  • Chores

    • Updated container image references and build commit versions for dashboard components
  • Refactor

    • Adjusted navigation handling for certain tenant module resources to correct target paths

@dosubot dosubot Bot added the size/L This PR changes 100-499 lines, ignoring generated files label Oct 31, 2025
@coderabbitai

coderabbitai Bot commented Oct 31, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Updated OpenAPI UI and toolkit build commits and patch application; changed namespaces API paths and request header handling; adjusted table rendering/navigation for tenantmodules; removed an "inside/clusters" menu item; made YAML editors read-only; updated Helm image references.

Changes

Cohort / File(s) Summary
Docker Build Configuration
packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile, packages/system/dashboard/images/openapi-ui/Dockerfile
Bumped default ARG commit refs; added git/tooling in build images and unified patch application by copying and applying patches/*.diff during build.
OpenAPI K8s BFF patches
packages/system/dashboard/images/openapi-ui-k8s-bff/patches/namespaces.diff
Renamed prepareFormProps path, removed content-length header, and switched namespaces endpoint to /apis/core.cozystack.io/v1alpha1/tenantnamespaces.
OpenAPI UI toolkit patches
packages/system/dashboard/images/openapi-ui/openapi-k8s-toolkit/patches/tenantmodules.diff
Added pluralization helper; changed getCellRender render callback to accept (value, record); added custom edit-navigation remapping for tenantmodules (core.cozystack.io -> apps.cozystack.io) and pluralized typeName for navigation URL construction.
OpenAPI UI patches
packages/system/dashboard/images/openapi-ui/openapi-ui/patches/namespaces.diff, packages/system/dashboard/images/openapi-ui/openapi-ui/patches/remove-inside-link.diff
Replaced builtin resource hook with API-specific calls (apiGroup/apiVersion/typeName) and isEnabled gating; removed the menu item linking to inside/clusters.
Helm Chart Configuration
packages/system/dashboard/values.yaml
Updated openapiUI and openapiUIK8sBff image references to use new tags and sha256 digests.
Dashboard Controller Configuration
internal/controller/dashboard/factory.go, internal/controller/dashboard/static_refactored.go
Set readOnly: true for YAML editor tab in detail and secrets factory definitions.

Sequence Diagram(s)

sequenceDiagram
    participant User as Dashboard User
    participant UI as Dashboard UI
    participant Nav as Navigation Router
    participant Adapter as API Adapter
    participant API as Namespaces API

    rect rgb(245,250,255)
    note right of Nav: Edit navigation and API mapping (tenantmodules special-case)
    end

    User->>UI: Click "Edit" / open YAML
    UI->>Nav: Resolve resource type & apiGroup/apiVersion/typeName
    alt resource is core.cozystack.io/tenantmodules
        Nav->>Adapter: Remap apiGroup to apps.cozystack.io<br/>Pluralize typeName
        Adapter->>API: Request resource via /apis/.../tenantnamespaces (patched endpoint)
    else other resources
        Nav->>Adapter: Use configured apiGroup/apiVersion/typeName
        Adapter->>API: Request resource via /apis/.../tenantnamespaces
    end
    API-->>Adapter: Return resource payload
    Adapter-->>UI: Render editor (YAML marked readOnly if configured)
    note over UI: content-length header removed from proxied requests
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Areas to focus on:
    • getCellRender signature change — find all call sites to ensure record is provided.
    • tenantmodules remapping logic — verify correctness of apiGroup/version/typeName transformation and URL construction.
    • Namespaces endpoint and header deletion — confirm compatibility with backend (tenantnamespaces) and that removing content-length is safe.
    • Dockerfile patch steps — ensure patches apply cleanly and that build refs match the intended commits.
    • YAML readOnly flag — confirm UX impact where edits were previously allowed (linked issue new dashboard cannot update monitoring yaml #1550).

Possibly related PRs

Suggested labels

bug

Suggested reviewers

  • lllamnyp
  • nbykov0

Poem

🐰 I hopped through patches, small and spry,
Changed commits and routes beneath the sky.
I hid one link and kept the YAML still,
Remapped tenantmodules with gentle skill.
A tiny patch, a quiet cheer — the dashboard's brighter here! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "[dashboard] Update openapi-ui v1.0.3 + fixes" directly aligns with the primary changes in the changeset. The modifications update the openapi-ui component's Docker images with new commit references, apply multiple patches to the openapi-ui and openapi-ui-k8s-bff containers, and update image references in values.yaml to the latest tags. Additionally, the PR includes several fixes such as adding readOnly flags to YAML editors and removing a menu item. The title is concise, clear, and specific enough for developers reviewing the history to understand this is a dashboard component update with associated fixes.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5a982d8 and bd9dcb5.

📒 Files selected for processing (9)
  • internal/controller/dashboard/factory.go (1 hunks)
  • internal/controller/dashboard/static_refactored.go (1 hunks)
  • packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile (1 hunks)
  • packages/system/dashboard/images/openapi-ui-k8s-bff/patches/namespaces.diff (1 hunks)
  • packages/system/dashboard/images/openapi-ui/Dockerfile (2 hunks)
  • packages/system/dashboard/images/openapi-ui/openapi-k8s-toolkit/patches/tenantmodules.diff (1 hunks)
  • packages/system/dashboard/images/openapi-ui/openapi-ui/patches/namespaces.diff (3 hunks)
  • packages/system/dashboard/images/openapi-ui/openapi-ui/patches/remove-inside-link.diff (1 hunks)
  • packages/system/dashboard/values.yaml (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello Andrei Kvapil (@kvaps), I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant update to the dashboard's openapi-ui and openapi-ui-k8s-bff components. The core purpose is to integrate the latest versions of these upstream projects, which brings improvements to resource fetching mechanisms, internal API endpoint naming conventions, and overall stability. This ensures the dashboard remains current with its dependencies and benefits from the most recent feature enhancements and bug fixes.

Highlights

  • Dependency Updates: The openapi-ui and openapi-ui-k8s-bff components have been updated to their latest versions, incorporating recent changes and improvements from their upstream repositories.
  • Refactored Resource Fetching: The openapi-ui component now utilizes useApiResources instead of useBuiltinResources for fetching namespaces, along with isEnabled checks to optimize conditional data loading.
  • Backend-for-Frontend Endpoint Renaming: A patch for openapi-ui-k8s-bff reflects an internal file rename from formPrepare.ts to prepareFormProps.ts, indicating a refactor in the form preparation logic.
  • Container Image Updates: The values.yaml file has been updated with new SHA256 digests for the openapi-ui and openapi-ui-k8s-bff container images, ensuring the deployment uses the specified new versions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment Gemini (@gemini-code-assist) Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates openapi-ui and its related dependencies to a newer version. The changes primarily involve updating commit references in Dockerfiles, image digests in values.yaml, and adjusting patch files to align with upstream API changes. The modifications within the patch files, such as switching to useApiResources and updating API endpoints, appear correct. My main concern is the addition of an error.json file, which seems to be a debug log and should not be part of the source repository. I've left a comment to remove it.

Comment thread packages/system/dashboard/error.json Outdated
Comment on lines +1 to +166
{
"level": "info",
"message": "POST /openapi-bff/forms/formPrepare/prepareFormProps 500 63ms",
"meta": {
"req": {
"body": {
"clusterName": "default",
"customizationId": "default-/apps.cozystack.io/v1alpha1/kuberneteses",
"data": {
"apiGroup": "apps.cozystack.io",
"apiVersion": "v1alpha1",
"prefillValuesSchema": {
"apiVersion": "apps.cozystack.io/v1alpha1",
"kind": "Kubernetes",
"metadata": {
"creationTimestamp": "2025-10-10T09:53:05Z",
"name": "mynewkubecluster",
"namespace": "tenant-kvaps",
"resourceVersion": "280741216",
"uid": "19c00341-06cd-4a4f-b657-46c40b81f13d"
},
"spec": {
"addons": {
"certManager": {
"enabled": true,
"valuesOverride": {}
},
"cilium": {
"valuesOverride": {}
},
"coredns": {
"valuesOverride": {}
},
"fluxcd": {
"enabled": false,
"valuesOverride": {}
},
"gatewayAPI": {
"enabled": false
},
"gpuOperator": {
"enabled": false,
"valuesOverride": {}
},
"ingressNginx": {
"enabled": true,
"exposeMethod": "Proxied",
"hosts": [],
"valuesOverride": {}
},
"monitoringAgents": {
"enabled": false,
"valuesOverride": {}
},
"velero": {
"enabled": false,
"valuesOverride": {}
},
"verticalPodAutoscaler": {
"valuesOverride": {}
}
},
"controlPlane": {
"apiServer": {
"resources": {},
"resourcesPreset": "medium"
},
"controllerManager": {
"resources": {},
"resourcesPreset": "micro"
},
"konnectivity": {
"server": {
"resources": {},
"resourcesPreset": "micro"
}
},
"replicas": 2,
"scheduler": {
"resources": {},
"resourcesPreset": "micro"
}
},
"host": "",
"nodeGroups": {
"md0": {
"ephemeralStorage": "20Gi",
"gpus": [],
"instanceType": "u1.medium",
"maxReplicas": 3,
"minReplicas": 2,
"resources": {},
"roles": [
"ingress-nginx"
]
}
},
"storageClass": "replicated",
"version": "v1.33"
},
"status": {
"conditions": [
{
"lastTransitionTime": "2025-10-13T14:43:14Z",
"message": "Helm upgrade succeeded for release tenant-kvaps/kubernetes-mynewkubecluster.v5 with chart kubernetes@0.37.1",
"reason": "UpgradeSucceeded",
"status": "True",
"type": "Ready"
},
{
"lastTransitionTime": "2025-10-13T14:43:14Z",
"message": "Helm upgrade succeeded for release tenant-kvaps/kubernetes-mynewkubecluster.v5 with chart kubernetes@0.37.1",
"reason": "UpgradeSucceeded",
"status": "True",
"type": "Released"
}
],
"version": "0.37.1"
}
},
"type": "apis",
"typeName": "kuberneteses"
}
},
"headers": {
"accept": "application/json, text/plain, */*",
"accept-encoding": "gzip, deflate, br, zstd",
"accept-language": "en-GB,en-US;q=0.9,en;q=0.8",
"authorization": "<redacted>",
"connection": "close",
"content-length": "1956",
"content-type": "application/json",
"cookie": "<redacted>",
"host": "incloud-web-web.cozy-dashboard.svc:64231",
"origin": "https://dashboard.dev5.infra.aenix.org",
"priority": "u=1, i",
"referer": "https://dashboard.dev5.infra.aenix.org/openapi-ui/default/tenant-kvaps/forms/apis/apps.cozystack.io/v1alpha1/kuberneteses/mynewkubecluster?backlink=%2Fopenapi-ui%2Fdefault%2Ftenant-kvaps%2Fapi-table%2Fapps.cozystack.io%2Fv1alpha1%2Fkuberneteses",
"sec-ch-ua": "\"Chromium\";v=\"140\", \"Not=A?Brand\";v=\"24\", \"Google Chrome\";v=\"140\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"x-forwarded-access-token": "<redacted>",
"x-forwarded-email": "kvapss@gmail.com",
"x-forwarded-for": "127.0.0.1, 10.244.0.74",
"x-forwarded-groups": "cozystack-cluster-admin,tenant-kvaps-admin",
"x-forwarded-host": "dashboard.dev5.infra.aenix.org",
"x-forwarded-port": "443",
"x-forwarded-preferred-username": "kvaps",
"x-forwarded-proto": "http",
"x-forwarded-scheme": "https",
"x-forwarded-user": "ad9d8f12-0158-4747-9917-35af74ea3f48",
"x-real-ip": "127.0.0.1",
"x-request-id": "b47d2ac507874dcfb9ca104d69c0df7a",
"x-scheme": "https"
}
},
"res": {
"body": {}
},
"responseTime": 63
},
"timestamp": "2025-10-30 19:15:30"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This JSON file appears to be a debug log. Such files should generally not be committed to the source code repository as they can bloat the repository history and may inadvertently contain sensitive information, even with redactions. It's recommended to remove this file from the pull request. If this information is necessary for tracking an issue, it would be better to attach it to the corresponding issue or ticket rather than committing it to the codebase.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/system/dashboard/values.yaml (1)

2-4: Consider using semantic version tags instead of :latest.

While the SHA256 digests effectively pin the images to specific versions, using :latest as the tag is generally not ideal for production deployments:

  • Makes it harder to identify which version is deployed at a glance
  • Semantic version tags (e.g., v1.0.3) provide better traceability and rollback clarity

The current setup is safe due to SHA256 pinning, but semantic versioning would improve operational clarity.

Consider updating to:

openapiUI:
  image: ghcr.io/cozystack/cozystack/openapi-ui:v1.0.3@sha256:890de65079967507c580aa89a27298c4b325edb748e9afe25d054c9cff20500c
openapiUIK8sBff:
  image: ghcr.io/cozystack/cozystack/openapi-ui-k8s-bff:v1.0.3@sha256:d2200791865a84640722079f2a3194af0c67d83c27c1bd303215183450265485
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8f5adcc and 5a982d8.

📒 Files selected for processing (6)
  • packages/system/dashboard/error.json (1 hunks)
  • packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile (1 hunks)
  • packages/system/dashboard/images/openapi-ui-k8s-bff/patches/namespaces.diff (1 hunks)
  • packages/system/dashboard/images/openapi-ui/Dockerfile (2 hunks)
  • packages/system/dashboard/images/openapi-ui/patches/namespaces.diff (3 hunks)
  • packages/system/dashboard/values.yaml (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-05-14T16:58:01.478Z
Learnt from: nbykov0
Repo: cozystack/cozystack PR: 932
File: packages/system/dashboard/images/kubeapps-apis/Dockerfile:15-17
Timestamp: 2025-05-14T16:58:01.478Z
Learning: When working with Dockerfiles for cross-architecture builds in the kubeapps-apis component, the `TARGETOS` and `TARGETARCH` build arguments should be declared without default values so that Docker's buildx system can automatically set these variables based on the specified target platform.

Applied to files:

  • packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile
  • packages/system/dashboard/images/openapi-ui/Dockerfile
📚 Learning: 2025-05-14T16:54:50.368Z
Learnt from: nbykov0
Repo: cozystack/cozystack PR: 932
File: packages/apps/kubernetes/images/cluster-autoscaler/Dockerfile:3-4
Timestamp: 2025-05-14T16:54:50.368Z
Learning: In Dockerfiles for the cozystack project, ARG ordering where a variable like ${TARGETARCH} is referenced before being declared can still work correctly in practice because Docker's BuildKit may evaluate the variable only when it's actually used in a FROM statement.

Applied to files:

  • packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile
  • packages/system/dashboard/images/openapi-ui/Dockerfile
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build
🔇 Additional comments (7)
packages/system/dashboard/images/openapi-ui-k8s-bff/patches/namespaces.diff (2)

8-9: LGTM: Header filtering improvements.

Removing both the host and content-length headers is appropriate:

  • The host header prevents internal service details from leaking
  • The content-length header removal resolves stream abortion issues

The inline comment on line 9 effectively documents the rationale.


17-18: LGTM: Namespace API migration.

The change from /api/v1/namespaces to /apis/core.cozystack.io/v1alpha1/tenantnamespaces aligns with the broader migration to custom API resources seen throughout this PR. This ensures consistency with the UI changes in the openapi-ui patches.

packages/system/dashboard/images/openapi-ui/patches/namespaces.diff (3)

1-36: LGTM: Migration to API resources in ListInsideClusterAndNs.

The changes correctly migrate from useBuiltinResources to useApiResources:

  • Proper import of API group/version/resource constants
  • Correct usage of selectedCluster || '' with appropriate fallback
  • Good addition of isEnabled gating to prevent API calls when no cluster is selected

This ensures namespace data is fetched from the custom API resource rather than the built-in Kubernetes resource.


37-67: LGTM: Consistent migration in useNavSelectorInside hook.

The hook follows the same migration pattern:

  • Replaces useBuiltinResources with useApiResources
  • Uses the same API group/version/resource constants
  • Properly gates with isEnabled: Boolean(clusterName) to avoid unnecessary requests

The implementation is consistent with the changes in ListInsideClusterAndNs.tsx.


68-87: LGTM: Backlink updates align with API migration.

The backlink path updates from builtin-table/namespaces to api-table/core.cozystack.io/v1alpha1/tenantnamespaces correctly reflect the migration to custom API resources. Both form and table backlinks are updated consistently.

packages/system/dashboard/images/openapi-ui-k8s-bff/Dockerfile (1)

7-7: LGTM: BFF dependency commit verified.

The commit hash 88531ed6881b4ce4808e56c00905951d7ba8031c exists in the upstream repository and the update aligns with the overall dashboard v1.0.3 upgrade and corresponding values.yaml image reference changes.

packages/system/dashboard/images/openapi-ui/Dockerfile (1)

7-7: LGTM: Dependency commit updates verified.

The commit hash updates for both openapi-k8s-toolkit and openapi-ui have been verified to exist in their upstream repositories. The changes align with the PR's objective to update dashboard dependencies, and no issues were found.

Comment thread packages/system/dashboard/error.json Outdated
Comment on lines +1 to +166
{
"level": "info",
"message": "POST /openapi-bff/forms/formPrepare/prepareFormProps 500 63ms",
"meta": {
"req": {
"body": {
"clusterName": "default",
"customizationId": "default-/apps.cozystack.io/v1alpha1/kuberneteses",
"data": {
"apiGroup": "apps.cozystack.io",
"apiVersion": "v1alpha1",
"prefillValuesSchema": {
"apiVersion": "apps.cozystack.io/v1alpha1",
"kind": "Kubernetes",
"metadata": {
"creationTimestamp": "2025-10-10T09:53:05Z",
"name": "mynewkubecluster",
"namespace": "tenant-kvaps",
"resourceVersion": "280741216",
"uid": "19c00341-06cd-4a4f-b657-46c40b81f13d"
},
"spec": {
"addons": {
"certManager": {
"enabled": true,
"valuesOverride": {}
},
"cilium": {
"valuesOverride": {}
},
"coredns": {
"valuesOverride": {}
},
"fluxcd": {
"enabled": false,
"valuesOverride": {}
},
"gatewayAPI": {
"enabled": false
},
"gpuOperator": {
"enabled": false,
"valuesOverride": {}
},
"ingressNginx": {
"enabled": true,
"exposeMethod": "Proxied",
"hosts": [],
"valuesOverride": {}
},
"monitoringAgents": {
"enabled": false,
"valuesOverride": {}
},
"velero": {
"enabled": false,
"valuesOverride": {}
},
"verticalPodAutoscaler": {
"valuesOverride": {}
}
},
"controlPlane": {
"apiServer": {
"resources": {},
"resourcesPreset": "medium"
},
"controllerManager": {
"resources": {},
"resourcesPreset": "micro"
},
"konnectivity": {
"server": {
"resources": {},
"resourcesPreset": "micro"
}
},
"replicas": 2,
"scheduler": {
"resources": {},
"resourcesPreset": "micro"
}
},
"host": "",
"nodeGroups": {
"md0": {
"ephemeralStorage": "20Gi",
"gpus": [],
"instanceType": "u1.medium",
"maxReplicas": 3,
"minReplicas": 2,
"resources": {},
"roles": [
"ingress-nginx"
]
}
},
"storageClass": "replicated",
"version": "v1.33"
},
"status": {
"conditions": [
{
"lastTransitionTime": "2025-10-13T14:43:14Z",
"message": "Helm upgrade succeeded for release tenant-kvaps/kubernetes-mynewkubecluster.v5 with chart kubernetes@0.37.1",
"reason": "UpgradeSucceeded",
"status": "True",
"type": "Ready"
},
{
"lastTransitionTime": "2025-10-13T14:43:14Z",
"message": "Helm upgrade succeeded for release tenant-kvaps/kubernetes-mynewkubecluster.v5 with chart kubernetes@0.37.1",
"reason": "UpgradeSucceeded",
"status": "True",
"type": "Released"
}
],
"version": "0.37.1"
}
},
"type": "apis",
"typeName": "kuberneteses"
}
},
"headers": {
"accept": "application/json, text/plain, */*",
"accept-encoding": "gzip, deflate, br, zstd",
"accept-language": "en-GB,en-US;q=0.9,en;q=0.8",
"authorization": "<redacted>",
"connection": "close",
"content-length": "1956",
"content-type": "application/json",
"cookie": "<redacted>",
"host": "incloud-web-web.cozy-dashboard.svc:64231",
"origin": "https://dashboard.dev5.infra.aenix.org",
"priority": "u=1, i",
"referer": "https://dashboard.dev5.infra.aenix.org/openapi-ui/default/tenant-kvaps/forms/apis/apps.cozystack.io/v1alpha1/kuberneteses/mynewkubecluster?backlink=%2Fopenapi-ui%2Fdefault%2Ftenant-kvaps%2Fapi-table%2Fapps.cozystack.io%2Fv1alpha1%2Fkuberneteses",
"sec-ch-ua": "\"Chromium\";v=\"140\", \"Not=A?Brand\";v=\"24\", \"Google Chrome\";v=\"140\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"x-forwarded-access-token": "<redacted>",
"x-forwarded-email": "kvapss@gmail.com",
"x-forwarded-for": "127.0.0.1, 10.244.0.74",
"x-forwarded-groups": "cozystack-cluster-admin,tenant-kvaps-admin",
"x-forwarded-host": "dashboard.dev5.infra.aenix.org",
"x-forwarded-port": "443",
"x-forwarded-preferred-username": "kvaps",
"x-forwarded-proto": "http",
"x-forwarded-scheme": "https",
"x-forwarded-user": "ad9d8f12-0158-4747-9917-35af74ea3f48",
"x-real-ip": "127.0.0.1",
"x-request-id": "b47d2ac507874dcfb9ca104d69c0df7a",
"x-scheme": "https"
}
},
"res": {
"body": {}
},
"responseTime": 63
},
"timestamp": "2025-10-30 19:15:30"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Remove debug/log file from the repository.

This error log file should not be committed to the repository. It contains:

  • Development/testing error logs
  • Sensitive information (authorization tokens, cookies, even if redacted)
  • User email addresses (line 146: kvapss@gmail.com)
  • Internal infrastructure details (hosts, IPs, internal service endpoints)

Log files and debugging artifacts should be excluded from version control.

Please remove this file:

git rm packages/system/dashboard/error.json

Consider adding *.json log patterns to .gitignore if not already present to prevent similar files from being accidentally committed in the future.

🤖 Prompt for AI Agents
In packages/system/dashboard/error.json lines 1-166 the file is a debug/error
log containing sensitive and internal data and must be removed from the
repository; remove the file from version control (delete it and commit that
deletion), add an appropriate ignore rule to .gitignore to prevent committing
log/debug JSON files (e.g. a pattern like *.log or a logs/ and/or *.json-logs
rule as appropriate), and commit the .gitignore update with a clear message such
as "chore: remove debug log and ignore log files".

@kvaps Andrei Kvapil (kvaps) changed the title [dashboard] Update openapi-ui v1.0.3 [dashboard] Update openapi-ui v1.0.3 and add fixes Oct 31, 2025
@kvaps Andrei Kvapil (kvaps) changed the title [dashboard] Update openapi-ui v1.0.3 and add fixes [dashboard] Update openapi-ui v1.0.3 + fixes Oct 31, 2025
@kvaps Andrei Kvapil (kvaps) added the backport Should change be backported on previous release label Oct 31, 2025
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@kvaps
Andrei Kvapil (kvaps) merged commit 18f253f into main Oct 31, 2025
5 checks passed
@kvaps
Andrei Kvapil (kvaps) deleted the upd-dashboard branch October 31, 2025 17:09
@github-actions

Copy link
Copy Markdown

Backport failed for release-0.37, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release-0.37
git worktree add -d .worktree/backport-1564-to-release-0.37 origin/release-0.37
cd .worktree/backport-1564-to-release-0.37
git switch --create backport-1564-to-release-0.37
git cherry-pick -x be473a12be74e2b3225fb65d2657cc8038204432 bd9dcb52a33c6d8a5d69b9cad77adfef9334eaac

Andrei Kvapil (kvaps) added a commit that referenced this pull request Oct 31, 2025
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>

<!-- Thank you for making a contribution! Here are some tips for you:
- Start the PR title with the [label] of Cozystack component:
- For system components: [platform], [system], [linstor], [cilium],
[kube-ovn], [dashboard], [cluster-api], etc.
- For managed apps: [apps], [tenant], [kubernetes], [postgres],
[virtual-machine] etc.
- For development and maintenance: [tests], [ci], [docs], [maintenance].
- If it's a work in progress, consider creating this PR as a draft.
- Don't hesistate to ask for opinion and review in the community chats,
even if it's still a draft.
- Add the label `backport` if it's a bugfix that needs to be backported
to a previous version.
-->

- Update openapi-ui to v1.0.3
- Show YAML editor as readonly in YAML tab
- Remove inside link from user menu
- fix editing for tenantmodules, fixes
#1550
- fix editing valuesOverride, fixes
#1560

<!--  Write a release note:
- Explain what has changed internally and for users.
- Start with the same [label] as in the PR title
- Follow the guidelines at
https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md.
-->

```release-note
[dashboard] Update openapi-ui v1.0.3 + fixes
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

* **Bug Fixes**
* Made YAML editor read-only to prevent accidental modifications in
details view
  * Fixed API request header handling to prevent stream abort issues
  * Updated resource API endpoint paths for correct data retrieval
  * Removed menu navigation item from user interface
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Should change be backported on previous release size/L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] The valuesOverride parameter for the monitoringAgents bundle in the Kubernetes entity does not work new dashboard cannot update monitoring yaml

1 participant