Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm dashboard v2 #394

Closed
wants to merge 370 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
370 commits
Select commit Hold shift + click to select a range
b42af27
refactor
chad11111 Jun 26, 2023
d82cfa7
Reconfigure release (#395)
rotembm12 Jun 26, 2023
7275b0b
fix
nir2002 Jun 26, 2023
aba91d9
not needed
nir2002 Jun 26, 2023
c43bab5
Change location for backend files in Go (#397)
undera Jun 26, 2023
0b5e071
Rearrange docs a bit
undera Jun 26, 2023
366f879
Don't waste time building win+arm
undera Jun 26, 2023
c28b938
Helm dashboard v2 (#398)
dav-sap Jun 26, 2023
8ad72f7
Helm dashboard v2 (#399)
dav-sap Jun 26, 2023
21adb3e
fix (#400)
rotembm12 Jun 26, 2023
c27535b
fixes
nir2002 Jun 26, 2023
7f74695
reffactor
chad11111 Jun 26, 2023
2474a98
done (#401)
rotembm12 Jun 27, 2023
3317bf8
fix
nir2002 Jun 27, 2023
72a16ec
fix
nir2002 Jun 27, 2023
943e6e7
Can't commit dist dir, goreleaser would fail
undera Jun 27, 2023
eccbb4c
Merge branch 'main' into helm-dashboard-v2
undera Jun 27, 2023
3d63b10
Correct path to static dir
undera Jun 27, 2023
a849385
Add UI build to makefile
undera Jun 27, 2023
21af1cb
Fix docker build
undera Jun 27, 2023
dee6cb7
describe now works
nir2002 Jun 27, 2023
24e179b
Installed page - revision view - implement url consistent state logic…
dav-sap Jun 27, 2023
3b256f0
refactor
chad11111 Jun 28, 2023
11335ad
refactor
chad11111 Jun 28, 2023
5c7aa58
Fix/responsive and small stylings (#404)
IdanSchiller Jun 28, 2023
10c9516
add user defined (#405)
dav-sap Jun 28, 2023
43e9bd6
Fix/modal loading button (#406)
IdanSchiller Jun 29, 2023
00ba44a
add repo to url (#407)
dav-sap Jun 29, 2023
25e48bd
Fix/resources table badges (#408)
IdanSchiller Jun 29, 2023
94e53ee
filters is now good
nir2002 Jun 29, 2023
f3f95c7
fix
nir2002 Jun 29, 2023
6654b35
test results fix
nir2002 Jun 29, 2023
68231af
fix
nir2002 Jun 29, 2023
9132d1e
fixes - error modal, uninstall modals, typees
nir2002 Jun 29, 2023
8cfb1ed
fixes
nir2002 Jun 29, 2023
e5f880e
bug fix
nir2002 Jun 29, 2023
d55a38f
Helm dashboard v2 (#402)
dav-sap Jun 29, 2023
dd7f624
missing config (#409)
dav-sap Jun 29, 2023
0f818db
fixes
nir2002 Jun 29, 2023
1dd6110
fixes
nir2002 Jun 30, 2023
e66e4ec
Fix/minor responsiveness (#410)
IdanSchiller Jun 30, 2023
0249174
installed release page
nir2002 Jun 30, 2023
611c75b
default helm icon
nir2002 Jun 30, 2023
18e8362
guard
nir2002 Jun 30, 2023
641dc7c
refactor
chad11111 Jun 30, 2023
d335715
refactor
chad11111 Jun 30, 2023
d2a88d3
refactor
chad11111 Jun 30, 2023
ce3374b
key
nir2002 Jun 30, 2023
dc55d0b
refactor
chad11111 Jun 30, 2023
1cfdc0e
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
chad11111 Jun 30, 2023
b90746d
fixes
nir2002 Jun 30, 2023
b456f65
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jun 30, 2023
fc587bc
fixes to install
nir2002 Jun 30, 2023
61e6dca
install, add, upgrade, reconfigure now works
nir2002 Jul 1, 2023
a21c55f
latest ver fix
nir2002 Jul 1, 2023
e725cc2
Revision page ui fixes (#411)
rotembm12 Jul 1, 2023
87c19c8
link color
nir2002 Jul 1, 2023
73780cb
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 1, 2023
bc2aaef
Add-repository-link (#412)
rotembm12 Jul 2, 2023
07f1d0a
empty badge fix
nir2002 Jul 2, 2023
2d11052
diff fix in install repo
nir2002 Jul 2, 2023
6b3dadb
removed console.log
nir2002 Jul 2, 2023
28a6cbd
unique key in helathstatus
nir2002 Jul 2, 2023
1439c6c
Cosmetics
undera Jul 2, 2023
20e5cd1
Goreleaser upgraded
undera Jul 2, 2023
05c24c4
Another way to fix it
undera Jul 2, 2023
cf9cbca
refactor
chad11111 Jul 2, 2023
25d3c1c
refactor
chad11111 Jul 2, 2023
1a80fb9
chart install fix (#413)
dav-sap Jul 2, 2023
98d6680
more maintailable
nir2002 Jul 2, 2023
707e537
loading, empty space and default namespace
nir2002 Jul 2, 2023
0e93b55
typed
nir2002 Jul 2, 2023
09da96b
loading diff state is shared
nir2002 Jul 2, 2023
1fcb834
modal height fix
nir2002 Jul 2, 2023
39cbf15
upgrade and add repo connected
nir2002 Jul 2, 2023
16e3070
add repo suggestion data connected to modal
nir2002 Jul 2, 2023
26953f1
removed console.log
nir2002 Jul 2, 2023
2b42066
Chart install fix (#414)
dav-sap Jul 2, 2023
0c98c76
refactor: fix text align uninstall
chad11111 Jul 2, 2023
b6c09f3
install modal values big fix
nir2002 Jul 2, 2023
9da55e4
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 2, 2023
1e838d5
refactor
chad11111 Jul 2, 2023
232588e
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
chad11111 Jul 2, 2023
1fe46b8
no changes in diff msg
nir2002 Jul 2, 2023
eb424cf
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 2, 2023
89f8e86
refactor
chad11111 Jul 2, 2023
7eaeade
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
chad11111 Jul 2, 2023
dc1da85
sorted versions
nir2002 Jul 2, 2023
04b7ac2
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 2, 2023
eef0c7d
typography changes
nir2002 Jul 2, 2023
02dcf29
refactor
chad11111 Jul 2, 2023
f46406a
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
chad11111 Jul 2, 2023
6f2c9d3
refactor
chad11111 Jul 2, 2023
86fde74
refactor
chad11111 Jul 2, 2023
ff24f1d
migrate to sb 7 (#416)
naorzr Jul 3, 2023
909594a
Chart install fix (#415)
dav-sap Jul 3, 2023
6ae733c
Add troubleshoot in komodor (#417)
naorzr Jul 3, 2023
fc17a1d
status style
nir2002 Jul 3, 2023
70ad9c7
fix
nir2002 Jul 3, 2023
3d40aa3
fixes
nir2002 Jul 3, 2023
bc0f208
delete now reload the page correclty
nir2002 Jul 3, 2023
cff2648
navigate after add repo fix
nir2002 Jul 3, 2023
1e432ea
Chart install fix (#419)
dav-sap Jul 3, 2023
35035ef
refactor
chad11111 Jul 3, 2023
03b586e
refactor
chad11111 Jul 3, 2023
c3006a0
refactor
chad11111 Jul 3, 2023
d397cde
Fix revision age (#420)
rotembm12 Jul 3, 2023
8936be4
refactor
chad11111 Jul 3, 2023
b51c97f
fixed redirects and nav links selected ui (#421)
rotembm12 Jul 3, 2023
7e58da5
test modal ui fixes
nir2002 Jul 3, 2023
977ff42
arrows fix
nir2002 Jul 3, 2023
4b7e854
loading ui (#422)
rotembm12 Jul 3, 2023
3f10099
test dialog now shows errors
nir2002 Jul 3, 2023
356a8c1
fixed rollback diff, redirect after rollback, and debouncing before r…
rotembm12 Jul 4, 2023
184f154
everything is working besides install chart
nir2002 Jul 4, 2023
56438bd
install chart should work now
nir2002 Jul 5, 2023
ca0b11d
no need for this anymore
nir2002 Jul 5, 2023
450baff
styling and naming
nir2002 Jul 5, 2023
6b00a80
improvements
nir2002 Jul 5, 2023
a26516c
navigation fix
nir2002 Jul 5, 2023
6caa6ed
flow fixes
nir2002 Jul 5, 2023
360a602
top bar pixel perfect
nir2002 Jul 5, 2023
dbf7f6e
onClose is optional
nir2002 Jul 5, 2023
d6506e1
ts optional
nir2002 Jul 5, 2023
35bc5d1
pixel perfect - clusters, box shadow, error modal
nir2002 Jul 5, 2023
7eaded1
installed page pixel perfect
nir2002 Jul 5, 2023
8a83af7
fixes
nir2002 Jul 5, 2023
10c9e3b
need to fix this naming
nir2002 Jul 5, 2023
fc8986b
rollback logic is now good
nir2002 Jul 5, 2023
155d06c
buttons now similiar to the old app
nir2002 Jul 5, 2023
db5b118
pass release instead of release date (#426)
rotembm12 Jul 5, 2023
d1426a0
repository page style fixes
nir2002 Jul 5, 2023
9d6be30
rounded input
nir2002 Jul 5, 2023
f7b3910
colors like in the old app
nir2002 Jul 5, 2023
79fdef7
more rounding
nir2002 Jul 5, 2023
35eedea
colors
nir2002 Jul 5, 2023
5bd89d0
colors
nir2002 Jul 5, 2023
4ac7deb
Cosmetics
undera Jul 6, 2023
e145e46
Merge remote-tracking branch 'origin/main' into helm-dashboard-v2
undera Jul 6, 2023
d88c427
drop-shadow cause the dropdown to swallowed
nir2002 Jul 6, 2023
cd6e19e
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 6, 2023
1fbdc8d
smaller text
nir2002 Jul 6, 2023
9d2455f
fixes (#428)
naorzr Jul 7, 2023
c16f972
fixes
nir2002 Jul 7, 2023
1305d05
describe fix
nir2002 Jul 7, 2023
02642fd
Fix/lint (#431)
chad11111 Jul 10, 2023
4613b16
style fixes
nir2002 Jul 10, 2023
d6faf0d
Merge branch 'helm-dashboard-v2' of https://github.com/komodorio/helm…
nir2002 Jul 10, 2023
cc69022
fix
nir2002 Jul 10, 2023
5386fa1
describe panel style fixes
nir2002 Jul 10, 2023
a64f0f7
diff when repo is available
nir2002 Jul 10, 2023
aea88e0
diff style fixes
nir2002 Jul 10, 2023
1672453
fixes to install dialog
nir2002 Jul 10, 2023
5ddf708
specific version should be latests revision
nir2002 Jul 10, 2023
e369bec
refactor
chad11111 Jul 10, 2023
6dd6a17
fixes
nir2002 Jul 10, 2023
a139e72
fixes
nir2002 Jul 10, 2023
05d6684
cause troubles
nir2002 Jul 11, 2023
7f8ac7f
Fixes (#434)
naorzr Jul 11, 2023
e9ee5bc
fix
nir2002 Jul 11, 2023
395ea69
dont fetch if repo not available
nir2002 Jul 11, 2023
ce20ea7
tag should not be visible
nir2002 Jul 11, 2023
e6b6b74
custom-shdaow fixes
nir2002 Jul 11, 2023
ea29aca
space and shadow like in the old app
nir2002 Jul 11, 2023
fb5f5d3
refactor (#435)
chad11111 Jul 12, 2023
44c38d5
describe display logic aligned with the old app
nir2002 Jul 12, 2023
3ef1d1a
style fix
nir2002 Jul 12, 2023
376c16f
action button style fix
nir2002 Jul 12, 2023
eec0337
selected revision default logic fix
nir2002 Jul 12, 2023
eb3511e
font fix
nir2002 Jul 12, 2023
e7cd010
style fixes
nir2002 Jul 12, 2023
9b5ac69
shutdown button fix
nir2002 Jul 13, 2023
937ae52
latest revision is now consistent in dev and prod
nir2002 Jul 13, 2023
a57274c
namespace should be empty on install
nir2002 Jul 13, 2023
789f618
fix for current version on install
nir2002 Jul 13, 2023
0adc84b
sorting fix
nir2002 Jul 13, 2023
b4331bb
checkmark should be displayed in options - install
nir2002 Jul 13, 2023
03ecafe
state jump fix
nir2002 Jul 13, 2023
342a66b
local charts (#436)
naorzr Jul 13, 2023
7823d76
Several more fixes (#438)
naorzr Jul 16, 2023
b8f86fb
api docs (#439)
chad11111 Jul 16, 2023
95c1316
html remove diff2html dep (#437)
chad11111 Jul 16, 2023
eb290df
Refactor
chad11111 Jul 17, 2023
678a37d
refactor
chad11111 Jul 17, 2023
5740c71
Adding storybook for StatusLabel component (#441)
Tamir198 Jul 17, 2023
557cb81
refactor (#442)
chad11111 Jul 18, 2023
1640567
we need the css
nir2002 Jul 18, 2023
eafb125
add prettier (#440)
chad11111 Jul 19, 2023
62de725
Fix reconfigure issue (#443)
naorzr Jul 19, 2023
d427c56
first diff fetch fix
nir2002 Jul 19, 2023
31ab3f6
missing dep in hooks (#444)
dav-sap Jul 20, 2023
c301c95
namespace should be from query
nir2002 Jul 20, 2023
ee7d3fa
triggering diff rerender by listening to loading
nir2002 Jul 20, 2023
3886591
missing uservalues
nir2002 Jul 20, 2023
31323ee
no need for auto retry
nir2002 Jul 20, 2023
30e7820
we should work against latest revision
nir2002 Jul 20, 2023
e986e1e
refactor
chad11111 Jul 20, 2023
bcff1e6
Merge branch 'main' into helm-dashboard-v2
undera Jul 21, 2023
2527cd7
Fix build merge
undera Jul 21, 2023
8b189a5
Merge branch 'main' into helm-dashboard-v2
undera Jul 21, 2023
16b99dc
refactor
chad11111 Jul 25, 2023
e008678
refactor
chad11111 Jul 26, 2023
68c63b4
fix
nir2002 Jul 26, 2023
65b08a5
refactor
chad11111 Jul 26, 2023
968b3b6
refactor
chad11111 Jul 26, 2023
a25e05b
age tooltip
nir2002 Jul 26, 2023
190a9ee
prettier fix
nir2002 Jul 26, 2023
ad509a7
fix bug (#447)
dav-sap Aug 1, 2023
359a594
Add eslint now (#449)
dav-sap Aug 1, 2023
93f70d3
repo install chart now works as expected
nir2002 Aug 2, 2023
ebfedb9
release modal and eslint working good now
nir2002 Aug 2, 2023
9367fbb
we should fetch when return to the initial value
nir2002 Aug 2, 2023
fee922e
Tailwind theme reorganized (#446)
Tamir198 Aug 2, 2023
f57f331
install release code is like reading a story !
nir2002 Aug 2, 2023
fa8980c
namespace is not needed for chart values
nir2002 Aug 2, 2023
a1430b9
install repo chart is now like reading a story :)
nir2002 Aug 2, 2023
f95888c
Fix/filternamesapce (#451)
nir2002 Aug 3, 2023
8d78231
not needed dep
nir2002 Aug 3, 2023
aefddae
prettier fix
nir2002 Aug 3, 2023
b9b22fa
namespace fix
nir2002 Aug 3, 2023
dc74df2
Merge branch 'main' of github.com:komodorio/helm-dashboard into helm-…
undera Aug 3, 2023
14cef8d
add debounce (#452)
dav-sap Aug 3, 2023
d237fcb
namespace filter fix
nir2002 Aug 3, 2023
f57e071
now namespace filter behaves like in the old app
nir2002 Aug 3, 2023
a699479
more linter rules and configurations
nir2002 Aug 4, 2023
4684519
intial value should be empty
nir2002 Aug 4, 2023
9c74b49
no need to keep filters on cluster change
nir2002 Aug 4, 2023
52904ca
we don't want to keep tab state between pages
nir2002 Aug 4, 2023
ee876e9
button should be disabled when loading
nir2002 Aug 4, 2023
b975e90
prettier fix
nir2002 Aug 4, 2023
464542e
initial value we're not presented
nir2002 Aug 4, 2023
6636c85
navigation fix
nir2002 Aug 4, 2023
fb6964a
namespace should always be empty
nir2002 Aug 4, 2023
d1780d8
supporting pre selected namespaces
nir2002 Aug 5, 2023
19a0c3d
lint adjustments
nir2002 Aug 6, 2023
7f89fed
Refactor stories fodler (#450)
Tamir198 Aug 7, 2023
1b1dc09
refactor
chad11111 Aug 10, 2023
ef9e34c
refactor
chad11111 Aug 10, 2023
312d36c
if no user values, use the release values
nir2002 Aug 10, 2023
a62fa88
Adding layer to base style (#456)
Tamir198 Aug 13, 2023
97c4257
Extract duplicate type to types file (#453)
Tamir198 Aug 13, 2023
9dee9a4
Refactor callApi into direct usage of apiService (#454)
Tamir198 Aug 13, 2023
eb9e2fa
Merge branch 'main' of github.com:komodorio/helm-dashboard into helm-…
undera Aug 14, 2023
cc49481
Remove scanners from backend
undera Aug 14, 2023
f9a295a
Give some room for multiple HealthStatus (#458)
Tamir198 Aug 14, 2023
c235632
refactor: add dynamic api docs (#460)
chad11111 Aug 17, 2023
63bae69
remove scanners from openapi
undera Aug 21, 2023
f444015
was loading forever
nir2002 Sep 18, 2023
616f62b
fix
nir2002 Sep 18, 2023
1f82852
Extract defined values from the Modals (#461)
Tamir198 Sep 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ Dockerfile
*.md
bin
.idea
.git
dashboard/node_modules
3 changes: 3 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ docker:
helm-charts:
- charts/*

helm-dashboard-v2:
- dashboard/*

github-actions:
- .github/ISSUE_TEMPLATE/*
- .github/labeler.yml
Expand Down
57 changes: 46 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ name: Build
on:
push:
branches:
- main
- main
- helm-dashboard-v2
pull_request:
branches:
- "*"
- "*"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -18,6 +19,24 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3

# Node part
- name: Setup Node.js environment
uses: actions/[email protected]
with:
cache: 'npm'
cache-dependency-path: dashboard/package-lock.json
- name: NPM install
run: npm i
working-directory: ./dashboard
- name: lint project
run: npm run lint
working-directory: ./dashboard
- name: NPM build
run: npm run build
working-directory: ./dashboard

# Golang part
- name: Set up Go
uses: actions/setup-go@v3
with:
Expand Down Expand Up @@ -46,14 +65,6 @@ jobs:
name: binaries
path: dist/
retention-days: 1
- name: golangci-lint
uses: golangci/[email protected]
with:
# version: latest
# skip-go-installation: true
skip-pkg-cache: true
skip-build-cache: true
# args: --timeout=15m

image:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -90,13 +101,37 @@ jobs:
build-args: VER=0.0.0-dev
platforms: linux/amd64,linux/arm64

helm_check:
static_and_lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: make dir for frontend results # don't delete this step, it will break goreleaser
run: mkdir pkg/frontend/dist && touch pkg/frontend/dist/.gitkeep
- name: golangci-lint
uses: golangci/[email protected]
with:
# version: latest
# skip-go-installation: true
skip-pkg-cache: true
skip-build-cache: true
args: --timeout=5m

- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
cache: 'npm'
cache-dependency-path: ./dashboard/package-lock.json
- name: NPM install
run: npm i
working-directory: ./dashboard
- name: NPM lint
run: npm run lint
working-directory: ./dashboard

- name: Helm Template Check For Sanity
uses: igabaydulin/[email protected]
env:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ go.work
/bin
/.idea/

/node_modules
.DS_Store
.vscode/
/pkg/dashboard/objects/testdata/hello-world-0.1.0.tgz
/pkg/frontend/dist/*
3 changes: 3 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ builds:
goarch:
- amd64
- arm64
ignore:
- goos: windows
goarch: arm64
env:
- CGO_ENABLED=0
archives:
Expand Down
29 changes: 15 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# Stage - frontend
FROM node:latest as frontend

WORKDIR /build

COPY dashboard ./

RUN npm i && npm run build

# Stage - builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang as builder

Expand All @@ -10,21 +19,23 @@ ENV GOOS=${TARGETOS:-linux}
ENV GOARCH=${TARGETARCH:-amd64}
ENV CGO_ENABLED=0

ARG VER=0.0.0
ENV VERSION=${VER}

WORKDIR /build

COPY go.mod ./
COPY go.sum ./
COPY main.go ./
RUN go mod download

ARG VER=0.0.0
ENV VERSION=${VER}

ADD . src

COPY --from=frontend /pkg/frontend/dist ./src/pkg/frontend/dist/

WORKDIR /build/src

RUN make build
RUN make build_go

# Stage - runner
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine
Expand All @@ -34,16 +45,6 @@ ARG BUILDPLATFORM

EXPOSE 8080

# Python
RUN apk add --update --no-cache python3 curl && python3 -m ensurepip && pip3 install --upgrade pip setuptools

# Trivy
RUN curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.18.3
RUN trivy --version

# Checkov scanner
RUN (pip3 install checkov packaging==21.3 && checkov --version) || echo Failed to install optional Checkov

COPY --from=builder /build/src/bin/dashboard /bin/helm-dashboard

ENTRYPOINT ["/bin/helm-dashboard", "--no-browser", "--bind=0.0.0.0", "--port=8080"]
Expand Down
138 changes: 112 additions & 26 deletions FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,30 @@
# Shutting down the app
To close Helm-dashboard, click on the button in the rightmost corner of the screen. Once you click on it, your Helm-dashboard will be shut down.
# Helm Dashboard Features Overview

## General Layout and Navigation

### Shutting down the app

If you run the tool locally, you can shutdown the running process. This is useful when you can't find the console where
you started it, or when it was started without console.

To close Helm-dashboard, click on the button in the rightmost corner of the screen. Once you click on it, your
Helm-dashboard will be shut down.

![Shutdown_screenshot](images/screenshot_shut_down.png)

# Multicluster
If you want to switch to a different cluster, simply click on the corresponding cluster as shown in the figure. [Click here](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) to learn how to access multiple clusters.
## Releases Management Section

### Switching Clusters

When started as local binary, the tool reads the list of available cluster connections from kubectl config file. Those
connections are displayed on the left side of the screen.

![Multicluster_screenshot](images/screenshot_multicluster.png)

If you want to switch to a different cluster, simply click on the corresponding cluster as shown in the
figure. You
can [read here](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) to
learn on how to configure access to multiple clusters.
# Reset Cache
The "Reset Cache" feature in Helm Dashboard clears the cached data and fetches the latest information from the backend or data source. It ensures that the dashboard displays up-to-date data and reflects any recent changes or updates.
![Detail1](images/screenshot_reset_cache.png)
Expand All @@ -18,45 +36,39 @@ Essentially, a repository is a location where charts are gathered and can be sha
You can add the repository by clicking on 'Add Repository', as shown in the figure.
![Repository](images/screenshot_repository.png)

After completing that step, enter the following data: the repository name and its URL. You can also add the username and password, although this is optional.
![Repository2](images/screenshot_repository2.png)

Updating means refreshing your repository. You can update your repository as shown in the figure.
![Repository4](images/screenshot_repository4.png)

If you want to remove your repository from the Helm dashboard, click on the 'Remove' button as shown in the figure.
![Repository5](images/screenshot_repository5.png)

Use the filter option to find the desired chart quicker from the list of charts.
![Repository6](images/screenshot_repository6.png)
## Installed Releases List

If you want to install a particular chart, simply hover the pointer over the chart name and an 'Install' button will appear, as shown in the figure.
![Repository7](images/screenshot_repository7.png)

# Installed Releases list
A release is an instance of your selected chart running on your Kubernetes Cluster. That means every time that you install a Helm chart there, it creates a new release or instance that coexists with other releases without conflict. You can filter releases based on namespaces or search for release names
A release is an installation of your Helm chart deployed in your Kubernetes Cluster. That means every time that you
install or upgrade a Helm chart, it creates a new release revision that coexists with other releases. You
can filter releases based on namespaces or search for release names
![Releases](images/screenshot_release.png)

The squares represent k8s resources installed by the release. Hover over each square to view a tooltip with details. Yellow indicates "pending," green signifies a healthy state, and red indicates an unhealthy state.
The squares represent k8s resources installed by the release. Hover over each square to view a tooltip with details.
Yellow indicates "pending," green signifies a healthy state, and red indicates an unhealthy state.
![Releases1](images/screenshot_release1.png)

It indicates the version of chart that corresponds to this release.
![Releases2](images/screenshot_release2.png)

A revision is linked to a release to track the number of updates/changes that release encounters.
![Releases3](images/screenshot_release3.png)

Namespaces are a way to organize clusters into virtual sub-clusters — they can be helpful when different teams or projects share a Kubernetes cluster. Any number of namespaces are supported within a cluster, each logically separated from others but with the ability to communicate with each other.

Namespaces are a way to organize clusters into virtual sub-clusters — they can be helpful when different teams or
projects share a Kubernetes cluster. Any number of namespaces are supported within a cluster, each logically separated
from others but with the ability to communicate with each other.
![Releases4](images/screenshot_release4.png)

Updated" refers to the amount of time that has passed since the last revision of the release. Whenever you install or upgrade the release, a new revision is created. You can think of it as the "age" of the latest revision.
Updated" refers to the amount of time that has passed since the last revision of the release. Whenever you install or
upgrade the release, a new revision is created. You can think of it as the "age" of the latest revision.
![Releases5](images/screenshot_release5.png)

Indication of upgrade possible/repo suggested.
![Release6](images/screenshot_upgrade_available.png)

# Release details
This indicates the status of the deployed release, and 'Age' represents the amount of time that has passed since the creation of the revision until now.
## Release details

This indicates the status of the deployed release, and 'Age' represents the amount of time that has passed since the
creation of the revision until now.
![Detail](images/screenshot_release_detail.png)

You can use the Upgrade/Downgrade button to switch to different release versions, as shown in the figure.
Expand Down Expand Up @@ -121,3 +133,77 @@ Diff with Specific Version: Similar to the previous point, the ability to view a



### Execute Helm tests

For all the release(s) (installed helm charts), you can execute helm tests for that release. For the tests to execute
successfully, you need to have existing tests for that helm chart.

You can execute `helm test` for the specific release as below:
![](images/screenshot_run_test.png)

The result of executed `helm test` for the release will be displayed as below:
![](images/screenshot_run_test_result.png)

### Scanner Integrations

Upon startup, Helm Dashboard detects the presence of [Trivy](https://github.com/aquasecurity/trivy)
and [Checkov](https://github.com/bridgecrewio/checkov) scanners. When available, these scanners are offered on k8s
resources page, as well as install/upgrade preview page.

You can request scanning of the specific k8s resource in your cluster:
![](images/screenshot_scan_resource.png)

If you want to validate the k8s manifest prior to installing/reconfiguring a Helm chart, look for "Scan for Problems"
button at the bottom of the dialog:
![](images/screenshot_scan_manifest.png)

## Repository Section

Essentially, a repository is a location where charts are gathered and can be shared over network. If you want to learn
more about Helm chart
repositories, [click here](https://helm.sh/docs/topics/chart_repository/).

You can access the repository management area of Helm Dashboard in the main navigation section, as depicted in the
figure.

![Repository3](images/screenshot_repository3.png)

You can add the repository by clicking on 'Add Repository' button on the left, as shown in the figure.
![Repository](images/screenshot_repository.png)

After completing that step, enter the following data: the repository name and its URL. You can also add the username and
password, although this is optional.
![Repository2](images/screenshot_repository2.png)

Updating means refreshing your repository. You can update your repository as shown in the figure.
![Repository4](images/screenshot_repository4.png)

If you want to remove your repository from the Helm dashboard, click on the 'Remove' button as shown in the figure.
![Repository5](images/screenshot_repository5.png)

Use the filter option to find the desired chart quicker from the list of charts.
![Repository6](images/screenshot_repository6.png)

If you want to install a particular chart, simply hover the pointer over the chart name and an 'Install' button will
appear, as shown in the figure.
![Repository7](images/screenshot_repository7.png)

# Support for Local Charts

Local Helm chart is a directory with specially named files and a `Chart.yaml` file, which you can install via Helm,
without the need to publish the chart into Helm repository. Chart developers might want to experiment with the chart
locally, before uploading into public repository. Also, a proprietary application might only use non-published chart as
an approach to deploy the software.

For all the above use-cases, you may use Helm Dashboard UI, specifying the location of your local chart folders via
special `--local-chart` command-line parameter. The parameter might be specified multiple times, for example:

```shell
helm-dashboard --local-chart=/opt/charts/my-private-app --local-chart=/home/dev/sources/app/chart
```

When _valid_ local chart sources specified, the repository list would contain a surrogate `[local]` entry, with those
charts listed inside. All the chart operations are normal: installing, reconfiguring and upgrading.

![](images/screenshot_local_charts.png)

13 changes: 10 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
DATE ?= $(shell date +%FT%T%z)
VERSION ?= $(git describe --tags --always --dirty --match=v* 2> /dev/null || \
VERSION ?= $(shell git describe --tags --always --dirty --match=v* 2> /dev/null || \
cat $(CURDIR)/.version 2> /dev/null || echo "v0")

.PHONY: test
Expand All @@ -13,12 +13,19 @@ test: ; $(info $(M) start unit testing...) @
pull: ; $(info $(M) Pulling source...) @
@git pull

.PHONY: build
build: $(BIN) ; $(info $(M) Building executable...) @ ## Build program binary
.PHONY: build_go
build_go: $(BIN) ; $(info $(M) Building GO...) @ ## Build program binary
go build \
-ldflags '-X main.version=$(VERSION) -X main.buildDate=$(DATE)' \
-o bin/dashboard .

.PHONY: build_ui
build_ui: $(BIN) ; $(info $(M) Building UI...) @ ## Build program binary
cd dashboard && npm i && npm run build && cd ..

.PHONY: build
build: build_ui build_go ; $(info $(M) Building executable...) @ ## Build program binary

.PHONY: debug
debug: ; $(info $(M) Running dashboard in debug mode...) @
@DEBUG=1 ./bin/dashboard
Loading
Loading