Files
helm-dashboard/README.md
Andrey Pokhilko e4240ed107 v2.0 with React-based frontend (#233)
* 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>
2023-09-26 09:21:04 +01:00

154 lines
6.4 KiB
Markdown

<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="pkg/dashboard/static/logo-header-inverted.svg">
<source media="(prefers-color-scheme: light)" srcset="pkg/dashboard/static/logo-header.svg#gh-light-mode-only">
<img alt="Helm Dashboard" src="pkg/dashboard/static/logo-header.svg#gh-light-mode-only">
</picture>
</p>
<p align="center">A simplified way of working with Helm.</p>
![GitHub contributors](https://img.shields.io/github/contributors/komodorio/helm-dashboard) [![GitHub issues](https://img.shields.io/github/issues-raw/komodorio/helm-dashboard)](https://github.com/komodorio/helm-dashboard/issues) ![GitHub stars](https://img.shields.io/github/stars/komodorio/helm-dashboard?style=social) ![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/komodorio/helm-dashboard) ![GitHub pull requests](https://img.shields.io/github/issues-pr/komodorio/helm-dashboard) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/komodorio/helm-dashboard)](https://github.com/komodorio/helm-dashboard/releases) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/komodorio/helm-dashboard) [![GitHub license](https://img.shields.io/github/license/komodorio/helm-dashboard)](https://github.com/komodorio/helm-dashboard) [![codecov](https://codecov.io/gh/komodorio/helm-dashboard/branch/main/graph/badge.svg?token=PXPSNVHI2T)](https://codecov.io/gh/komodorio/helm-dashboard)
<kbd>[<img src="images/screenshot.png" style="width: 100%; border: 1px solid silver;" border="1" alt="Screenshot">](images/screenshot.png)</kbd>
## Description
_Helm Dashboard_ is an **open-source project** which offers a UI-driven way to view the installed Helm charts, see their revision history and
corresponding k8s resources. Also, you can perform simple actions like roll back to a revision or upgrade to newer
version.
This project is part of [Komodor's](https://komodor.com/?utm_campaign=Helm-Dash&utm_source=helm-dash-gh) vision of
helping Kubernetes users to navigate and troubleshoot their clusters, the project is **NOT** an official project by the [helm team](https://helm.sh/).
Key capabilities of the tool:
- See all installed charts and their revision history
- See manifest diff of the past revisions
- Browse k8s resources resulting from the chart
- Easy rollback or upgrade version with a clear and easy manifest diff
- Integration with popular problem scanners
- Easy switch between multiple clusters
- Can be used locally, or installed into Kubernetes cluster
- Does not require Helm or Kubectl installed
All the features of the tool can be discovered via our [features overview page](FEATURES.md).
## Setup
### Standalone Binary
Since version 1.0, the recommended install method is to just use standalone binary. It does not require Helm or kubectl to be installed.
Download the appropriate [release package](https://github.com/komodorio/helm-dashboard/releases) for your platform, unpack it and just run `dashboard` binary from it.
### Using Helm plugin manager
To install dashboard as Helm plugin, simply run Helm command:
```shell
helm plugin install https://github.com/komodorio/helm-dashboard.git
```
To update the plugin to the latest version, run:
```shell
helm plugin update dashboard
```
To uninstall, run:
```shell
helm plugin uninstall dashboard
```
To use the plugin, your machine needs to have working `helm` and also `kubectl` commands. Helm version 3.4.0+ is required.
After installing, start the UI by running:
```shell
helm dashboard
```
The command above will launch the local Web server and will open the UI in new browser tab. The command will hang
waiting for you to terminate it in command-line or web UI.
You can see the list of available command-line flags by running `helm dashboard --help`.
By default, the web server is only available locally. You can change that by specifying `HD_BIND` environment variable
to the desired value. For example, `0.0.0.0` would bind to all IPv4 addresses or `[::0]` would be all IPv6 addresses.
This can also be specified using flag `--bind <host>`, for example `--bind=0.0.0.0` or `--bind 0.0.0.0`.
> Precedence order: flag `--bind=<host>` > env `HD_BIND=<host>` > default value `localhost`
If your port 8080 is busy, you can specify a different port to use via `--port <number>` command-line flag.
If you need to limit the operations to a specific namespace, please use `--namespace=...` in your command-line. You can specify multiple namespaces, separated by commas.
If you don't want browser tab to automatically open, add `--no-browser` flag in your command line.
If you want to increase the logging verbosity and see all the debug info, use the `--verbose` flag.
> Disclaimer: For the sake of improving the project quality, there is user analytics collected by the tool. You can disable this collecting with `--no-analytics` option. The collection is done via DataDog RUM and Heap Analytics. Only the anonymous data is collected, no sensitive information is used.
### Deploying Helm Dashboard on Kubernetes
The official helm chart is [available here](https://github.com/komodorio/helm-charts/blob/master/charts/helm-dashboard)
## Support Channels
We have two main channels for supporting the Helm Dashboard
users: [Slack community](https://komodorkommunity.slack.com) for general conversations
and [GitHub issues](https://github.com/komodorio/helm-dashboard/issues) for real bugs.
## Contributing
Kindly read our [Contributing Guide](CONTRIBUTING.md) to learn and understand about our development process, how to propose bug fixes and improvements, and how to build and test your changes to Helm Dashboard. <br>
## Contributors
<a href="https://github.com/komodorio/helm-dashboard/graphs/contributors">
<img src="https://contrib.rocks/image?repo=komodorio/helm-dashboard" />
</a>
## Local Dev Testing
Prerequisites, binaries installed and operational:
- [Go](https://go.dev/doc/install)
There is a need to build binary for plugin to function, run:
### Linux
```shell
go build -o bin/dashboard .
```
### Windows
```bat
go build -o bin\dashboard.exe .
```
You can just run the `dashboard` or `dashboard.exe` binary directly, it will just work.
To install, checkout the source code and run from source dir:
```shell
helm plugin install .
```
Local installation of plugin just creates a symlink, so making the changes and rebuilding the binary would not require
to
reinstall a plugin.
To use the plugin, run in your terminal:
```shell
helm dashboard
```
Then, use the web UI.