{{- if .Values.server.enabled }} apiVersion: v1 kind: ConfigMap metadata: name: {{ include "opensandbox-controller.fullname" . }}-server-config namespace: {{ include "opensandbox-controller.namespace" . }} labels: {{- include "opensandbox-controller.labels" . | nindent 4 }} app.kubernetes.io/component: server data: config.toml: | # OpenSandbox Server Configuration # Generated by Helm Chart [server] host = "{{ .Values.server.config.server.host }}" port = {{ .Values.server.config.server.port }} log_level = "{{ .Values.server.config.server.logLevel }}" {{- if .Values.server.config.server.apiKey }} api_key = "{{ .Values.server.config.server.apiKey }}" {{- end }} [runtime] type = "{{ .Values.server.config.runtime.type }}" execd_image = "{{ .Values.server.config.runtime.execdImage }}" [kubernetes] # Use in-cluster configuration (empty kubeconfig_path) kubeconfig_path = "" namespace = "{{ include "opensandbox-controller.namespace" . }}" # 优先使用 Pool 模式(batchsandbox provider + Pool) workload_provider = "{{ .Values.server.config.kubernetes.workloadProvider }}" # BatchSandbox 模板文件(非 Pool 模式需要) batchsandbox_template_file = "/etc/opensandbox/batchsandbox-template.yaml" # BatchSandbox 模板(用于非 Pool 模式) batchsandbox-template.yaml: | # BatchSandbox CR template for non-pooled mode # Pool mode does not use this template metadata: # Metadata will be merged with runtime-generated values spec: replicas: 1 template: spec: restartPolicy: Never {{- if .Values.server.config.kubernetes.batchsandboxTemplate.tolerations }} tolerations: {{- toYaml .Values.server.config.kubernetes.batchsandboxTemplate.tolerations | nindent 12 }} {{- else }} tolerations: - operator: "Exists" {{- end }} {{- if .Values.server.config.kubernetes.batchsandboxTemplate.nodeSelector }} nodeSelector: {{- toYaml .Values.server.config.kubernetes.batchsandboxTemplate.nodeSelector | nindent 12 }} {{- end }} {{- end }}