mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-26 14:28:04 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eef3cd94b7 | ||
|
|
e9abedbadb | ||
|
|
5d0a148fea | ||
|
|
c0cf6237e6 | ||
|
|
9876b6a12e | ||
|
|
90815f2271 | ||
|
|
e83ddbb15d | ||
|
|
78f458112b |
6
.github/workflows/release.yaml
vendored
6
.github/workflows/release.yaml
vendored
@@ -60,7 +60,7 @@ jobs:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: release
|
needs: [release, pre_release]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
@@ -85,13 +85,13 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
tags: ${{ needs.pre_release.outputs.release_tag }}
|
tags: komodorio/helm-dashboard:${{ needs.pre_release.outputs.release_tag }},komodorio/helm-dashboard:latest
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
build-args: VER=${{ needs.pre_release.outputs.release_tag }}
|
build-args: VER=${{ needs.pre_release.outputs.release_tag }}
|
||||||
|
|
||||||
publish_chart:
|
publish_chart:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
need: image
|
needs: [image, pre_release]
|
||||||
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
18
Dockerfile
18
Dockerfile
@@ -1,12 +1,10 @@
|
|||||||
# Stage - builder
|
# Stage - builder
|
||||||
FROM golang as builder
|
FROM golang as builder
|
||||||
|
|
||||||
ARG VER
|
|
||||||
|
|
||||||
ENV GOOS=linux
|
ENV GOOS=linux
|
||||||
ENV GOARCH=amd64
|
ENV GOARCH=amd64
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
ENV VERSION=0.0.0
|
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
@@ -15,6 +13,9 @@ COPY go.sum ./
|
|||||||
COPY main.go ./
|
COPY main.go ./
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
|
ARG VER=0.0.0
|
||||||
|
ENV VERSION=${VER}
|
||||||
|
|
||||||
ADD . src
|
ADD . src
|
||||||
|
|
||||||
WORKDIR /build/src
|
WORKDIR /build/src
|
||||||
@@ -24,15 +25,18 @@ RUN make build
|
|||||||
# Stage - runner
|
# Stage - runner
|
||||||
FROM alpine/helm
|
FROM alpine/helm
|
||||||
|
|
||||||
RUN curl -o /bin/kubectl -vf -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x /bin/kubectl && kubectl --help
|
# Python
|
||||||
|
RUN apk add --update --no-cache python3 && python3 -m ensurepip && pip3 install --upgrade pip setuptools
|
||||||
|
|
||||||
# Checkov scanner
|
# kubectl
|
||||||
RUN apk add --update --no-cache python3
|
RUN curl -o /bin/kubectl -vf -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x /bin/kubectl && kubectl --help
|
||||||
RUN python3 -m ensurepip
|
|
||||||
RUN pip3 install checkov
|
|
||||||
|
|
||||||
# Trivy
|
# Trivy
|
||||||
RUN curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.18.3
|
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
|
||||||
|
|
||||||
COPY --from=builder /build/src/bin/dashboard /bin/helm-dashboard
|
COPY --from=builder /build/src/bin/dashboard /bin/helm-dashboard
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ type: application
|
|||||||
|
|
||||||
name: helm-dashboard
|
name: helm-dashboard
|
||||||
description: A GUI Dashboard for Helm by Komodor
|
description: A GUI Dashboard for Helm by Komodor
|
||||||
icon: "https://github.com/komodorio/helm-dashboard/blob/main/pkg/dashboard/static/logo.png"
|
icon: "https://raw.githubusercontent.com/komodorio/helm-dashboard/main/pkg/dashboard/static/logo.svg"
|
||||||
|
|
||||||
version: 0.1.0
|
version: 0.1.1
|
||||||
appVersion: "0.0.0"
|
appVersion: "0.3.0"
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ The following table lists the configurable parameters of the chart and their def
|
|||||||
| `image.tag` | Image tag | |
|
| `image.tag` | Image tag | |
|
||||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||||
| `replicaCount` | Number of dashboard Pods to run | `1` |
|
| `replicaCount` | Number of dashboard Pods to run | `1` |
|
||||||
| `dashboard.allowWriteActions` | Enables write actions. Allow modifying, deleting and creating charts and kubernetes resources. | `false` |
|
| `dashboard.allowWriteActions` | Enables write actions. Allow modifying, deleting and creating charts and kubernetes resources. | `true` |
|
||||||
| `resources.requests.cpu` | CPU resource requests | `200m` |
|
| `resources.requests.cpu` | CPU resource requests | `200m` |
|
||||||
| `resources.limits.cpu` | CPU resource limits | `1` |
|
| `resources.limits.cpu` | CPU resource limits | `1` |
|
||||||
| `resources.requests.memory` | Memory resource requests | `256Mi` |
|
| `resources.requests.memory` | Memory resource requests | `256Mi` |
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||||||
metadata:
|
metadata:
|
||||||
name: {{ include "helm-dashboard.serviceAccountName" . }}
|
name: {{ include "helm-dashboard.serviceAccountName" . }}
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: ["", "apps", "rbac.authorization.k8s.io", "rbac", "batch", "extensions", "networking.k8s.io", "storage.k8s.io"]
|
- apiGroups: ["*"]
|
||||||
resources: ["*"]
|
resources: ["*"]
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
{{- if .Values.dashboard.allowWriteActions }}
|
{{- if .Values.dashboard.allowWriteActions }}
|
||||||
- apiGroups: ["", "apps", "rbac.authorization.k8s.io", "rbac", "batch", "extensions", "networking.k8s.io", "storage.k8s.io"]
|
- apiGroups: ["*"]
|
||||||
resources: ["*"]
|
resources: ["*"]
|
||||||
verbs: ["get", "list", "watch", "create", "delete", "patch", "update"]
|
verbs: ["get", "list", "watch", "create", "delete", "patch", "update"]
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ resources:
|
|||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
|
|
||||||
dashboard:
|
dashboard:
|
||||||
allowWriteActions: false
|
allowWriteActions: true
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ xhr.onload = function () {
|
|||||||
const version = status.CurVer
|
const version = status.CurVer
|
||||||
if (status.Analytics) {
|
if (status.Analytics) {
|
||||||
enableDD(version)
|
enableDD(version)
|
||||||
enableHeap(version)
|
enableHeap(version, status.ClusterMode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ function enableDD(version) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function enableHeap(version) {
|
function enableHeap(version, inCluster) {
|
||||||
window.heap = window.heap || [], heap.load = function (e, t) {
|
window.heap = window.heap || [], heap.load = function (e, t) {
|
||||||
window.heap.appid = e, window.heap.config = t = t || {};
|
window.heap.appid = e, window.heap.config = t = t || {};
|
||||||
let r = document.createElement("script");
|
let r = document.createElement("script");
|
||||||
@@ -56,7 +56,10 @@ function enableHeap(version) {
|
|||||||
}, p = ["addEventProperties", "addUserProperties", "clearEventProperties", "identify", "resetIdentity", "removeEventProperty", "setEventProperties", "track", "unsetEventProperty"], o = 0; o < p.length; o++) heap[p[o]] = n(p[o])
|
}, p = ["addEventProperties", "addUserProperties", "clearEventProperties", "identify", "resetIdentity", "removeEventProperty", "setEventProperties", "track", "unsetEventProperty"], o = 0; o < p.length; o++) heap[p[o]] = n(p[o])
|
||||||
};
|
};
|
||||||
heap.load("4249623943");
|
heap.load("4249623943");
|
||||||
window.heap.addEventProperties({'version': version});
|
window.heap.addEventProperties({
|
||||||
|
'version': version,
|
||||||
|
'installationMode': inCluster?"cluster":"local"
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendStats(name, prop){
|
function sendStats(name, prop){
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: "dashboard"
|
name: "dashboard"
|
||||||
version: "0.2.8"
|
version: "0.3.1"
|
||||||
usage: "A simplified way of working with Helm"
|
usage: "A simplified way of working with Helm"
|
||||||
description: "View HELM situation in nice web UI"
|
description: "View HELM situation in nice web UI"
|
||||||
command: "$HELM_PLUGIN_DIR/bin/helm-dashboard"
|
command: "$HELM_PLUGIN_DIR/bin/helm-dashboard"
|
||||||
|
|||||||
Reference in New Issue
Block a user