diff --git a/charts/xwiki/Chart.yaml b/charts/xwiki/Chart.yaml index 2afadb8..7d877eb 100644 --- a/charts/xwiki/Chart.yaml +++ b/charts/xwiki/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 description: XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki. It includes WYSIWYG editing, OpenDocument based document import/export, semantic annotations and tagging, and advanced permissions management. name: xwiki -version: 1.2.0-Beta.7 +version: 1.2.0-Beta.8 type: application keywords: - xwiki diff --git a/charts/xwiki/templates/hpa.yaml b/charts/xwiki/templates/hpa.yaml new file mode 100644 index 0000000..9c7866f --- /dev/null +++ b/charts/xwiki/templates/hpa.yaml @@ -0,0 +1,29 @@ +{{- $fullName := include "xwiki.fullname" . -}} +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ $fullName }} + labels: + {{- include "xwiki.labels" . | nindent 4 }} +spec: + scaleTargetRef: + {{- if .Values.workloadStateful }} + apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} + kind: StatefulSet + {{- else }} + apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} + kind: Deployment + {{- end }} + name: {{ $fullName }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + {{- with .Values.autoscaling.metrics }} + metrics: + {{- toYaml .Values.autoscaling.metrics | nindent 6 }} + {{- end }} +{{- with .Values.autoscaling.status }} +status: + {{- toYaml . | nindent 2 }} +{{- end }} +{{- end }} diff --git a/charts/xwiki/values.yaml b/charts/xwiki/values.yaml index cf0ff11..541af9b 100644 --- a/charts/xwiki/values.yaml +++ b/charts/xwiki/values.yaml @@ -335,3 +335,31 @@ logback: # extraConfiguration: | # # + +# Enable Autoscaling for the xwiki deployment/statefullSet: +# https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ +autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 3 + # Custom metrics to trigger the Autoscaling + # https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics + metrics: {} + # - type: Resource + # resource: + # name: cpu + # target: + # type: Utilization + # averageUtilization: 50 + status: {} + # observedGeneration: 1 + # lastScaleTime: + # currentReplicas: 1 + # desiredReplicas: 1 + # currentMetrics: + # - type: Resource + # resource: + # name: cpu + # current: + # averageUtilization: 0 + # averageValue: 0