Skip to content

Commit 72eee64

Browse files
authored
Merge branch 'main' into hyades/initializer
Signed-off-by: rseleven <73898556+rseleven@users.noreply.github.com>
2 parents dee6339 + 9509d98 commit 72eee64

8 files changed

Lines changed: 93 additions & 3 deletions

File tree

charts/hyades/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v2
22
name: hyades
3-
version: 0.22.1
3+
version: 0.23.1
44
type: application
55
appVersion: 5.0.2
66
description: |-

charts/hyades/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# hyades
22

3-
![Version: 0.22.1](https://img.shields.io/badge/Version-0.22.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.2](https://img.shields.io/badge/AppVersion-5.0.2-informational?style=flat-square)
3+
![Version: 0.23.1](https://img.shields.io/badge/Version-0.23.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.2](https://img.shields.io/badge/AppVersion-5.0.2-informational?style=flat-square)
44

55
Hyades is the preview chart for Dependency-Track v5.
66

@@ -47,6 +47,11 @@ v2, or be ready to migrate when v2 is released.
4747
| apiServer.image.tag | string | `""` | Can be a tag name such as "latest", or an image digest prefixed with "sha256:". |
4848
| apiServer.initContainers | list | `[]` | Additional init containers to deploy. Supports templating. |
4949
| apiServer.nodeSelector | object | `{}` | |
50+
| apiServer.persistentVolume.accessModes | list | `[]` | Access modes for the PVC. When empty, access modes are determined automatically: - ReadWriteMany when autoScaling is enabled or replicaCount > 1 - ReadWriteOnce otherwise |
51+
| apiServer.persistentVolume.className | string | `""` | Storage class name. If empty, the default storage class will be used. |
52+
| apiServer.persistentVolume.enabled | bool | `false` | Whether to create a PersistentVolumeClaim for the API server. |
53+
| apiServer.persistentVolume.existingClaim | string | `""` | Use an existing PVC instead of creating a new one. When set, the PVC will not be created by the chart. |
54+
| apiServer.persistentVolume.size | string | `"5Gi"` | Size of the PVC. |
5055
| apiServer.probes.liveness.failureThreshold | int | `3` | |
5156
| apiServer.probes.liveness.initialDelaySeconds | int | `10` | |
5257
| apiServer.probes.liveness.periodSeconds | int | `15` | |

charts/hyades/templates/NOTES.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,14 @@ New users should wait for v2, or be ready to migrate when v2 is released.
44

55
See https://dependencytrack.github.io/docs/next/guides/administration/deploying-to-kubernetes/
66
for current deployment guidance.
7+
8+
{{- if and .Values.apiServer.persistentVolume.enabled (or .Values.apiServer.autoScaling.enabled (gt (int .Values.apiServer.replicaCount) 1)) .Values.apiServer.persistentVolume.accessModes (not (has "ReadWriteMany" .Values.apiServer.persistentVolume.accessModes)) }}
9+
WARNING: Multiple API server replicas are configured
10+
{{- if .Values.apiServer.autoScaling.enabled }}
11+
(autoScaling is enabled)
12+
{{- else }}
13+
(replicaCount={{ .Values.apiServer.replicaCount }})
14+
{{- end }}
15+
but persistentVolume.accessModes is set to {{ .Values.apiServer.persistentVolume.accessModes }}.
16+
Multiple replicas require ReadWriteMany access mode. Pods may fail to mount the PVC.
17+
{{- end }}

charts/hyades/templates/_helpers.tpl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,23 @@ API server image
9090
{{- end -}}
9191
{{- end -}}
9292

93+
{{/*
94+
Determine PVC access modes for the API server.
95+
If .Values.apiServer.persistentVolume.accessModes is set explicitly, use it.
96+
Otherwise:
97+
- ReadWriteMany when multiple replicas are expected
98+
- ReadWriteOnce otherwise
99+
*/}}
100+
{{- define "hyades.apiServerPersistentVolumeAccessModes" -}}
101+
{{- if .Values.apiServer.persistentVolume.accessModes }}
102+
{{- toYaml .Values.apiServer.persistentVolume.accessModes }}
103+
{{- else if or .Values.apiServer.autoScaling.enabled (gt (int .Values.apiServer.replicaCount) 1) }}
104+
- ReadWriteMany
105+
{{- else }}
106+
- ReadWriteOnce
107+
{{- end }}
108+
{{- end -}}
109+
93110

94111
{{/*
95112
Initializer labels

charts/hyades/templates/api-server/deployment.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,15 @@ spec:
132132
{{- end }}
133133
volumes:
134134
- name: data
135+
{{- if .Values.apiServer.persistentVolume.enabled }}
136+
persistentVolumeClaim:
137+
claimName: {{ .Values.apiServer.persistentVolume.existingClaim | default (include "hyades.apiServerFullname" .) }}
138+
{{- else }}
135139
emptyDir: {}
140+
{{- end }}
136141
- name: tmp
137142
emptyDir: {}
138143
{{- with .Values.apiServer.additionalVolumes }}
139144
{{- toYaml . | nindent 6 }}
140145
{{- end }}
141-
{{- end }}
146+
{{- end }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{- if and .Values.apiServer.persistentVolume.enabled (not .Values.apiServer.persistentVolume.existingClaim) }}
2+
---
3+
apiVersion: v1
4+
kind: PersistentVolumeClaim
5+
metadata:
6+
name: {{ include "hyades.apiServerFullname" . }}
7+
namespace: {{ .Release.Namespace }}
8+
labels: {{- include "hyades.apiServerLabels" . | nindent 4 }}
9+
spec:
10+
{{- with .Values.apiServer.persistentVolume.className }}
11+
storageClassName: {{ . }}
12+
{{- end }}
13+
accessModes: {{- include "hyades.apiServerPersistentVolumeAccessModes" . | nindent 4 }}
14+
resources:
15+
requests:
16+
storage: {{ .Values.apiServer.persistentVolume.size }}
17+
{{- end }}

charts/hyades/values.schema.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,26 @@
135135
},
136136
"nodeSelector": {
137137
"type": "object"
138+
},
139+
"persistentVolume": {
140+
"type": "object",
141+
"properties": {
142+
"accessModes": {
143+
"type": "array"
144+
},
145+
"className": {
146+
"type": "string"
147+
},
148+
"enabled": {
149+
"type": "boolean"
150+
},
151+
"existingClaim": {
152+
"type": "string"
153+
},
154+
"size": {
155+
"type": "string"
156+
}
157+
}
138158
}
139159
}
140160
},

charts/hyades/values.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,21 @@ apiServer:
121121
# type: RuntimeDefault
122122
# -- Additional containers to deploy. Supports templating.
123123
extraContainers: []
124+
persistentVolume:
125+
# -- Whether to create a PersistentVolumeClaim for the API server.
126+
enabled: false
127+
# -- Use an existing PVC instead of creating a new one.
128+
# When set, the PVC will not be created by the chart.
129+
existingClaim: ""
130+
# -- Storage class name. If empty, the default storage class will be used.
131+
className: ""
132+
# -- Size of the PVC.
133+
size: 5Gi
134+
# -- Access modes for the PVC.
135+
# When empty, access modes are determined automatically:
136+
# - ReadWriteMany when autoScaling is enabled or replicaCount > 1
137+
# - ReadWriteOnce otherwise
138+
accessModes: []
124139
additionalVolumes: []
125140
additionalVolumeMounts: []
126141
tolerations: []

0 commit comments

Comments
 (0)