[stable/sentry] Mount persistent volume into cron and worker (#15001)

* Mount persistent volume into cron and worker

Signed-off-by: Robert de Vries <r.devries@robbytu.net>

* Bump Sentry chart version

Signed-off-by: Robert de Vries <r.devries@robbytu.net>

* Add existingClaim to default values

Signed-off-by: Robert de Vries <r.devries@robbytu.net>

* Add the persistentWorkers option to mount PVC to cron and worker deployments

Signed-off-by: Robert de Vries <r.devries@robbytu.net>

* Updated persistence documentation in README

Signed-off-by: Robert de Vries <r.devries@robbytu.net>
This commit is contained in:
Robert de Vries
2019-06-23 14:31:55 -07:00
committed by Kubernetes Prow Robot
parent 19ae0b211e
commit 68d17b674f
5 changed files with 41 additions and 1 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
apiVersion: v1
description: Sentry is a cross-platform crash reporting and aggregation platform.
name: sentry
version: 1.5.1
version: 1.5.2
appVersion: 9.1.1
keywords:
- debugging
+8
View File
@@ -125,6 +125,8 @@ Parameter | Description
`persistence.storageClass` | PVC Storage Class | `nil` (uses alpha storage class annotation)
`persistence.accessMode` | PVC Access Mode | `ReadWriteOnce`
`persistence.size` | PVC Storage Request | `10Gi`
`persistence.filestore_dir` | The container path to mount the PVC to | `/var/lib/sentry/files`
`persistence.persistentWorkers` | Mount the PVC to Sentry workers, enabling features such as private source maps | `false`
`config.configYml` | Sentry config.yml file | ``
`config.sentryConfPy` | Sentry sentry.conf.py file | ``
`metrics.enabled` | Start an exporter for sentry metrics | `false`
@@ -179,3 +181,9 @@ Persistent Volume Claims are used to keep the data across deployments. This is k
## Ingress
This chart provides support for Ingress resource. If you have an available Ingress Controller such as Nginx or Traefik you maybe want to set `ingress.enabled` to true and choose an `ingress.hostname` for the URL. Then, you should be able to access the installation using that address.
## Persistence
This chart is capable of mounting the sentry-data PV in the Sentry worker and cron pods. This feature is disabled by default, but is needed for some advanced features such as private sourcemaps.
You may enable mounting of the sentry-data PV across worker and cron pods by changing `persistence.persistentWorkers` to `true`. If you plan on deploying Sentry containers across multiple nodes, you may need to change your PVC's access mode to `ReadWriteMany` and check that your PV supports mounting across multiple nodes.
@@ -116,9 +116,18 @@ spec:
- mountPath: /etc/sentry
name: config
readOnly: true
- mountPath: {{ .Values.persistence.filestore_dir }}
name: sentry-data
resources:
{{ toYaml .Values.cron.resources | indent 12 }}
volumes:
- name: config
configMap:
name: {{ template "fullname" . }}
- name: sentry-data
{{- if and (.Values.persistence.enabled) (.Values.persistence.persistentWorkers) }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim | default (include "fullname" .) }}
{{- else }}
emptyDir: {}
{{ end }}
@@ -116,9 +116,18 @@ spec:
- mountPath: /etc/sentry
name: config
readOnly: true
- mountPath: {{ .Values.persistence.filestore_dir }}
name: sentry-data
resources:
{{ toYaml .Values.worker.resources | indent 12 }}
volumes:
- name: config
configMap:
name: {{ template "fullname" . }}
- name: sentry-data
{{- if and (.Values.persistence.enabled) (.Values.persistence.persistentWorkers) }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim | default (include "fullname" .) }}
{{- else }}
emptyDir: {}
{{ end }}
+14
View File
@@ -114,6 +114,10 @@ service:
##
persistence:
enabled: true
## The name of an existing pvc for persistence of database data
## If undefined (the default) or set to null, a new pvc will be created
# existingClaim: sentry-data
## database data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
@@ -129,6 +133,16 @@ persistence:
# https://docs.sentry.io/server/filestore/
filestore_dir: /var/lib/sentry/files
## Whether to mount the persistent volume to the Sentry worker and
## cron deployments. This setting needs to be enabled for some advanced
## Sentry features, such as private source maps. If you disable this
## setting, the Sentry workers will not have access to artifacts you upload
## through the web deployment.
## Please note that you may need to change your accessMode to ReadWriteMany
## if you plan on having the web, worker and cron deployments run on
## different nodes.
persistentWorkers: false
## Configure ingress resource that allow you to access the
## Sentry installation. Set up the URL
## ref: http://kubernetes.io/docs/user-guide/ingress/