Break up ExtractRelations, extractVolumes, extractEnvRefs, and
extractIngressBackends into smaller focused functions to pass CI
complexity checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add yarn resolution to pin dompurify>=3.3.2, fixing transitive dependency
from swagger-ui-react that was stuck at 3.2.6.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a new "Relations" tab after "Images" that visualizes resource
dependencies within a Helm release as an interactive force-directed graph.
Detects relationships via ownerReferences, *Ref fields, volumes, env refs,
service selectors, ingress backends, and RBAC bindings. External resources
appear as dashed oval ghost nodes. Color-coded by resource category.
Closes#96
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a new "Images" tab on the release details page that extracts
and displays all container images (including init containers) from
the release manifest. Images are grouped by image string and show
the associated resource and container name.
Closes#83
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a "Force upgrade" checkbox in the upgrade modal footer that passes
the --force flag to helm upgrade, causing resources to be deleted and
recreated. Also fix the version selector flashing the URL input while
loading by showing a spinner.
Closes#505
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When multiple CRDs share the same kind but different API groups
(e.g. Traefik's Middleware under traefik.io and traefik.containo.us),
the dashboard failed to look up the correct resource. Thread apiVersion
through the resource fetch chain and use group-qualified kind
(e.g. Widget.new.example.com) for kubectl lookups.
Closes#504
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Introduce extendedCarp struct to capture numeric status fields
(desiredNumberScheduled, numberReady, replicas, readyReplicas, etc.)
that are lost during standard Carp unmarshaling. Synthesize an
"Available" condition from these fields so EnhanceStatus can
determine health correctly.
Closes#32
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The DescribeResource component was passing the chart/release name
instead of the actual resource name, causing all resources of the
same kind to show the same describe output.
Closes#657
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add support for installing and upgrading charts from URLs
Adds "Install from URL" button to the repositories page, allowing users
to install charts directly from OCI registries and other URLs without
adding them as repositories first. Also adds URL mode to the upgrade
modal (via pencil/X toggle) for charts not found in any configured repo.
Closes#660
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Alter
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract repeated healthy/unhealthy logic into applyHealthFromCondition helper
and convert if/else chain to switch statement (complexity 29 → 16).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add condition-based health status calculation for additional resource kinds:
- ExternalSecret: checks "Ready" condition
- Job: checks "Complete" and "Failed" conditions
- HorizontalPodAutoscaler: checks "AbleToScale" and "ScalingActive" conditions
- Namespace: handles "Terminating" phase as Progressing
Closes#418
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Introduced tsconfig.app.json and tsconfig.base.json
* yarn.lock
* Introduced tsconfig.app.json, tsconfig.base.jsonfig.
* Refactored eslint.config.js to latest structure
* Returned previous recommended rules.
* More rules
* Force import rules
* Check
* Check
* Cleanup ESLint configuration and plugins
* Cleanup heap: "writable",DD_RUM: "writable" from ESLint configuration
* "scripts" moved to the top of package.json
* Added Error Boundary
* Test improvements
* Introduced useDevLogger
* Updated Cypress to latest and aligned the tests
* Added eslint-enable
* Set allowCypressEnv: false for security reasons.
* added more info to features.md
* added details to FEATURES.md
* .
* reset to last commit
* Update FEATURES.md
* fix: resolve rollback to same revision bug (#578)
* added more info to features.md
* added details to FEATURES.md
* .
* reset to last commit
* Update FEATURES.md
* fix: resolve incorrect upgrade recommendation (#577)
* added more info to features.md
* added details to FEATURES.md
* .
* reset to last commit
* Update FEATURES.md
* feat: add flags to disable slow health and latest version checks
- Introduce --no-health and --no-latest CLI flags
- Support HD_NO_HEALTH and HD_NO_LATEST environment variables
- Skip slow k8s health checks and latest version fetching when flags are set
- Optimize frontend data fetching based on these flags
* chore: fix lint errors in InstalledPackageCard.tsx
* chore: remove accidental lockfile changes
* Updated Story book to the latest one
* Updated tailwindcss related packages and config
* Fixed Storybook
* Added missed colors
* Fixed CSS for the error dialog