diff --git a/plugins/scheduler-k3s/templates/chart/certificate.yaml b/plugins/scheduler-k3s/templates/chart/certificate.yaml index 029230020..a16e03a8a 100644 --- a/plugins/scheduler-k3s/templates/chart/certificate.yaml +++ b/plugins/scheduler-k3s/templates/chart/certificate.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and $config.web.tls.enabled $config.web.domains }} --- apiVersion: cert-manager.io/v1 @@ -34,3 +38,4 @@ spec: - {{ $domain.name }} {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/https-redirect-middleware.yaml b/plugins/scheduler-k3s/templates/chart/https-redirect-middleware.yaml index 20a3d4429..d81397a53 100644 --- a/plugins/scheduler-k3s/templates/chart/https-redirect-middleware.yaml +++ b/plugins/scheduler-k3s/templates/chart/https-redirect-middleware.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and $config.web.domains (eq $.Values.global.network.ingress_class "traefik") }} --- apiVersion: traefik.io/v1alpha1 @@ -22,3 +26,4 @@ spec: scheme: https permanent: true {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/ingress-route.yaml b/plugins/scheduler-k3s/templates/chart/ingress-route.yaml index 306e4a7a3..01bf6ff76 100644 --- a/plugins/scheduler-k3s/templates/chart/ingress-route.yaml +++ b/plugins/scheduler-k3s/templates/chart/ingress-route.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and $config.web.domains (eq $.Values.global.network.ingress_class "traefik") }} {{- $mappings := dict }} {{- range $pdx, $port_map := $config.web.port_maps }} @@ -53,3 +57,4 @@ spec: {{- end }} {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/ingress.yaml b/plugins/scheduler-k3s/templates/chart/ingress.yaml index 5530525f3..d21247034 100644 --- a/plugins/scheduler-k3s/templates/chart/ingress.yaml +++ b/plugins/scheduler-k3s/templates/chart/ingress.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- $routeToKeda := false }} {{- if and (eq $processName "web") (and $config.autoscaling (and $config.autoscaling.enabled (eq $config.autoscaling.type "keda"))) }} {{- if and (.Capabilities.APIVersions.Has "http.keda.sh/v1alpha1") (and $config.autoscaling.http_trigger (eq $config.autoscaling.http_trigger.type "http")) }} @@ -59,3 +63,4 @@ spec: {{- end }} {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/keda-http-scaled-object.yaml b/plugins/scheduler-k3s/templates/chart/keda-http-scaled-object.yaml index bd761642f..e4d4fdd08 100644 --- a/plugins/scheduler-k3s/templates/chart/keda-http-scaled-object.yaml +++ b/plugins/scheduler-k3s/templates/chart/keda-http-scaled-object.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and (eq $processName "web") (and $config.autoscaling (and $config.autoscaling.enabled (eq $config.autoscaling.type "keda"))) }} {{- if and (.Capabilities.APIVersions.Has "http.keda.sh/v1alpha1") (and $config.autoscaling.http_trigger (eq $config.autoscaling.http_trigger.type "http")) }} {{- $mappings := dict }} @@ -51,3 +55,4 @@ spec: {{- end }} {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/keda-interceptor-proxy-service.yaml b/plugins/scheduler-k3s/templates/chart/keda-interceptor-proxy-service.yaml index c12d6411e..ed4575b93 100644 --- a/plugins/scheduler-k3s/templates/chart/keda-interceptor-proxy-service.yaml +++ b/plugins/scheduler-k3s/templates/chart/keda-interceptor-proxy-service.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and (eq $processName "web") (and $config.autoscaling (and $config.autoscaling.enabled (eq $config.autoscaling.type "keda"))) }} {{- if .Capabilities.APIVersions.Has "http.keda.sh/v1alpha1" -}} --- @@ -24,3 +28,4 @@ spec: externalName: keda-add-ons-http-interceptor-proxy.keda.svc.cluster.local {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/keda-scaled-object.yaml b/plugins/scheduler-k3s/templates/chart/keda-scaled-object.yaml index 24e6ed5e1..9970b1b31 100644 --- a/plugins/scheduler-k3s/templates/chart/keda-scaled-object.yaml +++ b/plugins/scheduler-k3s/templates/chart/keda-scaled-object.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + {{- if and $config.autoscaling (and $config.autoscaling.enabled (eq $config.autoscaling.type "keda")) }} {{- if .Capabilities.APIVersions.Has "keda.sh/v1alpha1" -}} --- @@ -42,3 +46,4 @@ spec: {{- end }} {{- end }} {{- end }} +{{- end }} diff --git a/plugins/scheduler-k3s/templates/chart/service.yaml b/plugins/scheduler-k3s/templates/chart/service.yaml index bf5d3d34b..0b6a02417 100644 --- a/plugins/scheduler-k3s/templates/chart/service.yaml +++ b/plugins/scheduler-k3s/templates/chart/service.yaml @@ -1,5 +1,9 @@ -{{- $processName := "PROCESS_NAME" }} -{{- $config := index .Values.processes "PROCESS_NAME" }} +{{- range $processName, $config := .Values.processes }} +# Skip cron jobs +{{- if and (hasKey $config "cron") (hasKey $config.cron "id") }} +{{- continue }} +{{- end }} + --- apiVersion: v1 kind: Service @@ -28,3 +32,4 @@ spec: app.kubernetes.io/instance: {{ $.Values.global.app_name }}-{{ $processName }} app.kubernetes.io/name: {{ $processName }} app.kubernetes.io/part-of: {{ $.Values.global.app_name }} +{{- end }} diff --git a/plugins/scheduler-k3s/triggers.go b/plugins/scheduler-k3s/triggers.go index 89827cdeb..a228ac048 100644 --- a/plugins/scheduler-k3s/triggers.go +++ b/plugins/scheduler-k3s/triggers.go @@ -534,9 +534,8 @@ func TriggerSchedulerDeploy(scheduler string, appName string, imageTag string) e return fmt.Errorf("Error reading %s template: %w", templateName, err) } - filename := filepath.Join(chartDir, "templates", fmt.Sprintf("%s-%s.yaml", templateName, processType)) - contents := strings.ReplaceAll(string(b), "PROCESS_NAME", processType) - err = os.WriteFile(filename, []byte(contents), os.FileMode(0644)) + filename := filepath.Join(chartDir, "templates", fmt.Sprintf("%s.yaml", templateName)) + err = os.WriteFile(filename, b, os.FileMode(0644)) if err != nil { return fmt.Errorf("Error writing %s template: %w", templateName, err) }