From af345bc43a24e0f7f1ec1cece7befd3eed770683 Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Wed, 28 Sep 2022 10:11:05 +0300 Subject: [PATCH] feat(noisedash): add noisedash (#3931) * feat(noisedash): add noisedash * add icon * Excellent copy pasta * relative path * aha! * absolute path and comma * rofs * root * try node user * root --- charts/incubator/noisedash/.helmignore | 30 ++++ charts/incubator/noisedash/Chart.yaml | 25 ++++ charts/incubator/noisedash/README.md | 0 charts/incubator/noisedash/icon.png | Bin 0 -> 7793 bytes charts/incubator/noisedash/questions.yaml | 133 ++++++++++++++++++ .../noisedash/templates/_configmap.tpl | 27 ++++ .../incubator/noisedash/templates/common.yaml | 21 +++ charts/incubator/noisedash/values.yaml | 29 ++++ cspell.config.yaml | 1 + 9 files changed, 266 insertions(+) create mode 100644 charts/incubator/noisedash/.helmignore create mode 100644 charts/incubator/noisedash/Chart.yaml create mode 100644 charts/incubator/noisedash/README.md create mode 100644 charts/incubator/noisedash/icon.png create mode 100644 charts/incubator/noisedash/questions.yaml create mode 100644 charts/incubator/noisedash/templates/_configmap.tpl create mode 100644 charts/incubator/noisedash/templates/common.yaml create mode 100644 charts/incubator/noisedash/values.yaml diff --git a/charts/incubator/noisedash/.helmignore b/charts/incubator/noisedash/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/noisedash/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/noisedash/Chart.yaml b/charts/incubator/noisedash/Chart.yaml new file mode 100644 index 00000000000..b49b6bbb12c --- /dev/null +++ b/charts/incubator/noisedash/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: "10.6.2" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.6.4 +description: Self-hosted web tool for generating ambient noises +home: https://truecharts.org/docs/charts/stable/airsonic +icon: https://truecharts.org/img/hotlink-ok/chart-icons/airsonic.png +keywords: + - noise +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: noisedash +sources: + - https://github.com/kaythomas0/noisedash +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/noisedash/README.md b/charts/incubator/noisedash/README.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/incubator/noisedash/icon.png b/charts/incubator/noisedash/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4911bb036e7caae9460ba6c1fab433cb6ed095d GIT binary patch literal 7793 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 G`2PU9?@KlS literal 0 HcmV?d00001 diff --git a/charts/incubator/noisedash/questions.yaml b/charts/incubator/noisedash/questions.yaml new file mode 100644 index 00000000000..d320163e504 --- /dev/null +++ b/charts/incubator/noisedash/questions.yaml @@ -0,0 +1,133 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{controller} +# Include{controllerDeployment} +# Include{replicas} +# Include{replica1} +# Include{strategy} +# Include{recreate} +# Include{controllerExpert} +# Include{controllerExpertExtraArgs} + - variable: noisedash + group: Container Configuration + label: Noisedash Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: max_sample_size_in_bytes + label: Max Sample Size in Bytes + description: Sets the max size for samples + schema: + type: int + required: true + default: 10737418240 +# Include{containerConfig} +# Include{serviceRoot} + - variable: main + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: main + label: Main Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 10328 + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 10328 +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: samples + label: App Samples Storage + description: Stores the Application Samples. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressExpert} +# Include{ingressList} +# Include{security} +# Include{securityContextAdvancedRoot} + - variable: privileged + label: Privileged mode + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: ReadOnly Root Filesystem + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: Allow Privilege Escalation + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: runAsNonRoot + schema: + type: boolean + default: false +# Include{securityContextAdvanced} +# Include{podSecurityContextRoot} + - variable: runAsUser + label: runAsUser + description: The UserID of the user running the application + schema: + type: int + default: 0 + - variable: runAsGroup + label: runAsGroup + description: The groupID this App of the user running the application + schema: + type: int + default: 0 + - variable: fsGroup + label: fsGroup + description: The group that should own ALL storage. + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{documentation} diff --git a/charts/incubator/noisedash/templates/_configmap.tpl b/charts/incubator/noisedash/templates/_configmap.tpl new file mode 100644 index 00000000000..fcefc2a761f --- /dev/null +++ b/charts/incubator/noisedash/templates/_configmap.tpl @@ -0,0 +1,27 @@ +{{/* Define the secrets */}} +{{- define "noisedash.config" -}} +{{- $configName := printf "%s-noisedash-config" (include "tc.common.names.fullname" .) }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ $configName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +data: + default.json: | + { + "Server": { + "listeningPort": {{ .Values.service.main.ports.main.port }}, + "sessionFileStorePath": "sessions", + "sampleUploadPath": "/var/noisedash/samples", + "maxSampleSize": {{ int .Values.noisedash.max_sample_size_in_bytes }}, + "logFile": "/var/noisedash/log/log/noisedash.log", + "tls": false, + "tlsKey": "certs/key.pem", + "tlsCert": "certs/cert.pem" + } + } +{{- end -}} diff --git a/charts/incubator/noisedash/templates/common.yaml b/charts/incubator/noisedash/templates/common.yaml new file mode 100644 index 00000000000..152455855c2 --- /dev/null +++ b/charts/incubator/noisedash/templates/common.yaml @@ -0,0 +1,21 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{- define "noisedash.configvolume" -}} +enabled: true +mountPath: /var/noisedash/config +type: custom +readOnly: true +volumeSpec: + configMap: + name: {{ include "tc.common.names.fullname" . }}-noisedash-config + items: + - key: default.json + path: default.json +{{- end -}} + +{{- include "noisedash.config" . -}} +{{- $_ := set .Values.persistence "noisedash-config" (include "noisedash.configvolume" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/charts/incubator/noisedash/values.yaml b/charts/incubator/noisedash/values.yaml new file mode 100644 index 00000000000..006dff7ced3 --- /dev/null +++ b/charts/incubator/noisedash/values.yaml @@ -0,0 +1,29 @@ +image: + repository: tccr.io/truecharts/noisedash + tag: v0.6.5@sha256:fedd0dc06300ba834e190323a8a37c7e555efeb179dcf34a6607da969a4c3956 + pullPolicy: IfNotPresent + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +noisedash: + max_sample_size_in_bytes: 10737418240 + +service: + main: + ports: + main: + port: 10328 + +persistence: + samples: + enabled: true + mountPath: "/var/noisedash/samples" + +portal: + enabled: true diff --git a/cspell.config.yaml b/cspell.config.yaml index 4f55973d981..04c1f83f2fc 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -158,6 +158,7 @@ words: - nodeport - nodeports - nohardlinks + - noisedash - notebookbar - OOKLA - ornias