Files
service-catalog/manifests/helm/perses/0.21.0/templates/tests/test-config.yaml
T
wbsong111 6290322f1b Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster,
  victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics,
  prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready)
- ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays
- doc/victoria-metrics-architecture.md, define-chart-resources updates
- includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 +09:00

76 lines
2.9 KiB
YAML

{{- if .Values.testFramework.enabled -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-test
namespace: {{ .Release.Namespace }}
labels:
type: helm-chart-test
{{- include "perses.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
data:
run.sh: |-
#!/usr/bin/env bats
load "/usr/lib/bats/bats-detik/utils"
load "/usr/lib/bats/bats-detik/detik"
DETIK_CLIENT_NAME="kubectl"
@test "Verify that there is a service named {{ include "perses.fullname" . }}" {
verify "there is 1 service named '^{{ include "perses.fullname" . }}$'"
}
@test "Verify that there is a configmap named {{ include "perses.fullname" . }}" {
verify "there is 1 configmap named '^{{ include "perses.fullname" . }}$'"
}
{{- if .Values.config.database.file }}
@test "Verify successful statefulset and running status of the {{ .Release.Name }} pod" {
verify "there is 1 statefulset named '{{ include "perses.fullname" . }}'"
try "at most 3 times every 20s to get pods named '{{ include "perses.fullname" . }}.*' and verify that '.status.phase' is 'running'"
}
{{- end -}}
{{- if .Values.config.database.sql }}
@test "Verify successful deployment and running status of the {{ .Release.Name }} pod" {
verify "there is 1 deployment named '{{ include "perses.fullname" . }}'"
try "at most 3 times every 20s to get pods named '{{ include "perses.fullname" . }}.*' and verify that '.status.phase' is 'running'"
}
{{- end -}}
{{- if .Values.persistence.enabled }}
@test "Verify successful creation and bound status of {{ include "perses.fullname" . }} persistent volume claims" {
try "at most 3 times every 5s to get persistentvolumeclaims named '{{ include "perses.fullname" . }}.*' and verify that '.status.phase' is 'Bound'"
}
{{- end -}}
{{- if .Values.ingress.enabled }}
@test "Verify successful creation of ingress resource" {
verify "there is 1 ingress named '^{{ include "perses.fullname" . }}$'"
}
{{- end -}}
{{- if and .Values.gateway.enabled .Values.gateway.createGateway }}
@test "Verify successful creation of gateway resource" {
verify "there is 1 gateways.gateway.networking.k8s.io named '^{{ default (printf "%s-gateway" (include "perses.fullname" .)) .Values.gateway.name }}$'"
}
{{- end -}}
{{- if .Values.gateway.enabled }}
@test "Verify successful creation of HTTPRoute resource" {
verify "there is 1 httproutes.gateway.networking.k8s.io named '^{{ default (printf "%s-http-route" (include "perses.fullname" .)) .Values.gateway.httpRoute.name }}$'"
}
{{- end -}}
{{ if .Values.serviceMonitor.selfMonitor }}
@test "Verify succesful creation of ServiceMonitor" {
verify "there is 1 servicemonitor named '^{{ include "perses.fullname" . }}$'"
}
{{ end }}
{{- end -}}