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 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>
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>
* 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
* Correct path to static dir
* Add UI build to makefile
* Fix docker build
* describe now works
* Installed page - revision view - implement url consistent state logic (#403)
* refactor
* refactor
* Fix/responsive and small stylings (#404)
* add user defined (#405)
* Fix/modal loading button (#406)
* add repo to url (#407)
* Fix/resources table badges (#408)
* filters is now good
* fix
* test results fix
* fix
* fixes - error modal, uninstall modals, typees
* fixes
* bug fix
* Helm dashboard v2 (#402)
* missing config (#409)
* fixes
* fixes
* Fix/minor responsiveness (#410)
* installed release page
* default helm icon
* guard
* refactor
* refactor
* refactor
* key
* refactor
* fixes
* fixes to install
* install, add, upgrade, reconfigure now works
* latest ver fix
* Revision page ui fixes (#411)
* link color
* Add-repository-link (#412)
* empty badge fix
* diff fix in install repo
* removed console.log
* unique key in helathstatus
* Cosmetics
* Goreleaser upgraded
* Another way to fix it
* refactor
* refactor
* chart install fix (#413)
* more maintailable
* loading, empty space and default namespace
* typed
* loading diff state is shared
* modal height fix
* upgrade and add repo connected
* add repo suggestion data connected to modal
* removed console.log
* Chart install fix (#414)
* refactor: fix text align uninstall
* install modal values big fix
* refactor
* no changes in diff msg
* refactor
* sorted versions
* typography changes
* refactor
* refactor
* refactor
* migrate to sb 7 (#416)
* Chart install fix (#415)
* Add troubleshoot in komodor (#417)
* status style
* fix
* fixes
* delete now reload the page correclty
* navigate after add repo fix
* Chart install fix (#419)
* refactor
* refactor
* Fix revision age (#420)
* refactor
* fixed redirects and nav links selected ui (#421)
* test modal ui fixes
* arrows fix
* loading ui (#422)
* test dialog now shows errors
* fixed rollback diff, redirect after rollback, and debouncing before refetching chart values after changing user defined values (#423)
* everything is working besides install chart
* install chart should work now
* no need for this anymore
* styling and naming
* improvements
* navigation fix
* flow fixes
* top bar pixel perfect
* onClose is optional
* ts optional
* pixel perfect - clusters, box shadow, error modal
* installed page pixel perfect
* fixes
* need to fix this naming
* rollback logic is now good
* buttons now similiar to the old app
* pass release instead of release date (#426)
* repository page style fixes
* rounded input
* colors like in the old app
* more rounding
* colors
* colors
* Cosmetics
* drop-shadow cause the dropdown to swallowed
* smaller text
* fixes (#428)
* fixes
* describe fix
* Fix/lint (#431)
* style fixes
* fix
* describe panel style fixes
* diff when repo is available
* diff style fixes
* fixes to install dialog
* specific version should be latests revision
* refactor
* fixes
* fixes
* cause troubles
* Fixes (#434)
* fix
* dont fetch if repo not available
* tag should not be visible
* custom-shdaow fixes
* space and shadow like in the old app
* refactor (#435)
* describe display logic aligned with the old app
* style fix
* action button style fix
* selected revision default logic fix
* font fix
* style fixes
* shutdown button fix
* latest revision is now consistent in dev and prod
* namespace should be empty on install
* fix for current version on install
* sorting fix
* checkmark should be displayed in options - install
* state jump fix
* local charts (#436)
* Several more fixes (#438)
* api docs (#439)
* html remove diff2html dep (#437)
* Refactor
* refactor
* Adding storybook for StatusLabel component (#441)
* refactor (#442)
* we need the css
* add prettier (#440)
* add prettier
* refactor
* refactor
* Fix reconfigure issue (#443)
* first diff fetch fix
* missing dep in hooks (#444)
* namespace should be from query
* triggering diff rerender by listening to loading
* missing uservalues
* no need for auto retry
* we should work against latest revision
* refactor
* Fix build merge
* refactor
* refactor
* fix
* refactor
* refactor
* age tooltip
* prettier fix
* fix bug (#447)
* Add eslint now (#449)
* repo install chart now works as expected
* release modal and eslint working good now
* we should fetch when return to the initial value
* Tailwind theme reorganized (#446)
* install release code is like reading a story !
* namespace is not needed for chart values
* install repo chart is now like reading a story :)
* Fix/filternamesapce (#451)
* not needed dep
* prettier fix
* namespace fix
* add debounce (#452)
* namespace filter fix
* now namespace filter behaves like in the old app
* more linter rules and configurations
* intial value should be empty
* no need to keep filters on cluster change
* we don't want to keep tab state between pages
* button should be disabled when loading
* prettier fix
* initial value we're not presented
* navigation fix
* namespace should always be empty
* supporting pre selected namespaces
* lint adjustments
* Refactor stories fodler (#450)
* refactor
* refactor
* if no user values, use the release values
* Adding layer to base style (#456)
* Extract duplicate type to types file (#453)
* Refactor callApi into direct usage of apiService (#454)
* Remove scanners from backend
* Give some room for multiple HealthStatus (#458)
* refactor: add dynamic api docs (#460)
* remove scanners from openapi
* was loading forever
* fix
* Extract defined values from the Modals (#461)
* refactor (#462)
* fix chart with no repo diff flow
* naming fix
* crypto UUID not available through https
* revert
* Update analytics.js with UUID fallback
* Cosmetics
* repo fetch fix
* not need to depened on versions
* forgot to push
* revert
* was causing infinite loop
* COsmetics
---------
Co-authored-by: Nir Parisian <nir.parisian@gmail.com>
Co-authored-by: dav-sap <davidsaper@gmail.com>
Co-authored-by: chad11111 <chad1111@tutanota.com>
Co-authored-by: IdanSchiller <58664272+IdanSchiller@users.noreply.github.com>
Co-authored-by: dav-sap <16819417+dav-sap@users.noreply.github.com>
Co-authored-by: rotembm12 <46103618+rotembm12@users.noreply.github.com>
Co-authored-by: naorzr <naorzruk@gmail.com>
Co-authored-by: Gary Gensler <127234894+chad11111@users.noreply.github.com>
Co-authored-by: Tamir Abutbul <1tamir198@gmail.com>
Co-authored-by: Nir Parisian <nir2002@users.noreply.github.com>
* Handled resource kind PodDisruptionBudget and CRD for health status.
* Handled resource kind PodDisruptionBudget and CRD for health status.
---------
Co-authored-by: vkumar3 <vkumar@aarnanetworks.com>
* Display aggregate resource health status
* Reuse old API request, show icons
* Take progress indication from deployment conditions
* Improve status
* Cleanup
* Fixups
* Squares approach