diff --git a/charts/docker_auth/Chart.yaml b/charts/docker_auth/Chart.yaml index 96745be..cf8f2ec 100644 --- a/charts/docker_auth/Chart.yaml +++ b/charts/docker_auth/Chart.yaml @@ -28,10 +28,10 @@ appVersion: "1.12.0" version: 0.1.0 type: application home: https://github.com/cesanta/docker_auth -name: docker_auth +name: docker-auth keywords: - - docker-auth - - docker-registry + - authentication + - cncf-distribution maintainers: - name: Noelware, LLC. email: team@noelware.org diff --git a/charts/docker_auth/templates/NOTES.txt b/charts/docker_auth/templates/NOTES.txt deleted file mode 100644 index ff0fcf8..0000000 --- a/charts/docker_auth/templates/NOTES.txt +++ /dev/null @@ -1,13 +0,0 @@ -To access your `docker_auth` instance, use the following commands (if any appear): - -{{- if (eq .Values.service.type "NodePort") }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "hazel.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo "http://$NODE_IP:$NODE_PORT" -{{- else if (eq .Values.service.type "ClusterIP") }} - export POD=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "k8s.noelware.cloud/name={{ include "hazel.name" . }}" -o jsonpath="{.items[0].metadata.name}") - export PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD -o jsonpath="{.spec.containers[0].ports[0].containerPort}") - echo "http://127.0.0.1:8080" - - kubectl --namespace {{ .Release.Namespace }} port-forward $POD 8080:$PORT -{{- end }} diff --git a/charts/docker_auth/templates/_helpers.tpl b/charts/docker_auth/templates/_helpers.tpl index e8dc729..2a5f6eb 100644 --- a/charts/docker_auth/templates/_helpers.tpl +++ b/charts/docker_auth/templates/_helpers.tpl @@ -108,8 +108,9 @@ Example: {{- include "registry.auth.annotations" (dict "external" $annotations "context" .) }} */}} {{- define "registry.auth.annotations" -}} -k8s.noelware.cloud/component: http-proxy -k8s.noelware.cloud/product: Hazel +k8s.noelware.cloud/component: authentication +k8s.noelware.cloud/product: docker-auth +k8s.noelware.cloud/part-of: cncf-distribution {{- if .context.Chart.AppVersion }} k8s.noelware.cloud/version: {{ .context.Chart.AppVersion | quote }} {{- end }} diff --git a/charts/docker_auth/templates/_pod.tpl b/charts/docker_auth/templates/_pod.tpl index d5cd348..29a1cd6 100644 --- a/charts/docker_auth/templates/_pod.tpl +++ b/charts/docker_auth/templates/_pod.tpl @@ -45,7 +45,17 @@ dnsConfig: volumes: - name: config configMap: - name: {{ default (printf "%s-config" (include "registry.auth.fullname" .)) .Values.config.existingMap }} + name: {{ default (printf "%s-config" (include "registry.auth.fullname" .)) .Values.deployment.existingConfigMap }} + {{- if .Values.tls.enabled }} + - name: rootbundle-tls + secret: + secretName: "docker-auth-rootbundle-tls" + {{- end }} + {{- if and .Values.ingress.tls .Values.ingress.selfSigned }} + - name: server-tls + secret: + secretName: {{ printf "%s-server-tls" .Values.ingress.host }} + {{- end }} {{- with .Values.global.initContainers }} initContainers: {{- . | toYaml }} @@ -64,6 +74,16 @@ containers: - name: config mountPath: /data/config.yaml subPath: config.yaml + {{- if .Values.tls.enabled }} + - name: rootbundle-tls + mountPath: /rootbundle/certs + readOnly: true + {{- end }} + {{- if and .Values.ingress.tls .Values.ingress.selfSigned }} + - name: server-tls + mountPath: /server/certs + readOnly: true + {{- end }} ports: - name: http containerPort: {{ .Values.service.port }} diff --git a/charts/docker_auth/templates/configmap.yaml b/charts/docker_auth/templates/configmap.yaml index ddb4259..11e4cc9 100644 --- a/charts/docker_auth/templates/configmap.yaml +++ b/charts/docker_auth/templates/configmap.yaml @@ -21,11 +21,11 @@ ~ SOFTWARE. */}} -{{- if not .Values.config.existingMap }} +{{- if not .Values.deployment.existingConfigMap }} apiVersion: v1 kind: ConfigMap metadata: - name: {{ printf "%s-data" (include "registry.auth.fullname" .) }} + name: {{ printf "%s-config" (include "registry.auth.fullname" .) }} namespace: {{ .Release.Namespace }} annotations: {{- include "registry.auth.annotations" (dict "context" .) | nindent 8 }} diff --git a/charts/docker_auth/templates/ingress-tls-secrets.yaml b/charts/docker_auth/templates/ingress-tls-secrets.yaml deleted file mode 100644 index 26e867c..0000000 --- a/charts/docker_auth/templates/ingress-tls-secrets.yaml +++ /dev/null @@ -1,42 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if and .Values.ingress.enabled .Values.ingress.selfSigned }} -{{- $name := printf "%s-ingress-tls" .Values.ingress.host }} -{{- $ca := genCA "docker-auth-ingress-ca" 365 }} -{{- $cert := genSignedCert .Values.ingress.host nil (list .Values.ingress.host) 365 $ca }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ $name }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "registry.auth.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "registry.auth.labels" . | nindent 8 }} -type: kubernetes.io/tls -data: - tls.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.crt" "defaultValue" $cert.Cert "context" $) }} - tls.key: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.key" "defaultValue" $cert.Key "context" $) }} - ca.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "ca.crt" "defaultValue" $ca.Cert "context" $) }} -{{- end }} diff --git a/charts/docker_auth/templates/ingress.yaml b/charts/docker_auth/templates/ingress.yaml index 3aa32cd..f06b1fb 100644 --- a/charts/docker_auth/templates/ingress.yaml +++ b/charts/docker_auth/templates/ingress.yaml @@ -25,14 +25,15 @@ {{- fail "`service.enabled` must be set to `true` to include an ingress record" }} {{- end }} {{- if .Values.ingress.enabled }} +{{- $mergedAnnotations := include "common.tplvalues.merge" (dict "values" (list .Values.global.annotations .Values.ingress.annotations) "context" .) | fromYaml -}} +{{- $isCertManagerRequest := include "common.ingress.certManagerRequest" (dict "annotations" $mergedAnnotations) -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ include "registry.auth.fullname" . }} namespace: {{ .Release.Namespace }} annotations: - {{- $annotations := include "registry.auth.annotations" (dict "external" .Values.ingress.annotations "context" .) }} - {{- $annotations | nindent 8 }} + {{- include "registry.auth.annotations" (dict "external" .Values.ingress.annotations "context" .) | nindent 8 }} spec: {{- if .Values.ingress.className }} ingressClassName: {{ .Values.ingress.className }} @@ -53,8 +54,16 @@ spec: {{- if .Values.ingress.extraRules }} {{- include "common.tplvalues.render" (dict "value" .Values.ingress.extraRules "context" $) | nindent 4 }} {{- end }} - {{- if .Values.ingress.extraTLS }} + + {{- if or (and .Values.ingress.tls (or $isCertManagerRequest)) .Values.ingress.selfSigned .Values.ingress.extraTLS }} tls: - {{- include "common.tplvalues.render" (dict "values" .Values.ingress.extraTLS "context" $) | nindent 4 }} + {{- if or (and .Values.ingress.tls .Values.ingress.selfSigned) $isCertManagerRequest }} + - hosts: + - {{ .Values.ingress.host | quote }} + secretName: {{ printf "%s-tls" .Values.ingress.host }} + {{- end }} + {{- if .Values.ingress.extraTLS }} + {{- include "common.tplvalues.render" (dict "value" .Values.ingress.extraTLS "context" $) | nindent 4 }} + {{- end }} {{- end }} {{- end }} diff --git a/charts/docker_auth/templates/secrets/rootbundle-tls.yaml b/charts/docker_auth/templates/secrets/rootbundle-tls.yaml new file mode 100644 index 0000000..151685c --- /dev/null +++ b/charts/docker_auth/templates/secrets/rootbundle-tls.yaml @@ -0,0 +1,92 @@ +{{/* +~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. +~ Copyright (c) 2022-2024 Noelware, LLC. +~ +~ Permission is hereby granted, free of charge, to any person obtaining a copy +~ of this software and associated documentation files (the "Software"), to deal +~ in the Software without restriction, including without limitation the rights +~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +~ copies of the Software, and to permit persons to whom the Software is +~ furnished to do so, subject to the following conditions: +~ +~ The above copyright notice and this permission notice shall be included in all +~ copies or substantial portions of the Software. +~ +~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +~ SOFTWARE. +*/}} + +{{- $name := "docker-auth-rootbundle-tls" }} +{{- if and .Values.tls.enabled .Values.tls.selfSigned }} +{{- $ca := genCA "docker-auth-registry-ca" 365 }} +{{- $cert := genSignedCert .Values.ingress.host nil (list .Values.ingress.host) 365 $ca }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ $name }} + namespace: {{ .Release.Namespace }} + annotations: + {{- include "registry.auth.annotations" (dict "context" .) | nindent 8 }} + labels: + {{- include "registry.auth.labels" . | nindent 8 }} +type: kubernetes.io/tls +data: + tls.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.crt" "defaultValue" $cert.Cert "context" $) }} + tls.key: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.key" "defaultValue" $cert.Key "context" $) }} + ca.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "ca.crt" "defaultValue" $ca.Cert "context" $) }} +{{- else if and .Values.tls.enabled .Values.tls.certManager.enabled -}} +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ $name }} + namespace: {{ .Release.Namespace }} + annotations: + {{- include "registry.auth.annotations" (dict "context" .) | nindent 8 }} + labels: + {{- include "registry.auth.labels" . | nindent 8 }} +spec: + secretName: {{ printf "%s-crt" $name }} + commonName: {{ printf "%s.%s.svc.%s" (include "registry.auth.fullname" .) .Release.Namespace .Values.global.clusterDomain }} + issuerRef: + name: {{ coalesce .Values.tls.certManager.issuer .Values.tls.certManager.clusterIssuer }} + kind: {{ ternary "Issuer" "ClusterIssuer" (not (empty .Values.tls.certManager.issuer)) }} + group: {{ .Values.tls.certManager.group }} + {{- with .Values.tls.certManager.organizations }} + subject: + organizations: + {{ toYaml . | nindent 8 }} + {{- end }} + dnsNames: + - "*.{{ .Release.Namespace }}" + - "*.{{ .Release.Namespace }}.svc" + - "*.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}" + - "*.{{ include "registry.auth.fullname" . }}" + - "*.{{ include "registry.auth.fullname" . }}.{{ .Release.Namespace }}" + - "*.{{ include "registry.auth.fullname" . }}.{{ .Release.Namespace }}.svc" + - "*.{{ include "registry.auth.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}" + privateKey: + algorithm: {{ .Values.tls.certManager.privateKey.algorithm }} + size: {{ .Values.tls.certManager.privateKey.size | int }} + duration: {{ .Values.tls.certManager.duration }} + renewBefore: {{ .Values.tls.certManager.renewBefore }} +{{- else -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ $name }} + namespace: {{ .Release.Namespace }} + annotations: + {{- include "registry.auth.annotations" (dict "context" .) | nindent 8 }} + labels: + {{- include "registry.auth.labels" . | nindent 8 }} +type: kubernetes.io/tls +data: + tls.crt: {{ .Values.tls.secret.tlsCrt | b64enc }} + tls.key: {{ .Values.tls.secret.tlsKey | b64enc }} + ca.crt: {{ .Values.tls.secret.caCrt | b64enc }} +{{- end }} diff --git a/charts/docker_auth/templates/registry-tls-secrets.yaml b/charts/docker_auth/templates/secrets/server-tls.yaml similarity index 94% rename from charts/docker_auth/templates/registry-tls-secrets.yaml rename to charts/docker_auth/templates/secrets/server-tls.yaml index abb9375..37a518c 100644 --- a/charts/docker_auth/templates/registry-tls-secrets.yaml +++ b/charts/docker_auth/templates/secrets/server-tls.yaml @@ -21,8 +21,8 @@ ~ SOFTWARE. */}} -{{- if and .Values.tls.enabled .Values.tls.selfSigned }} -{{- $name := printf "%s-ingress-tls" .Values.ingress.host }} +{{- $name := printf "%s-tls" .Values.ingress.host }} +{{- if and .Values.ingress.tls .Values.ingress.selfSigned }} {{- $ca := genCA "docker-auth-registry-ca" 365 }} {{- $cert := genSignedCert .Values.ingress.host nil (list .Values.ingress.host) 365 $ca }} apiVersion: v1 @@ -39,4 +39,4 @@ data: tls.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.crt" "defaultValue" $cert.Cert "context" $) }} tls.key: {{ include "common.secrets.lookup" (dict "secret" $name "key" "tls.key" "defaultValue" $cert.Key "context" $) }} ca.crt: {{ include "common.secrets.lookup" (dict "secret" $name "key" "ca.crt" "defaultValue" $ca.Cert "context" $) }} -{{- end }} +{{- end -}} diff --git a/charts/docker_auth/templates/serviceAccount.yaml b/charts/docker_auth/templates/serviceAccount.yaml deleted file mode 100644 index f66cdec..0000000 --- a/charts/docker_auth/templates/serviceAccount.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "registry.auth.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "registry.auth.annotations" (dict "external" .Values.serviceAccount.annotations "context" .) | nindent 8 }} - labels: - {{- include "registry.auth.labels" . | nindent 8 }} -{{- end -}} diff --git a/charts/docker_auth/values.yaml b/charts/docker_auth/values.yaml index 2358e28..6d46302 100644 --- a/charts/docker_auth/values.yaml +++ b/charts/docker_auth/values.yaml @@ -166,16 +166,38 @@ ingress: ## ## @param tls.enabled whether or not if TLS is enabled. ## @param tls.selfSigned whether or not to create a self-signed certidicate via Helm's [`genCA`](https://helm.sh/docs/chart_template_guide/function_list/#genca) Go template function. +## @param tls.certManager.enabled whether to create certificates from `cert-manager` +## @param tls.certManager.clusterIssuer If this is set, then this references the cluster issuer. This cannot clash with `tls.certManager.issuer` +## @param tls.certManager.issuer If this is set, then this references the namespaced issuer. This cannot clash with `tls.certManager.clusterIssuer` +## @param tls.certManager.group for external issuers, this will be the issuerRef's group. +## @param tls.certManager.organizations List of organizations to use for the subject +## @param tls.certManager.renewBefore Duration before the certificate should be renewed +## @param tls.certManager.duration Duration for the certificate +## @param tls.certManager.privateKey.algorithm Algorithm for the private cert key +## @param tls.certManager.privateKey.size Key size for the private cert key ## @param tls.secret.existingSecret reference to an existing `Secret` that has `ca.crt` and `ca.key` data pairs. -## @param tls.secret.crt the `ca.crt` value to use -## @param tls.secret.key the `ca.key` value to use. +## @param tls.secret.tlsCrt Value for `tls.crt` +## @param tls.secret.tlsKey Value for `tls.key` +## @param tls.secret.caCrt Value for `ca.crt` tls: enabled: true selfSigned: false + certManager: + enabled: false + clusterIssuer: "" + issuer: "" + group: cert-manager.io + organizations: [] + renewBefore: 360h + duration: 2160h + privateKey: + algorithm: RSA + size: 2048 secret: existingSecret: "" - crt: "" - key: "" + tlsCrt: "" + tlsKey: "" + caCrt: "" ## @param Deployment Parameters ## @skip deployment.config @@ -202,25 +224,34 @@ tls: ## @param deployment.livenessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. deployment: existingConfigMap: "" - strategy: {} logLevel: 2 + strategy: {} + # example: # # type: RollingUpdate # rollingUpdate: # maxSurge: 1 # maxUnavailable: 0 + config: |- server: addr: ":5001" - {{- if .Values.tls.enabled }} - certificate: "/certs/auth.crt" - key: "/certs/auth.key" + {{- if and .Values.tls.enabled (not .Values.ingress.tls) }} + certificate: "/rootbundle/certs/tls.crt" + key: "/rootbundle/certs/tls.key" + {{- else if and .Values.ingress.tls .Values.ingress.selfSigned }} + certificate: "/server/certs/tls.crt" + key: "/server/certs/tls.key" {{- end }} token: # this must match the issuer in the `distribution/distribution` configuration file issuer: "Acme auth server" expiration: 900 + {{- if and .Values.tls.enabled .Values.ingress.tls }} + certificate: "/rootbundle/certs/tls.crt" + key: "/rootbundle/certs/tls.key" + {{- end }} users: # Password is specified as a BCrypt hash. Use `htpasswd -nB USERNAME` to generate. "admin": diff --git a/charts/sentry/.helmignore b/charts/sentry/.helmignore deleted file mode 100644 index 565c5a4..0000000 --- a/charts/sentry/.helmignore +++ /dev/null @@ -1,28 +0,0 @@ -# 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 -*.orig -sentry-*.tgz -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# other charts in the directory -snuba/ -symbolicator/ -vroom/ diff --git a/charts/sentry/Chart.lock b/charts/sentry/Chart.lock deleted file mode 100644 index 04e658a..0000000 --- a/charts/sentry/Chart.lock +++ /dev/null @@ -1,24 +0,0 @@ -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - version: 2.19.2 -- name: postgresql - repository: oci://registry-1.docker.io/bitnamicharts - version: 15.5.5 -- name: redis - repository: oci://registry-1.docker.io/bitnamicharts - version: 19.5.3 -- name: kafka - repository: oci://registry-1.docker.io/bitnamicharts - version: 29.3.1 -- name: zookeeper - repository: oci://registry-1.docker.io/bitnamicharts - version: 13.4.3 -- name: memcached - repository: oci://registry-1.docker.io/bitnamicharts - version: 7.4.5 -- name: rabbitmq - repository: oci://registry-1.docker.io/bitnamicharts - version: 14.4.2 -digest: sha256:57abed2c87ac15016824b6543e64952836fc90d12166c3c494ddcd47cfc9a9df -generated: "2024-06-13T16:04:51.781018688-07:00" diff --git a/charts/sentry/Chart.yaml b/charts/sentry/Chart.yaml deleted file mode 100644 index c6584b3..0000000 --- a/charts/sentry/Chart.yaml +++ /dev/null @@ -1,85 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# renovate: image=getsentry/sentry -appVersion: "24.5.1" -kubeVersion: ">=1.26" -description: Unofficial Helm chart for bootstrapping Sentry -apiVersion: v2 -version: 0.1.0 -home: https://sentry.io -type: application -name: sentry -keywords: - - error-reporting - - tracing -maintainers: - - name: Noelware, LLC. - email: team@noelware.org - url: https://noelware.org - - name: Noel Towa - email: cutie@floofy.dev - url: https://floofy.dev -annotations: - charts.noelware.org/categories: Other - charts.noelware.org/licenses: Apache-2.0 - charts.noelware.org/images: |- - - image: getsentry/sentry -dependencies: - - name: common - version: 2.19.2 - repository: oci://registry-1.docker.io/bitnamicharts - - name: postgresql - version: 15.5.5 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.postgresql.enabled - - name: redis - version: 19.5.3 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.redis.enabled - - name: kafka - version: 29.3.1 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.redis.kafka - - name: zookeeper - version: 13.4.3 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.redis.zookeeper - - name: memcached - version: 7.4.5 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.redis.memcached - - name: rabbitmq - version: 14.4.2 - repository: oci://registry-1.docker.io/bitnamicharts - condition: external.redis.rabbitmq - # - name: snuba - # version: 0.1.0 - # repository: ./scuba - # condition: external.snuba.enabled - # - name: symbolicator - # version: 0.1.0 - # repository: ./symbolicator - # condition: external.symbolicator.enabled - # - name: vroom - # version: 0.1.0 - # repository: ./vroom - # condition: external.vroom.enabled diff --git a/charts/sentry/README.md b/charts/sentry/README.md deleted file mode 100644 index cd6647b..0000000 --- a/charts/sentry/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# 🐻‍❄️🔮 `noelware/sentry` Helm Chart -The **noelware/sentry** Helm chart is an unofficial Helm chart to bootstrap [Sentry](https://sentry.io) on Kubernetes. - -## Requirements -* Kubernetes v1.26 or higher -* Helm 3.12 or higher - -## Installation -```shell -$ helm repo add noelware https://charts.noelware.org/~/noelware -$ helm install sentry noelware/sentry -``` - -## Parameters diff --git a/charts/sentry/snuba/Chart.lock b/charts/sentry/snuba/Chart.lock deleted file mode 100644 index fbfdb3e..0000000 --- a/charts/sentry/snuba/Chart.lock +++ /dev/null @@ -1,15 +0,0 @@ -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - version: 2.19.2 -- name: kafka - repository: oci://registry-1.docker.io/bitnamicharts - version: 29.3.1 -- name: zookeeper - repository: oci://registry-1.docker.io/bitnamicharts - version: 13.4.3 -- name: clickhouse - repository: oci://registry-1.docker.io/bitnamicharts - version: 6.2.5 -digest: sha256:7c5f5a08f9519b076b1c9100ba561fbec35e086a3d3e59495059da16192d322d -generated: "2024-06-13T16:02:23.403239028-07:00" diff --git a/charts/sentry/snuba/Chart.yaml b/charts/sentry/snuba/Chart.yaml deleted file mode 100644 index 13bde3c..0000000 --- a/charts/sentry/snuba/Chart.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# renovate: image=getsentry/snuba -appVersion: "24.5.1" -kubeVersion: ">=1.26" -description: "Unofficial Helm chart for bootstrapping Snuba: search the seas for your lost treasure." -apiVersion: v2 -version: 0.1.0 -home: https://getsentry.github.io/snuba/index.html -type: application -name: vroom -maintainers: - - name: Noelware, LLC. - email: team@noelware.org - url: https://noelware.org - - name: Noel Towa - email: cutie@floofy.dev - url: https://floofy.dev -annotations: - charts.noelware.org/categories: Other - charts.noelware.org/licenses: Apache-2.0 - charts.noelware.org/images: |- - - image: getsentry/vroom -dependencies: - - name: common - version: 2.19.2 - repository: oci://registry-1.docker.io/bitnamicharts - - name: clickhouse - version: 6.2.5 - repository: oci://registry-1.docker.io/bitnamicharts - condition: subcharts.clickhouse.enabled - - name: redis - version: 19.5.3 - repository: oci://registry-1.docker.io/bitnamicharts - condition: subcharts.redis.enabled diff --git a/charts/sentry/snuba/README.md b/charts/sentry/snuba/README.md deleted file mode 100644 index d9dca5c..0000000 --- a/charts/sentry/snuba/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# 🐻‍❄️🔮 `noelware/snuba` Helm Chart -The **noelware/snuba** Helm chart is an unofficial Helm chart to deploy Sentry's [Snuba](https://github.com/getsentry/snuba) service. This was made to allow external Snuba services to be deployed with Noelware's Sentry Helm chart and to deploy Snuba outside of Sentry. - -## Requirements -* Kubernetes v1.26 or higher -* Helm 3.12 or higher - -## Installation -```shell -$ helm repo add noelware https://charts.noelware.org/~/noelware -$ helm install snuba noelware/snuba -``` - -## Parameters diff --git a/charts/sentry/snuba/values.yaml b/charts/sentry/snuba/values.yaml deleted file mode 100644 index cacc957..0000000 --- a/charts/sentry/snuba/values.yaml +++ /dev/null @@ -1,113 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -## @section Global Parameters -## @descriptionStart -## Contains any global parameters that will affected all objects in the Snuba Helm chart. -## @descriptionEnd -## -## @param global.replicas Amount of replicas to use -## @param global.resources Resource list to apply to all containers. -## @param global.fullNameOverride String to fully override the Helm installation name for all objects -## @param global.nameOverride String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` -## @param global.clusterDomain Domain host that maps to the cluster -## @param global.nodeSelector Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). -## @param global.tolerations List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) -## @param global.affinity Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). -## @param global.annotations Map of annotations to append to on all objects that this Helm chart creates. -## @param global.extraEnvVars List of extra environment variables to append to all init/sidecar containers and normal containers. -## @param global.initContainers List of init containers to create. -## @param global.podSecurityContext Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.containerSecurityContext Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.dnsPolicy DNS policy for the pod. -## @param global.dnsConfig Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. -global: - replicas: 1 - fullNameOverride: "" - nameOverride: "" - clusterDomain: cluster.local - nodeSelector: {} - tolerations: [] - affinity: {} - annotations: {} - extraEnvVars: [] - initContainers: [] - podSecurityContext: {} - containerSecurityContext: {} - dnsPolicy: "" - dnsConfig: {} - resources: {} - ## Example: - ## limits: - ## memory: 2Gi - ## cpu: 1500m - ## requests: - ## memory: 512Mi - ## cpu: 150m - -## @section Docker Image Parameters -## @descriptionStart -## Parameters to modify the Docker image that is ran. -## @descriptionEnd -## -## @param image.pullPolicy [string] [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. -## @param image.registry Registry URL to point to. For Docker Hub, use an empty string. -## @param image.image Image name. -## @param image.tag The tag of the image. Keep this as a empty string if you wish to use the default app's version. -## @param image.digest Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. -image: - pullPolicy: IfNotPresent - registry: "" # keep empty to use docker hub - image: getsentry/snuba - tag: "" # keep empty for the app version - digest: "" - -## @section Service Account Parameters -## @param serviceAccount.create Whether or not if the service account should be created for this Helm installation. -## @param serviceAccount.annotations Any additional annotations to append to this ServiceAccount -## @param serviceAccount.name The name of the service account, this will be the Helm installation name if this is empty. -## @param serviceAccount.automountServiceAccountToken whether if the service account token is mounted onto the containers -serviceAccount: - create: true - annotations: {} - name: "" - automountServiceAccountToken: true - -subcharts: - clickhouse: - enabled: true - auth: - username: default - password: "" - existingSecret: "" - existingSecretKey: "" - keeper: - enabled: false - redis: - enabled: true - architecture: standalone - auth: - enabled: true - password: "" - existingSecret: "" - master: - resourcesPreset: "nano" - resources: {} diff --git a/charts/sentry/symbolicator/Chart.lock b/charts/sentry/symbolicator/Chart.lock deleted file mode 100644 index 2292bef..0000000 --- a/charts/sentry/symbolicator/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - version: 2.19.2 -digest: sha256:259c2016a8bd1aca53bb5d9d18ab142a139924dbd7946457a29465ed7e8d37b0 -generated: "2024-06-13T16:15:14.359233163-07:00" diff --git a/charts/sentry/symbolicator/Chart.yaml b/charts/sentry/symbolicator/Chart.yaml deleted file mode 100644 index d8d37c8..0000000 --- a/charts/sentry/symbolicator/Chart.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# renovate: image=getsentry/symbolicator -appVersion: "24.5.1" -kubeVersion: ">=1.26" -description: Unofficial Helm chart for bootstrapping Symbolicator, which enables native symbolication as a service -apiVersion: v2 -version: 0.1.0 -home: https://getsentry.github.io/symbolicator/ -type: application -name: symbolicator -maintainers: - - name: Noelware, LLC. - email: team@noelware.org - url: https://noelware.org - - name: Noel Towa - email: cutie@floofy.dev - url: https://floofy.dev -annotations: - charts.noelware.org/categories: Other - charts.noelware.org/licenses: Apache-2.0 - charts.noelware.org/images: |- - - image: getsentry/symbolicator -dependencies: - - name: common - version: 2.19.2 - repository: oci://registry-1.docker.io/bitnamicharts diff --git a/charts/sentry/symbolicator/README.md b/charts/sentry/symbolicator/README.md deleted file mode 100644 index f3d95e5..0000000 --- a/charts/sentry/symbolicator/README.md +++ /dev/null @@ -1,119 +0,0 @@ -# 🐻‍❄️🔮 `noelware/symbolicator` Helm Chart -The **noelware/symbolicator** Helm chart is an unofficial Helm chart to deploy Sentry's [Symbilicator](https://github.com/getsentry/symbolicator) service. This was made to allow external Symbolicator services to be deployed with Noelware's Sentry Helm chart and to deploy Symbolicator outside of Sentry. - -## Requirements -* Kubernetes v1.26 or higher -* Helm 3.12 or higher - -## Installation -```shell -$ helm repo add noelware https://charts.noelware.org/~/noelware -$ helm install symbolicator noelware/symbolicator -``` - -## Parameters - -### Global Parameters - -Contains any global parameters that will affected all objects in the VROOM! Helm chart. - -| Name | Description | Value | -| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -| `global.replicas` | Amount of replicas to use | `1` | -| `global.resources` | Resource list to apply to all containers. | `{}` | -| `global.fullNameOverride` | String to fully override the Helm installation name for all objects | `""` | -| `global.nameOverride` | String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` | `""` | -| `global.clusterDomain` | Domain host that maps to the cluster | `cluster.local` | -| `global.nodeSelector` | Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `global.tolerations` | List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) | `[]` | -| `global.affinity` | Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). | `{}` | -| `global.annotations` | Map of annotations to append to on all objects that this Helm chart creates. | `{}` | -| `global.extraEnvVars` | List of extra environment variables to append to all init/sidecar containers and normal containers. | `[]` | -| `global.initContainers` | List of init containers to create. | `[]` | -| `global.podSecurityContext` | Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `global.containerSecurityContext` | Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `global.dnsPolicy` | DNS policy for the pod. | `""` | -| `global.dnsConfig` | Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. | `{}` | - -### Docker Image Parameters - -Parameters to modify the Docker image that is ran. - -| Name | Description | Value | -| ------------------ | --------------------------------------------------------------------------------------------------------------- | ------------------------ | -| `image.pullPolicy` | [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. | `""` | -| `image.registry` | Registry URL to point to. For Docker Hub, use an empty string. | `""` | -| `image.image` | Image name. | `getsentry/symbolicator` | -| `image.tag` | The tag of the image. Keep this as a empty string if you wish to use the default app's version. | `""` | -| `image.digest` | Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. | `""` | - -### Service Account Parameters - -| Name | Description | Value | -| --------------------------------------------- | ------------------------------------------------------------------------------------------ | ------ | -| `serviceAccount.create` | Whether or not if the service account should be created for this Helm installation. | `true` | -| `serviceAccount.annotations` | Any additional annotations to append to this ServiceAccount | `{}` | -| `serviceAccount.name` | The name of the service account, this will be the Helm installation name if this is empty. | `""` | -| `serviceAccount.automountServiceAccountToken` | whether if the service account token is mounted onto the containers | `true` | - -### Deployment Parameters - -| Name | Description | Value | -| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -| `deployment.existingConfigMap` | Name to a [`ConfigMap`](https://kubernetes.io/docs/concepts/configuration/configmap/) that is used for Symbolicator's configuration file. The `symbolicator.yml` key must be available. | `""` | -| `deployment.strategy` | [Deployment strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) when creating the deployment. | `{}` | -| `deployment.startupProbe.enabled` | whether or not to enable probing at startup. | `true` | -| `deployment.startupProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.startupProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.startupProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.startupProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.startupProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | -| `deployment.readinessProbe.enabled` | whether or not to enable the readiness probing | `true` | -| `deployment.readinessProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.readinessProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.readinessProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | -| `deployment.livenessProbe.enabled` | whether or not to enable the liveness probing | `true` | -| `deployment.livenessProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.livenessProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.livenessProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | - -### Pod Disruption Budget - -| Name | Description | Value | -| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `podDisruptionBudget.enabled` | Enables the use of a `PodDisruptionBudget`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions) | `false` | -| `podDisruptionBudget.minAvailable` | Minimum number (or percentage) of pods that should be remained scheduled | `1` | -| `podDisruptionBudget.maxUnavailable` | Maximum number (or percentage) of pods that maybe made unavaliable. | `nil` | - -### Service Parameters - -Parameters to configure a [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/) to allow connectivity internally -or externally. - -| Name | Description | Value | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | -| `service.port` | Port number to listen to. | `3021` | -| `service.clusterIP` | IP to use for the cluster IP if `type` is `ClusterIP`. | `""` | -| `service.enabled` | Whether or not if a Kubernetes service should be enabled. | `true` | -| `service.type` | The [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to use. | `ClusterIP` | -| `service.selectorLabels` | Selector to apply this Kubernetes service to | `{}` | -| `service.externalName` | The external name if `service.type` == `"ExternalName"` | `nil` | -| `service.loadBalancer` | Load balancer configuration if `service.type` == `"LoadBalanacer"` | `{}` | -| `service.nodePort` | Node port to expose, refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) for more information. | `""` | - -### Persistence - -| Name | Description | Value | -| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | -| `persistence.enabled` | whether to enable a PVC to cache symbolications | `true` | -| `persistence.path` | Symbolicator's path to where it is cached. | `/data` | -| `persistence.existingClaim` | An existing [`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes) that was created beforehand. If you use `helm upgrade` and this is not set, it'll not provision a new PVC. | `""` | -| `persistence.storageClass` | The [`storageClass`](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1) field when creating the PVC. | `""` | -| `persistence.selector` | Label selector to further filter the PVC set, read in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector) for more information. | `{}` | -| `persistence.size` | The size of the PVC, in mose cases, this shouldn't be higher than 1GiB... unless you have many images. | `1Gi` | -| `persistence.accessModes` | List of [access modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) | `["ReadWriteOnce"]` | -| `persistence.annotations` | Mapping of the annotations that will be merged with existing annotations for the PVC creation | `{}` | diff --git a/charts/sentry/symbolicator/templates/NOTES.txt b/charts/sentry/symbolicator/templates/NOTES.txt deleted file mode 100644 index 9326d24..0000000 --- a/charts/sentry/symbolicator/templates/NOTES.txt +++ /dev/null @@ -1,12 +0,0 @@ -Thanks for installing Symbolicator via Helm! To access the Symbolicator server, use the following commands: - -{{- if (eq .Values.service.type "NodePort") }} -$ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "symbolicator.fullname" . }}) -$ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") -$ echo "http://$NODE_IP:$NODE_PORT" -{{- else if (eq .Values.service.type "ClusterIP") }} -$ export POD=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "k8s.noelware.cloud/name={{ include "symbolicator.name" . }}" -o jsonpath="{.items[0].metadata.name}") -$ export PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD -o jsonpath="{.spec.containers[0].ports[0].containerPort}") -$ echo "http://127.0.0.1:8080" -$ kubectl --namespace {{ .Release.Namespace }} port-forward $POD 8080:$PORT -{{- end }} diff --git a/charts/sentry/symbolicator/templates/_helpers.tpl b/charts/sentry/symbolicator/templates/_helpers.tpl deleted file mode 100644 index 020a17b..0000000 --- a/charts/sentry/symbolicator/templates/_helpers.tpl +++ /dev/null @@ -1,176 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{/* -Expand the name of the chart. - -Example: - {{ include "symbolicator.name" . }} -*/}} -{{- define "symbolicator.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. - -Example: - {{ include "symbolicator.fullname" }} -*/}} -{{- define "symbolicator.fullname" -}} -{{- if .Values.fullNameOverride -}} -{{- .Values.fullNameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. - -Example: - {{ include "symbolicator.chart" . }} -*/}} -{{- define "symbolicator.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels that are attached to each Kubernetes object spawned by the Helm chart. - -Example: - - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -*/}} -{{- define "symbolicator.labels" -}} -{{ include "symbolicator.selectorLabels" . }} -k8s.noelware.cloud/managed-by: Helm -{{- end }} - -{{- define "symbolicator.selectorLabels" -}} -k8s.noelware.cloud/name: {{ include "symbolicator.name" . }} -k8s.noelware.cloud/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use - -Example: - serviceAccountName: {{ include "symbolicator.serviceAccountName" . | quote }} -*/}} -{{- define "symbolicator.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "symbolicator.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Default annotations that are included in each Kubernetes object spawned by the Helm chart. - -Example: - - annotations: - # with no external annotations - {{- include "symbolicator.annotations" (dict "context" .) }} - - # with external annotations - {{- $annotations := dict "hello.world/uwu" "world" }} - {{- include "symbolicator.annotations" (dict "external" $annotations "context" .) }} -*/}} -{{- define "symbolicator.annotations" -}} -k8s.noelware.cloud/component: http-proxy -k8s.noelware.cloud/product: Hazel -{{- if .context.Chart.AppVersion }} -k8s.noelware.cloud/version: {{ .context.Chart.AppVersion | quote }} -{{- end }} - -{{- $externalAnnotations := .external | default dict }} -{{/* "common.tplvalues.merge" conjoins as a YAML string, so we need to `fromYaml` for this to probably work (idk!) */}} -{{- $all := include "common.tplvalues.merge" (dict "values" (list $externalAnnotations .context.Values.global.annotations) "context" .context) | fromYaml }} - -{{- range $key, $val := $all }} - {{ $key }}: {{ $val | quote }} -{{- end -}} -{{- end -}} - -{{/* -Default Pod security context object -*/}} -{{- define "symbolicator.defaultPodSecurityContext" -}} -fsGroup: 10021 -seccompProfile: - type: "RuntimeDefault" -{{- end -}} - -{{/* -Default container security context object -*/}} -{{- define "symbolicator.defaultContainerSecurityContext" -}} -runAsUser: 10021 -runAsNonRoot: true -readOnlyRootFilesystem: false -allowPrivilegeEscalation: false -capabilities: - drop: ["ALL"] -{{- end -}} - -{{/* -Default resource limits -*/}} -{{- define "symbolicator.defaultResourceLimits" -}} -limits: - memory: 4Gi - cpu: 1500m -requests: - memory: 1Gi - cpu: 500m -{{- end -}} - -{{/* -Image definition for Symbolicator -*/}} -{{- define "symbolicator.image" -}} -{{/* define our variables */}} -{{- $registry := default "docker.io" .Values.image.registry -}} -{{- $repo := .Values.image.image -}} -{{- $tag := default .Chart.AppVersion .Values.image.tag -}} -{{- $sep := ":" -}} - -{{- if .Values.image.digest }} - {{- $tag := .Values.image.digest | toString -}} - {{- $sep := "@" -}} -{{- end -}} - -{{/* bring it all together */}} -{{- printf "%s/%s%s%s" $registry $repo $sep $tag -}} -{{- end -}} diff --git a/charts/sentry/symbolicator/templates/_pod.tpl b/charts/sentry/symbolicator/templates/_pod.tpl deleted file mode 100644 index 14c434d..0000000 --- a/charts/sentry/symbolicator/templates/_pod.tpl +++ /dev/null @@ -1,111 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -{{- define "symbolicator.pod" -}} -serviceAccountName: {{ include "symbolicator.serviceAccountName" . }} -{{- if .Values.global.affinity }} -affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) }} -{{- end }} -{{- if .Values.global.nodeSelector }} -nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.global.nodeSelector "context" $) }} -{{- end }} -{{- if .Values.global.tolerations }} -tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.global.tolerations "context" $) }} -{{- end }} -{{- if .Values.global.affinity }} -affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) }} -{{- end }} -{{- if .Values.global.dnsPolicy }} -dnsPolicy: {{ .Values.global.dnsPolicy }} -{{- end }} -{{- with .Values.global.dnsConfig }} -dnsConfig: - {{ toYaml . | nindent 2 }} -{{- end }} -volumes: - - name: config - configMap: - name: {{ default (printf "%s-config" (include "symbolicator.fullname" .)) .Values.deployment.existingConfigMap }} - {{- if .Values.persistence.enabled }} - - name: data - persistentVolumeClaim: - claimName: {{ default (printf "%s-data" (include "symbolicator.fullname" .)) .Values.persistence.existingClaim }} - {{- end }} -{{- with .Values.global.initContainers }} -initContainers: - {{- . | toYaml }} -{{- end }} -containers: - - name: {{ include "symbolicator.fullname" . }} - image: {{ include "symbolicator.image" . }} - imagePullPolicy: {{ .Values.image.pullPolicy }} - resources: {{ default (include "symbolicator.defaultResourceLimits" .) .Values.global.resources | nindent 8 }} - securityContext: {{ default (include "symbolicator.defaultContainerSecurityContext" .) .Values.global.containerSecurityContext | nindent 8 }} - args: - - run - - "--config=/etc/symbolicator/symbolicator.yml" - ports: - - name: http - containerPort: {{ .Values.service.port }} - env: - {{- if .Values.global.extraEnvVars }} - {{ include "common.tplvalues.render" (dict "value" .Values.global.extraEnvVars "context" $) | nindent 8 }} - {{- end }} - volumeMounts: - - name: config - mountPath: /etc/symbolicator - readOnly: true - - name: data - mountPath: {{ default "/data" .Values.persistence.path }} - {{- if .Values.deployment.startupProbe.enabled }} - startupProbe: - httpGet: - path: /healthcheck - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.startupProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.startupProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.startupProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.startupProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.startupProbe.failureThreshold }} - {{- end }} - {{- if .Values.deployment.readinessProbe.enabled }} - readinessProbe: - httpGet: - path: /healthcheck - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.readinessProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.readinessProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.readinessProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.readinessProbe.failureThreshold }} - {{- end }} - {{- if .Values.deployment.livenessProbe.enabled }} - livenessProbe: - httpGet: - path: /healthcheck - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.livenessProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.livenessProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.livenessProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.livenessProbe.failureThreshold }} - {{- end }} -{{- end -}} diff --git a/charts/sentry/symbolicator/templates/configmap.yaml b/charts/sentry/symbolicator/templates/configmap.yaml deleted file mode 100644 index 7b59db9..0000000 --- a/charts/sentry/symbolicator/templates/configmap.yaml +++ /dev/null @@ -1,37 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if not .Values.deployment.existingConfigMap }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ printf "%s-config" (include "symbolicator.fullname" .) }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "symbolicator.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -data: - symbolicator.yml: | - {{- include "common.tplvalues.render" (dict "value" .Values.deployment.config "context" $) | nindent 8 }} -{{- end }} diff --git a/charts/sentry/symbolicator/templates/deployment.yaml b/charts/sentry/symbolicator/templates/deployment.yaml deleted file mode 100644 index 37547b4..0000000 --- a/charts/sentry/symbolicator/templates/deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "symbolicator.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "symbolicator.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -spec: - replicas: {{ .Values.global.replicas }} - selector: - matchLabels: - {{- include "symbolicator.labels" . | nindent 12 }} - template: - metadata: - labels: - {{- include "symbolicator.labels" . | nindent 16 }} - spec: - {{- include "symbolicator.pod" . | nindent 12 -}} diff --git a/charts/sentry/symbolicator/templates/pdb.yaml b/charts/sentry/symbolicator/templates/pdb.yaml deleted file mode 100644 index 2e76855..0000000 --- a/charts/sentry/symbolicator/templates/pdb.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.podDisruptionBudget.enabled }} -apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} -kind: PodDisruptionBudget -metadata: - name: {{ include "symbolicator.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "symbolicator.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -spec: - minAvaliable: {{ .Values.podDisruptionBudget.minAvaliable | int }} - maxUnavaliable: {{ .Values.podDisruptionBudget.maxUnavailable | int }} - selector: - matchLabels: - {{- include "symbolicator.labels" . | nindent 12 }} -{{- end }} diff --git a/charts/sentry/symbolicator/templates/pvc.yaml b/charts/sentry/symbolicator/templates/pvc.yaml deleted file mode 100644 index e507289..0000000 --- a/charts/sentry/symbolicator/templates/pvc.yaml +++ /dev/null @@ -1,51 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: {{ printf "%s-data" (include "symbolicator.fullname" .) }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} - annotations: - {{- $annotations := include "symbolicator.annotations" (dict "external" .Values.persistence.annotations "context" .) }} - {{- $annotations | nindent 8 }} -spec: - {{- if .Values.persistence.storageClass }} - storageClassName: {{ .Values.persistence.storageClass | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.persistence.size }} - accessModes: - {{- with .Values.persistence.accessModes -}} - {{ toYaml . | nindent 8 }} - {{- end }} - {{ $selector := .Values.persistence.selector -}} - {{- if $selector }} - selector: - {{- toYaml $selector | nindent 8 }} - {{- end }} -{{- end }} diff --git a/charts/sentry/symbolicator/templates/service.yaml b/charts/sentry/symbolicator/templates/service.yaml deleted file mode 100644 index 95a16dd..0000000 --- a/charts/sentry/symbolicator/templates/service.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.service.enabled }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "symbolicator.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "symbolicator.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -spec: - type: {{ .Values.service.type }} - ports: - - protocol: TCP - port: {{ .Values.service.port }} - targetPort: http - {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePort)) }} - nodePort: {{ .Values.service.nodePort }} - {{- else if eq .Values.service.type "ClusterIP" }} - nodePort: null - {{- end }} - selector: - {{- include "symbolicator.labels" . | nindent 8 }} - {{- if .Values.service.selectorLabels }} - {{- include "common.tplvalues.render" (dict "value" .Values.service.selectorLabels "context" $) | nindent 8 }} - {{- end }} - - {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }} - clusterIP: {{ .Values.service.clusterIP }} - {{- end }} - {{- if and .Values.service.externalName (eq .Values.service.type "ExternalName") }} - externalName: {{ .Values.service.externalName }} - {{- end }} -{{- end }} diff --git a/charts/sentry/symbolicator/templates/serviceAccount.yaml b/charts/sentry/symbolicator/templates/serviceAccount.yaml deleted file mode 100644 index 51d0d71..0000000 --- a/charts/sentry/symbolicator/templates/serviceAccount.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "symbolicator.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "symbolicator.annotations" (dict "external" .Values.serviceAccount.annotations "context" .) | nindent 8 }} - labels: - {{- include "symbolicator.labels" . | nindent 8 }} -{{- end -}} diff --git a/charts/sentry/symbolicator/values.yaml b/charts/sentry/symbolicator/values.yaml deleted file mode 100644 index 7a2773c..0000000 --- a/charts/sentry/symbolicator/values.yaml +++ /dev/null @@ -1,213 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -## @section Global Parameters -## @descriptionStart -## Contains any global parameters that will affected all objects in the VROOM! Helm chart. -## @descriptionEnd -## -## @param global.replicas Amount of replicas to use -## @param global.resources Resource list to apply to all containers. -## @param global.fullNameOverride String to fully override the Helm installation name for all objects -## @param global.nameOverride String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` -## @param global.clusterDomain Domain host that maps to the cluster -## @param global.nodeSelector Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). -## @param global.tolerations List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) -## @param global.affinity Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). -## @param global.annotations Map of annotations to append to on all objects that this Helm chart creates. -## @param global.extraEnvVars List of extra environment variables to append to all init/sidecar containers and normal containers. -## @param global.initContainers List of init containers to create. -## @param global.podSecurityContext Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.containerSecurityContext Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.dnsPolicy DNS policy for the pod. -## @param global.dnsConfig Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. -global: - replicas: 1 - fullNameOverride: "" - nameOverride: "" - clusterDomain: cluster.local - nodeSelector: {} - tolerations: [] - affinity: {} - annotations: {} - extraEnvVars: [] - initContainers: [] - podSecurityContext: {} - containerSecurityContext: {} - dnsPolicy: "" - dnsConfig: {} - resources: {} - ## Example: - ## limits: - ## memory: 2Gi - ## cpu: 1500m - ## requests: - ## memory: 512Mi - ## cpu: 150m - -## @section Docker Image Parameters -## @descriptionStart -## Parameters to modify the Docker image that is ran. -## @descriptionEnd -## -## @param image.pullPolicy [string] [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. -## @param image.registry Registry URL to point to. For Docker Hub, use an empty string. -## @param image.image Image name. -## @param image.tag The tag of the image. Keep this as a empty string if you wish to use the default app's version. -## @param image.digest Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. -image: - pullPolicy: IfNotPresent - registry: "" # keep empty to use docker hub - image: getsentry/symbolicator - tag: "" # keep empty for the app version - digest: "" - -## @section Service Account Parameters -## @param serviceAccount.create Whether or not if the service account should be created for this Helm installation. -## @param serviceAccount.annotations Any additional annotations to append to this ServiceAccount -## @param serviceAccount.name The name of the service account, this will be the Helm installation name if this is empty. -## @param serviceAccount.automountServiceAccountToken whether if the service account token is mounted onto the containers -serviceAccount: - create: true - annotations: {} - name: "" - automountServiceAccountToken: true - -## @section Deployment Parameters -## @skip deployment.config -## @param deployment.existingConfigMap Name to a [`ConfigMap`](https://kubernetes.io/docs/concepts/configuration/configmap/) that is used for Symbolicator's configuration file. The `symbolicator.yml` key must be available. -## @param deployment.strategy [object] [Deployment strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) when creating the deployment. -## @param deployment.startupProbe.enabled whether or not to enable probing at startup. -## @param deployment.startupProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.startupProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.startupProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.startupProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.startupProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -## @param deployment.readinessProbe.enabled whether or not to enable the readiness probing -## @param deployment.readinessProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.readinessProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.readinessProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.readinessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.readinessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -## @param deployment.livenessProbe.enabled whether or not to enable the liveness probing -## @param deployment.livenessProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.livenessProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.livenessProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.livenessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.livenessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -deployment: - existingConfigMap: "" - config: |- - # ref: https://getsentry.github.io/symbolicator/#configuration - {{- if .Values.persistence.enabled }} - cache_dir: {{ .Values.persistence.path | quote }} - {{- else }} - # It is recommended that persistence is enabled in production - cache_dir: "/tmp/symbolicator" - {{- end }} - bind: "0.0.0.0:3021" - logging: - level: info - format: pretty - enable_backtraces: true - - startupProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - readinessProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - livenessProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - strategy: {} - # type: RollingUpdate - # rollingUpdate: - # maxSurge: 1 - # maxUnavailable: 0 - -## @section Pod Disruption Budget -## @param podDisruptionBudget.enabled Enables the use of a `PodDisruptionBudget`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions) -## @param podDisruptionBudget.minAvailable Minimum number (or percentage) of pods that should be remained scheduled -## @param podDisruptionBudget.maxUnavailable Maximum number (or percentage) of pods that maybe made unavaliable. -podDisruptionBudget: - enabled: false - minAvailable: 1 - maxUnavailable: null - -## @section Service Parameters -## @descriptionStart -## Parameters to configure a [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/) to allow connectivity internally -## or externally. -## @descriptionEnd -## -## @param service.port Port number to listen to. -## @param service.clusterIP IP to use for the cluster IP if `type` is `ClusterIP`. -## @param service.enabled Whether or not if a Kubernetes service should be enabled. -## @param service.type The [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to use. -## @param service.selectorLabels Selector to apply this Kubernetes service to -## @param service.externalName The external name if `service.type` == `"ExternalName"` -## @param service.loadBalancer Load balancer configuration if `service.type` == `"LoadBalanacer"` -## @param service.nodePort Node port to expose, refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) for more information. -service: - enabled: true - port: 3021 - type: ClusterIP - selectorLabels: {} - clusterIP: "" - externalName: null - loadBalancer: {} - nodePort: "" - -## @section Persistence -## @descriptionStart -## -## @descriptionEnd -## @param persistence.enabled whether to enable a PVC to cache symbolications -## @param persistence.path Symbolicator's path to where it is cached. -## @param persistence.existingClaim An existing [`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes) that was created beforehand. If you use `helm upgrade` and this is not set, it'll not provision a new PVC. -## @param persistence.storageClass The [`storageClass`](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1) field when creating the PVC. -## @param persistence.selector Label selector to further filter the PVC set, read in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector) for more information. -## @param persistence.size The size of the PVC, in mose cases, this shouldn't be higher than 1GiB... unless you have many images. -## @param persistence.accessModes List of [access modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) -## @param persistence.annotations Mapping of the annotations that will be merged with existing annotations for the PVC creation -persistence: - enabled: true - existingClaim: "" - path: "/data" - storageClass: "" - selector: {} - annotations: {} - size: 1Gi - accessModes: - - ReadWriteOnce diff --git a/charts/sentry/values.yaml b/charts/sentry/values.yaml deleted file mode 100644 index 93c9774..0000000 --- a/charts/sentry/values.yaml +++ /dev/null @@ -1,497 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -# ## @section Global Parameters -# ## @descriptionStart -# ## Contains global parameters that affect all created objects from this Helm chart. -# ## @descriptionEnd -# global: -# fullNameOverride: "" -# nameOverride: "" -# clusterDomain: cluster.local -# annotations: {} - -# ## @section Containers -# ## @descriptionStart -# ## Configures the containers that are spawned. -# ## @descriptionEnd -# containers: -# sentry: -# global: -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# ## Example: -# ## limits: -# ## memory: 2Gi -# ## cpu: 1500m -# ## requests: -# ## memory: 512Mi -# ## cpu: 150m -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/sentry -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion -# scuba: -# global: -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# ## Example: -# ## limits: -# ## memory: 2Gi -# ## cpu: 1500m -# ## requests: -# ## memory: 512Mi -# ## cpu: 150m -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/scuba -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion -# symbolicator: -# global: -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# ## Example: -# ## limits: -# ## memory: 2Gi -# ## cpu: 1500m -# ## requests: -# ## memory: 512Mi -# ## cpu: 150m -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/symbolicator -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion -# relay: -# global: -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# ## Example: -# ## limits: -# ## memory: 2Gi -# ## cpu: 1500m -# ## requests: -# ## memory: 512Mi -# ## cpu: 150m -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/relay -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion -# vroom: -# global: -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# ## Example: -# ## limits: -# ## memory: 2Gi -# ## cpu: 1500m -# ## requests: -# ## memory: 512Mi -# ## cpu: 150m -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/vroom -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion - -# ## @section Service Account Parameters -# ## @param serviceAccount.create Whether or not if the service account should be created for this Helm installation. -# ## @param serviceAccount.annotations Any additional annotations to append to this ServiceAccount -# ## @param serviceAccount.name The name of the service account, this will be the Helm installation name if this is empty. -# ## @param serviceAccount.automountServiceAccountToken Automount API credentials for a Service Account. -# serviceAccount: -# create: true -# annotations: {} -# name: "" -# automountServiceAccountToken: true - -# ## @section Sentry -# sentry: -# web: true -# singleOrg: true - -# secret: -# existingSecret: "" -# value: "" - -# replicas: 1 -# annotations: {} -# nodeSelector: {} -# tolerations: [] -# affinity: {} -# environ: [] -# dnsPolicy: "" -# dnsConfig: {} -# resources: {} -# initContainers: [] - -# image: -# pullSecrets: [] -# pullPolicy: IfNotPresent -# repository: getsentry/sentry -# registry: "" # empty for `docker.io` -# digest: "" # empty to use a digest instead of tag -# tag: "" # empty for Chart.AppVersion - -# deployment: -# strategy: {} -# startupProbe: -# enabled: true -# initialDelaySeconds: 15 -# timeoutSeconds: 1 -# periodSeconds: 10 -# successThreshold: 1 -# failureThreshold: 5 -# readinessProbe: -# enabled: true -# initialDelaySeconds: 15 -# timeoutSeconds: 1 -# periodSeconds: 10 -# successThreshold: 1 -# failureThreshold: 5 -# livenessProbe: -# enabled: true -# initialDelaySeconds: 15 -# timeoutSeconds: 1 -# periodSeconds: 10 -# successThreshold: 1 -# failureThreshold: 5 - -# hooks: -# createUser: -# enable: true -# email: admin@sentry.local -# password: aaaa - -# ## @section Scuba -# scuba: ~ - -# ## @section Symbolicator -# symbolicator: ~ - -# ## @section Relay -# relay: ~ - -# ## @section VROOM!~ -# vroom: ~ - -# ## @section Subcharts -# external: -# ## @section ClickHouse -# clickhouse: ~ - -# ## @section PostgreSQL -# postgresql: ~ - -# ## @section ZooKeeper -# zookeeper: ~ - -# ## @section Memcached -# memcached: ~ - -# ## @section RabbitMQ -# rabbitmq: ~ - -# ## @section Apache Kafka -# kafka: ~ - -# ## @section Redis -# redis: ~ - -# # ## @section Global Parameters -# # ## @descriptionStart -# # ## Contains any global parameters that will affected all objects in the Hazel Helm chart. -# # ## @descriptionEnd -# # ## -# # ## @param global.serverName Sets the server name in Hazel's configuration file. -# # ## @param global.replicas Amount of replicas to use -# # ## @param global.resources Resource list to apply to all containers. -# # ## @param global.fullNameOverride String to fully override the Helm installation name for all objects -# # ## @param global.nameOverride String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` -# # ## @param global.clusterDomain Domain host that maps to the cluster -# # ## @param global.nodeSelector Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). -# # ## @param global.tolerations List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) -# # ## @param global.affinity Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). -# # ## @param global.annotations Map of annotations to append to on all objects that this Helm chart creates. -# # ## @param global.extraEnvVars List of extra environment variables to append to all init/sidecar containers and normal containers. -# # ## @param global.initContainers List of init containers to create. -# # ## @param global.podSecurityContext Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -# # ## @param global.containerSecurityContext Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -# # ## @param global.dnsPolicy DNS policy for the pod. -# # ## @param global.dnsConfig Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. -# # global: -# # serverName: "" -# # replicas: 1 -# # fullNameOverride: "" -# # nameOverride: "" -# # clusterDomain: cluster.local -# # nodeSelector: {} -# # tolerations: [] -# # affinity: {} -# # annotations: {} -# # extraEnvVars: [] -# # initContainers: [] -# # podSecurityContext: {} -# # containerSecurityContext: {} -# # dnsPolicy: "" -# # dnsConfig: {} -# # resources: {} -# # ## Example: -# # ## limits: -# # ## memory: 2Gi -# # ## cpu: 1500m -# # ## requests: -# # ## memory: 512Mi -# # ## cpu: 150m - -# # ## @section Docker Image Parameters -# # ## @descriptionStart -# # ## Parameters to modify the Docker image that is ran. -# # ## @descriptionEnd -# # ## -# # ## @param image.pullPolicy [string] [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. -# # ## @param image.registry Registry URL to point to. For Docker Hub, use an empty string. -# # ## @param image.image Image name. -# # ## @param image.tag The tag of the image. Keep this as a empty string if you wish to use the default app's version. -# # ## @param image.digest Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. -# # image: -# # pullPolicy: IfNotPresent -# # registry: cr.noelware.cloud # keep empty to use docker hub -# # image: noelware/hazel -# # tag: "" # keep empty for the app version -# # digest: "" - -# # ## @section Service Account Parameters -# # ## @param serviceAccount.create Whether or not if the service account should be created for this Helm installation. -# # ## @param serviceAccount.annotations Any additional annotations to append to this ServiceAccount -# # ## @param serviceAccount.name The name of the service account, this will be the Helm installation name if this is empty. -# # serviceAccount: -# # create: true -# # annotations: {} -# # name: "" - -# # ## @section Deployment Parameters -# # ## @skip deployment.config -# # ## @param deployment.strategy [object] [Deployment strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) when creating the deployment. -# # ## @param deployment.startupProbe.enabled whether or not to enable probing at startup. -# # ## @param deployment.startupProbe.initialDelaySeconds Delay in seconds on when to probe. -# # ## @param deployment.startupProbe.timeoutSeconds How long to wait for the probe to succeed. -# # ## @param deployment.startupProbe.periodSeconds How often to perform probing (in seconds) -# # ## @param deployment.startupProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -# # ## @param deployment.startupProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -# # ## @param deployment.readinessProbe.enabled whether or not to enable the readiness probing -# # ## @param deployment.readinessProbe.initialDelaySeconds Delay in seconds on when to probe. -# # ## @param deployment.readinessProbe.timeoutSeconds How long to wait for the probe to succeed. -# # ## @param deployment.readinessProbe.periodSeconds How often to perform probing (in seconds) -# # ## @param deployment.readinessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -# # ## @param deployment.readinessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -# # ## @param deployment.livenessProbe.enabled whether or not to enable the liveness probing -# # ## @param deployment.livenessProbe.initialDelaySeconds Delay in seconds on when to probe. -# # ## @param deployment.livenessProbe.timeoutSeconds How long to wait for the probe to succeed. -# # ## @param deployment.livenessProbe.periodSeconds How often to perform probing (in seconds) -# # ## @param deployment.livenessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -# # ## @param deployment.livenessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -# # deployment: -# # startupProbe: -# # enabled: true -# # initialDelaySeconds: 15 -# # timeoutSeconds: 1 -# # periodSeconds: 10 -# # successThreshold: 1 -# # failureThreshold: 5 -# # readinessProbe: -# # enabled: true -# # initialDelaySeconds: 15 -# # timeoutSeconds: 1 -# # periodSeconds: 10 -# # successThreshold: 1 -# # failureThreshold: 5 -# # livenessProbe: -# # enabled: true -# # initialDelaySeconds: 15 -# # timeoutSeconds: 1 -# # periodSeconds: 10 -# # successThreshold: 1 -# # failureThreshold: 5 -# # strategy: {} -# # # type: RollingUpdate -# # # rollingUpdate: -# # # maxSurge: 1 -# # # maxUnavailable: 0 - -# # config: |- -# # logging { -# # json = true -# # } - -# # storage "filesystem" { -# # directory = "/var/lib/noelware/hazel/data" -# # } - -# # ## @section ConfigMap -# # ## @param config.existingMap Name of an existing `ConfigMap` that exposes a `hazel.hcl` block -# # config: -# # existingMap: "" - -# # ## @section Data Storage -# # ## @descriptionStart -# # ## Describes how to configure Hazel's data storage driver to store images in. Ume supports the local filesystem, -# # ## which can be configured as a [`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes), Amazon S3, and -# # ## Microsoft's Azure Blob Storage product. -# # ## @descriptionEnd -# # ## -# # ## @param storage.kind What storage driver is used, it can either be: `'Filesystem'`, `'S3'`, or `'Azure'`; other strings will result in an error. -# # ## @param storage.filesystem.persisted whether or not to use a [`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes) to hold data. -# # ## @param storage.filesystem.existingClaim An existing [`PersistentVolumeClaim`](https://kubernetes.io/docs/concepts/storage/persistent-volumes) that was created beforehand. If you use `helm upgrade` and this is not set, it'll not provision a new PVC. -# # ## @param storage.filesystem.storageClass The [`storageClass`](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1) field when creating the PVC. -# # ## @param storage.filesystem.selector Label selector to further filter the PVC set, read in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector) for more information. -# # ## @param storage.filesystem.size The size of the PVC, in mose cases, this shouldn't be higher than 1GiB... unless you have many images. -# # ## @param storage.filesystem.accessModes List of [access modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) -# # ## @param storage.filesystem.annotations Mapping of the annotations that will be merged with existing annotations for the PVC creation -# # ## @param storage.s3.secrets.existingSecret Existing secret that contains the AWS keys to use. -# # ## @param storage.s3.secrets.accessKeyId Access key ID to authenticate with AWS -# # ## @param storage.s3.secrets.secretAccessKey Secret access key to authenticate with AWS -# # ## @param storage.s3.secrets.accessKeyIdSecretKey Name of the key to where the access key ID lives in (if `storage.s3.secrets.existingSecret` was set before) -# # ## @param storage.s3.secrets.secretAccessKeySecretKey Name of the key to where the secret access key lives in (if `storage.s3.secrets.existingSecret` was set before) -# # storage: -# # kind: Filesystem -# # filesystem: -# # persisted: true -# # existingClaim: "" -# # storageClass: "" -# # selector: {} -# # annotations: {} -# # size: 1Gi -# # accessModes: -# # - ReadWriteOnce -# # s3: -# # secrets: -# # existingSecret: "" -# # accessKeyId: "" -# # secretAccessKey: "" -# # accessKeyIdSecretKey: aws-access-key-id -# # secretAccessKeySecretKey: aws-secret-access-key - - -# # ## @section Pod Disruption Budget -# # ## @param podDisruptionBudget.enabled Enables the use of a `PodDisruptionBudget`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions) -# # ## @param podDisruptionBudget.minAvailable Minimum number (or percentage) of pods that should be remained scheduled -# # ## @param podDisruptionBudget.maxUnavailable Maximum number (or percentage) of pods that maybe made unavaliable. -# # podDisruptionBudget: -# # enabled: false -# # minAvailable: 1 -# # maxUnavailable: null - -# # ## @section Service Parameters -# # ## @descriptionStart -# # ## Parameters to configure a [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/) to allow external connections to your -# # ## Ume instance. -# # ## @descriptionEnd -# # ## -# # ## @param service.port Port number to listen to. -# # ## @param service.clusterIP IP to use for the cluster IP if `type` is `ClusterIP`. -# # ## @param service.enabled Whether or not if a Kubernetes service should be enabled. -# # ## @param service.type The [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to use. -# # ## @param service.selectorLabels Selector to apply this Kubernetes service to -# # ## @param service.externalName The external name if `service.type` == `"ExternalName"` -# # ## @param service.loadBalancer Load balancer configuration if `service.type` == `"LoadBalanacer"` -# # ## @param service.nodePort Node port to expose, refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) for more information. -# # service: -# # enabled: true -# # port: 8989 -# # type: ClusterIP -# # selectorLabels: {} -# # clusterIP: "" -# # externalName: null -# # loadBalancer: {} -# # nodePort: "" - -# # ## @section Ingress -# # ## @descriptionStart -# # ## [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress) configuration. -# # ## @descriptionEnd -# # ## -# # ## @param ingress.host Hostname to your Hazel instance -# # ## @param ingress.className Ingress class name to use. -# # ## @param ingress.enabled Whether if Ingress record generation should be enabled or not. -# # ## @param ingress.pathType Whatever [path type](https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types) to use. -# # ## @param ingress.path Default path for the Ingress record. -# # ## @param ingress.annotations Additional annotations for the Ingress record. To enable certificate autogeneration, place the `cert-manager` annotations here. -# # ## @param ingress.extraRules Any extra rules to add to the Ingress record. -# # ## @param ingress.extraTLS Any TLS records to include in the ingress record. -# # ingress: -# # enabled: false -# # pathType: ImplementationSpecific -# # className: "" -# # host: hazel.local -# # path: / -# # annotations: {} -# # extraRules: [] -# # extraTLS: [] diff --git a/charts/sentry/vroom/Chart.lock b/charts/sentry/vroom/Chart.lock deleted file mode 100644 index de3fcfb..0000000 --- a/charts/sentry/vroom/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - version: 2.19.2 -digest: sha256:259c2016a8bd1aca53bb5d9d18ab142a139924dbd7946457a29465ed7e8d37b0 -generated: "2024-06-13T15:52:47.038796478-07:00" diff --git a/charts/sentry/vroom/Chart.yaml b/charts/sentry/vroom/Chart.yaml deleted file mode 100644 index fa82f6f..0000000 --- a/charts/sentry/vroom/Chart.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# renovate: image=getsentry/vroom -appVersion: "24.5.1" -kubeVersion: ">=1.26" -description: Unofficial Helm chart for bootstrapping Sentry's VROOM! service -apiVersion: v2 -version: 0.1.0 -home: https://github.com/getsentry/vroom -type: application -name: vroom -maintainers: - - name: Noelware, LLC. - email: team@noelware.org - url: https://noelware.org - - name: Noel Towa - email: cutie@floofy.dev - url: https://floofy.dev -annotations: - charts.noelware.org/categories: Other - charts.noelware.org/licenses: Apache-2.0 - charts.noelware.org/images: |- - - image: getsentry/vroom -dependencies: - - name: common - version: 2.19.2 - repository: oci://registry-1.docker.io/bitnamicharts diff --git a/charts/sentry/vroom/README.md b/charts/sentry/vroom/README.md deleted file mode 100644 index 7d58063..0000000 --- a/charts/sentry/vroom/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# 🐻‍❄️🔮 `noelware/vroom` Helm Chart -The **noelware/vroom** Helm chart is an unofficial Helm chart to deploy Sentry's [VROOM!](https://github.com/getsentry/vroom) service. This was made to allow external VROOM! services to be deployed with Noelware's Sentry Helm chart. - -**VROOM!** allows Sentry to enable its profiling features, you can read more [here](https://docs.sentry.io/product/explore/profiling). - -## Requirements -* Kubernetes v1.26 or higher -* Helm 3.12 or higher - -## Installation -```shell -$ helm repo add noelware https://charts.noelware.org/~/noelware -$ helm install vroom noelware/vroom -``` - -## Parameters - -### Global Parameters - -Contains any global parameters that will affected all objects in the VROOM! Helm chart. - -| Name | Description | Value | -| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -| `global.replicas` | Amount of replicas to use | `1` | -| `global.resources` | Resource list to apply to all containers. | `{}` | -| `global.fullNameOverride` | String to fully override the Helm installation name for all objects | `""` | -| `global.nameOverride` | String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` | `""` | -| `global.clusterDomain` | Domain host that maps to the cluster | `cluster.local` | -| `global.nodeSelector` | Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `global.tolerations` | List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) | `[]` | -| `global.affinity` | Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). | `{}` | -| `global.annotations` | Map of annotations to append to on all objects that this Helm chart creates. | `{}` | -| `global.extraEnvVars` | List of extra environment variables to append to all init/sidecar containers and normal containers. | `[]` | -| `global.initContainers` | List of init containers to create. | `[]` | -| `global.podSecurityContext` | Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `global.containerSecurityContext` | Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `global.dnsPolicy` | DNS policy for the pod. | `""` | -| `global.dnsConfig` | Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. | `{}` | - -### Docker Image Parameters - -Parameters to modify the Docker image that is ran. - -| Name | Description | Value | -| ------------------ | --------------------------------------------------------------------------------------------------------------- | ----------------- | -| `image.pullPolicy` | [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. | `""` | -| `image.registry` | Registry URL to point to. For Docker Hub, use an empty string. | `""` | -| `image.image` | Image name. | `getsentry/vroom` | -| `image.tag` | The tag of the image. Keep this as a empty string if you wish to use the default app's version. | `""` | -| `image.digest` | Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. | `""` | - -### Service Account Parameters - -| Name | Description | Value | -| --------------------------------------------- | ------------------------------------------------------------------------------------------ | ------ | -| `serviceAccount.create` | Whether or not if the service account should be created for this Helm installation. | `true` | -| `serviceAccount.annotations` | Any additional annotations to append to this ServiceAccount | `{}` | -| `serviceAccount.name` | The name of the service account, this will be the Helm installation name if this is empty. | `""` | -| `serviceAccount.automountServiceAccountToken` | whether if the service account token is mounted onto the containers | `true` | - -### Deployment Parameters - -| Name | Description | Value | -| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------ | -| `deployment.strategy` | [Deployment strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) when creating the deployment. | `{}` | -| `deployment.startupProbe.enabled` | whether or not to enable probing at startup. | `true` | -| `deployment.startupProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.startupProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.startupProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.startupProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.startupProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | -| `deployment.readinessProbe.enabled` | whether or not to enable the readiness probing | `true` | -| `deployment.readinessProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.readinessProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.readinessProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | -| `deployment.livenessProbe.enabled` | whether or not to enable the liveness probing | `true` | -| `deployment.livenessProbe.initialDelaySeconds` | Delay in seconds on when to probe. | `15` | -| `deployment.livenessProbe.timeoutSeconds` | How long to wait for the probe to succeed. | `1` | -| `deployment.livenessProbe.periodSeconds` | How often to perform probing (in seconds) | `10` | -| `deployment.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to considered successful. | `1` | -| `deployment.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to considered successful. | `5` | - -### Pod Disruption Budget - -| Name | Description | Value | -| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `podDisruptionBudget.enabled` | Enables the use of a `PodDisruptionBudget`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions) | `false` | -| `podDisruptionBudget.minAvailable` | Minimum number (or percentage) of pods that should be remained scheduled | `1` | -| `podDisruptionBudget.maxUnavailable` | Maximum number (or percentage) of pods that maybe made unavaliable. | `nil` | - -### Service Parameters - -Parameters to configure a [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/) to allow connectivity internally -or externally. - -| Name | Description | Value | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | -| `service.port` | Port number to listen to. | `8085` | -| `service.clusterIP` | IP to use for the cluster IP if `type` is `ClusterIP`. | `""` | -| `service.enabled` | Whether or not if a Kubernetes service should be enabled. | `true` | -| `service.type` | The [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to use. | `ClusterIP` | -| `service.selectorLabels` | Selector to apply this Kubernetes service to | `{}` | -| `service.externalName` | The external name if `service.type` == `"ExternalName"` | `nil` | -| `service.loadBalancer` | Load balancer configuration if `service.type` == `"LoadBalanacer"` | `{}` | -| `service.nodePort` | Node port to expose, refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) for more information. | `""` | diff --git a/charts/sentry/vroom/templates/NOTES.txt b/charts/sentry/vroom/templates/NOTES.txt deleted file mode 100644 index d7e5864..0000000 --- a/charts/sentry/vroom/templates/NOTES.txt +++ /dev/null @@ -1,12 +0,0 @@ -Thanks for installing VROOM! via Helm! To access the VROOM! server, use the following commands: - -{{- if (eq .Values.service.type "NodePort") }} -$ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "vroom.fullname" . }}) -$ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") -$ echo "http://$NODE_IP:$NODE_PORT" -{{- else if (eq .Values.service.type "ClusterIP") }} -$ export POD=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "k8s.noelware.cloud/name={{ include "vroom.name" . }}" -o jsonpath="{.items[0].metadata.name}") -$ export PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD -o jsonpath="{.spec.containers[0].ports[0].containerPort}") -$ echo "http://127.0.0.1:8080" -$ kubectl --namespace {{ .Release.Namespace }} port-forward $POD 8080:$PORT -{{- end }} diff --git a/charts/sentry/vroom/templates/_helpers.tpl b/charts/sentry/vroom/templates/_helpers.tpl deleted file mode 100644 index 70e5436..0000000 --- a/charts/sentry/vroom/templates/_helpers.tpl +++ /dev/null @@ -1,173 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{/* -Expand the name of the chart. - -Example: - {{ include "vroom.name" . }} -*/}} -{{- define "vroom.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. - -Example: - {{ include "vroom.fullname" }} -*/}} -{{- define "vroom.fullname" -}} -{{- if .Values.fullNameOverride -}} -{{- .Values.fullNameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. - -Example: - {{ include "vroom.chart" . }} -*/}} -{{- define "vroom.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels that are attached to each Kubernetes object spawned by the Helm chart. - -Example: - - labels: - {{- include "vroom.labels" . | nindent 8 }} -*/}} -{{- define "vroom.labels" -}} -{{ include "vroom.selectorLabels" . }} -k8s.noelware.cloud/managed-by: Helm -{{- end }} - -{{- define "vroom.selectorLabels" -}} -k8s.noelware.cloud/name: {{ include "vroom.name" . }} -k8s.noelware.cloud/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use - -Example: - serviceAccountName: {{ include "vroom.serviceAccountName" . | quote }} -*/}} -{{- define "vroom.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "vroom.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Default annotations that are included in each Kubernetes object spawned by the Helm chart. - -Example: - - annotations: - # with no external annotations - {{- include "vroom.annotations" (dict "context" .) }} - - # with external annotations - {{- $annotations := dict "hello.world/uwu" "world" }} - {{- include "vroom.annotations" (dict "external" $annotations "context" .) }} -*/}} -{{- define "vroom.annotations" -}} -k8s.noelware.cloud/component: profiling -k8s.noelware.cloud/product: vroom -{{- if .context.Chart.AppVersion }} -k8s.noelware.cloud/version: {{ .context.Chart.AppVersion | quote }} -{{- end }} - -{{- $externalAnnotations := .external | default dict }} -{{/* "common.tplvalues.merge" conjoins as a YAML string, so we need to `fromYaml` for this to probably work (idk!) */}} -{{- $all := include "common.tplvalues.merge" (dict "values" (list $externalAnnotations .context.Values.global.annotations) "context" .context) | fromYaml }} - -{{- range $key, $val := $all }} - {{ $key }}: {{ $val | quote }} -{{- end -}} -{{- end -}} - -{{/* -Default Pod security context object -*/}} -{{- define "vroom.defaultPodSecurityContext" -}} -seccompProfile: - type: "RuntimeDefault" -{{- end -}} - -{{/* -Default container security context object -*/}} -{{- define "vroom.defaultContainerSecurityContext" -}} -readOnlyRootFilesystem: false -allowPrivilegeEscalation: false -capabilities: - drop: ["ALL"] -{{- end -}} - -{{/* -Default resource limits -*/}} -{{- define "vroom.defaultResourceLimits" -}} -limits: - memory: 4Gi - cpu: 1500m -requests: - memory: 1Gi - cpu: 500m -{{- end -}} - -{{/* -Image definition for VROOM! -*/}} -{{- define "vroom.image" -}} -{{/* define our variables */}} -{{- $registry := default "docker.io" .Values.image.registry -}} -{{- $repo := .Values.image.image -}} -{{- $tag := default .Chart.AppVersion .Values.image.tag -}} -{{- $sep := ":" -}} - -{{- if .Values.image.digest }} - {{- $tag := .Values.image.digest | toString -}} - {{- $sep := "@" -}} -{{- end -}} - -{{/* bring it all together */}} -{{- printf "%s/%s%s%s" $registry $repo $sep $tag -}} -{{- end -}} diff --git a/charts/sentry/vroom/templates/_pod.tpl b/charts/sentry/vroom/templates/_pod.tpl deleted file mode 100644 index 4b4a369..0000000 --- a/charts/sentry/vroom/templates/_pod.tpl +++ /dev/null @@ -1,93 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -{{- define "vroom.pod" -}} -serviceAccountName: {{ include "vroom.serviceAccountName" . }} -{{- if .Values.global.affinity }} -affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) }} -{{- end }} -{{- if .Values.global.nodeSelector }} -nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.global.nodeSelector "context" $) }} -{{- end }} -{{- if .Values.global.tolerations }} -tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.global.tolerations "context" $) }} -{{- end }} -{{- if .Values.global.affinity }} -affinity: {{- include "common.tplvalues.render" (dict "value" .Values.global.affinity "context" $) }} -{{- end }} -{{- if .Values.global.dnsPolicy }} -dnsPolicy: {{ .Values.global.dnsPolicy }} -{{- end }} -{{- with .Values.global.dnsConfig }} -dnsConfig: - {{ toYaml . | nindent 2 }} -{{- end }} -{{- with .Values.global.initContainers }} -initContainers: - {{- . | toYaml }} -{{- end }} -containers: - - name: {{ include "vroom.fullname" . }} - image: {{ include "vroom.image" . }} - imagePullPolicy: {{ .Values.image.pullPolicy }} - resources: {{ default (include "vroom.defaultResourceLimits" .) .Values.global.resources | nindent 8 }} - securityContext: {{ default (include "vroom.defaultContainerSecurityContext" .) .Values.global.containerSecurityContext | nindent 8 }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - env: - {{- if .Values.global.extraEnvVars }} - {{ include "common.tplvalues.render" (dict "value" .Values.global.extraEnvVars "context" $) | nindent 8 }} - {{- end }} - {{- if .Values.deployment.startupProbe.enabled }} - startupProbe: - httpGet: - path: /health - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.startupProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.startupProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.startupProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.startupProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.startupProbe.failureThreshold }} - {{- end }} - {{- if .Values.deployment.readinessProbe.enabled }} - readinessProbe: - httpGet: - path: /health - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.readinessProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.readinessProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.readinessProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.readinessProbe.failureThreshold }} - {{- end }} - {{- if .Values.deployment.livenessProbe.enabled }} - livenessProbe: - httpGet: - path: /health - port: {{ .Values.service.port }} - initialDelaySeconds: {{ .Values.deployment.livenessProbe.initialDelaySeconds }} - timeoutSeconds: {{ .Values.deployment.livenessProbe.timeoutSeconds }} - periodSeconds: {{ .Values.deployment.livenessProbe.periodSeconds }} - successThreshold: {{ .Values.deployment.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.deployment.livenessProbe.failureThreshold }} - {{- end }} -{{- end -}} diff --git a/charts/sentry/vroom/templates/deployment.yaml b/charts/sentry/vroom/templates/deployment.yaml deleted file mode 100644 index 6602fb3..0000000 --- a/charts/sentry/vroom/templates/deployment.yaml +++ /dev/null @@ -1,43 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "vroom.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "vroom.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "vroom.labels" . | nindent 8 }} -spec: - replicas: {{ .Values.global.replicas }} - selector: - matchLabels: - {{- include "vroom.labels" . | nindent 12 }} - template: - metadata: - labels: - {{- include "vroom.labels" . | nindent 16 }} - spec: - {{- include "vroom.pod" . | nindent 12 -}} diff --git a/charts/sentry/vroom/templates/pdb.yaml b/charts/sentry/vroom/templates/pdb.yaml deleted file mode 100644 index e16cdf2..0000000 --- a/charts/sentry/vroom/templates/pdb.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.podDisruptionBudget.enabled }} -apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} -kind: PodDisruptionBudget -metadata: - name: {{ include "vroom.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "vroom.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "vroom.labels" . | nindent 8 }} -spec: - minAvaliable: {{ .Values.podDisruptionBudget.minAvaliable | int }} - maxUnavaliable: {{ .Values.podDisruptionBudget.maxUnavailable | int }} - selector: - matchLabels: - {{- include "vroom.labels" . | nindent 12 }} -{{- end }} diff --git a/charts/sentry/vroom/templates/service.yaml b/charts/sentry/vroom/templates/service.yaml deleted file mode 100644 index 7b8ad1d..0000000 --- a/charts/sentry/vroom/templates/service.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.service.enabled }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "vroom.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "vroom.annotations" (dict "context" .) | nindent 8 }} - labels: - {{- include "vroom.labels" . | nindent 8 }} -spec: - type: {{ .Values.service.type }} - ports: - - protocol: TCP - port: {{ .Values.service.port }} - targetPort: http - {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePort)) }} - nodePort: {{ .Values.service.nodePort }} - {{- else if eq .Values.service.type "ClusterIP" }} - nodePort: null - {{- end }} - selector: - {{- include "vroom.labels" . | nindent 8 }} - {{- if .Values.service.selectorLabels }} - {{- include "common.tplvalues.render" (dict "value" .Values.service.selectorLabels "context" $) | nindent 8 }} - {{- end }} - - {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }} - clusterIP: {{ .Values.service.clusterIP }} - {{- end }} - {{- if and .Values.service.externalName (eq .Values.service.type "ExternalName") }} - externalName: {{ .Values.service.externalName }} - {{- end }} -{{- end }} diff --git a/charts/sentry/vroom/templates/serviceAccount.yaml b/charts/sentry/vroom/templates/serviceAccount.yaml deleted file mode 100644 index 66f0780..0000000 --- a/charts/sentry/vroom/templates/serviceAccount.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{/* -~ 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -~ Copyright (c) 2022-2024 Noelware, LLC. -~ -~ Permission is hereby granted, free of charge, to any person obtaining a copy -~ of this software and associated documentation files (the "Software"), to deal -~ in the Software without restriction, including without limitation the rights -~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -~ copies of the Software, and to permit persons to whom the Software is -~ furnished to do so, subject to the following conditions: -~ -~ The above copyright notice and this permission notice shall be included in all -~ copies or substantial portions of the Software. -~ -~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -~ SOFTWARE. -*/}} - -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "vroom.fullname" . }} - namespace: {{ .Release.Namespace }} - annotations: - {{- include "vroom.annotations" (dict "external" .Values.serviceAccount.annotations "context" .) | nindent 8 }} - labels: - {{- include "vroom.labels" . | nindent 8 }} -{{- end -}} diff --git a/charts/sentry/vroom/values.yaml b/charts/sentry/vroom/values.yaml deleted file mode 100644 index 14075ae..0000000 --- a/charts/sentry/vroom/values.yaml +++ /dev/null @@ -1,173 +0,0 @@ -# 🐻‍❄️🔮 Noelware's Helm Charts: Curated catalog of Noelware's Helm charts. -# Copyright (c) 2022-2024 Noelware, LLC. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -## @section Global Parameters -## @descriptionStart -## Contains any global parameters that will affected all objects in the VROOM! Helm chart. -## @descriptionEnd -## -## @param global.replicas Amount of replicas to use -## @param global.resources Resource list to apply to all containers. -## @param global.fullNameOverride String to fully override the Helm installation name for all objects -## @param global.nameOverride String to override the Helm installation name for all objects, will be in conjunction with a prefix of `-` -## @param global.clusterDomain Domain host that maps to the cluster -## @param global.nodeSelector Selector labels to apply to contraint the pods to specific nodes. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). -## @param global.tolerations List of all taints/tolerations to apply in conjunction with `global.affinity`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration) -## @param global.affinity Map of all the affinity to apply to the spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/). -## @param global.annotations Map of annotations to append to on all objects that this Helm chart creates. -## @param global.extraEnvVars List of extra environment variables to append to all init/sidecar containers and normal containers. -## @param global.initContainers List of init containers to create. -## @param global.podSecurityContext Security context for all spawned Pods. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.containerSecurityContext Security context for all init, sidecar, and normal containers. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). -## @param global.dnsPolicy DNS policy for the pod. -## @param global.dnsConfig Configures the [DNS configuration](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config) for the pod. -global: - replicas: 1 - fullNameOverride: "" - nameOverride: "" - clusterDomain: cluster.local - nodeSelector: {} - tolerations: [] - affinity: {} - annotations: {} - extraEnvVars: [] - initContainers: [] - podSecurityContext: {} - containerSecurityContext: {} - dnsPolicy: "" - dnsConfig: {} - resources: {} - ## Example: - ## limits: - ## memory: 2Gi - ## cpu: 1500m - ## requests: - ## memory: 512Mi - ## cpu: 150m - -## @section Docker Image Parameters -## @descriptionStart -## Parameters to modify the Docker image that is ran. -## @descriptionEnd -## -## @param image.pullPolicy [string] [Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) when pulling the image. -## @param image.registry Registry URL to point to. For Docker Hub, use an empty string. -## @param image.image Image name. -## @param image.tag The tag of the image. Keep this as a empty string if you wish to use the default app's version. -## @param image.digest Digest in the form of `:`, this will replace the `image.tag` property if this is not empty. -image: - pullPolicy: IfNotPresent - registry: "" # keep empty to use docker hub - image: getsentry/vroom - tag: "" # keep empty for the app version - digest: "" - -## @section Service Account Parameters -## @param serviceAccount.create Whether or not if the service account should be created for this Helm installation. -## @param serviceAccount.annotations Any additional annotations to append to this ServiceAccount -## @param serviceAccount.name The name of the service account, this will be the Helm installation name if this is empty. -## @param serviceAccount.automountServiceAccountToken whether if the service account token is mounted onto the containers -serviceAccount: - create: true - annotations: {} - name: "" - automountServiceAccountToken: true - -## @section Deployment Parameters -## @param deployment.strategy [object] [Deployment strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) when creating the deployment. -## @param deployment.startupProbe.enabled whether or not to enable probing at startup. -## @param deployment.startupProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.startupProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.startupProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.startupProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.startupProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -## @param deployment.readinessProbe.enabled whether or not to enable the readiness probing -## @param deployment.readinessProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.readinessProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.readinessProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.readinessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.readinessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -## @param deployment.livenessProbe.enabled whether or not to enable the liveness probing -## @param deployment.livenessProbe.initialDelaySeconds Delay in seconds on when to probe. -## @param deployment.livenessProbe.timeoutSeconds How long to wait for the probe to succeed. -## @param deployment.livenessProbe.periodSeconds How often to perform probing (in seconds) -## @param deployment.livenessProbe.successThreshold Minimum consecutive successes for the probe to considered successful. -## @param deployment.livenessProbe.failureThreshold Minimum consecutive failures for the probe to considered successful. -deployment: - startupProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - readinessProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - livenessProbe: - enabled: true - initialDelaySeconds: 15 - timeoutSeconds: 1 - periodSeconds: 10 - successThreshold: 1 - failureThreshold: 5 - strategy: {} - # type: RollingUpdate - # rollingUpdate: - # maxSurge: 1 - # maxUnavailable: 0 - -## @section Pod Disruption Budget -## @param podDisruptionBudget.enabled Enables the use of a `PodDisruptionBudget`. Read more in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions) -## @param podDisruptionBudget.minAvailable Minimum number (or percentage) of pods that should be remained scheduled -## @param podDisruptionBudget.maxUnavailable Maximum number (or percentage) of pods that maybe made unavaliable. -podDisruptionBudget: - enabled: false - minAvailable: 1 - maxUnavailable: null - -## @section Service Parameters -## @descriptionStart -## Parameters to configure a [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/) to allow connectivity internally -## or externally. -## @descriptionEnd -## -## @param service.port Port number to listen to. -## @param service.clusterIP IP to use for the cluster IP if `type` is `ClusterIP`. -## @param service.enabled Whether or not if a Kubernetes service should be enabled. -## @param service.type The [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) to use. -## @param service.selectorLabels Selector to apply this Kubernetes service to -## @param service.externalName The external name if `service.type` == `"ExternalName"` -## @param service.loadBalancer Load balancer configuration if `service.type` == `"LoadBalanacer"` -## @param service.nodePort Node port to expose, refer to the [Kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) for more information. -service: - enabled: true - port: 8085 - type: ClusterIP - selectorLabels: {} - clusterIP: "" - externalName: null - loadBalancer: {} - nodePort: ""