Files
iac-cljs-configs/iac/src/main/k8s/services/traefik/service.cljs
2025-09-30 02:24:47 -05:00

30 lines
1.6 KiB
Clojure

(ns k8s.services.traefik.service
(:require
["@pulumi/kubernetes" :as k8s]
["@pulumi/kubernetes/yaml" :as yaml]
["path" :as path]
[configs :refer [cfg]]))
(defn set-up-traefik [provider]
(let [helm-v3 (.. k8s -helm -v3)
chart (new (.. helm-v3 -Chart) "traefik"
(clj->js {:chart "traefik"
:fetchOpts {:repo "https://helm.traefik.io/traefik"}
:namespace "kube-system"
:values {:deployment {:kind "DaemonSet"
:hostNetwork true
}
:ports {:web {:hostPort 80}
:websecure {:hostPort 443}}
:service {:type "LoadBalancer"
:externalTrafficPolicy "Local"}
:providers {:kubernetesIngress
{:ingressStatus
{:endpoint
{:publishedService
{:name "traefik"
:namespace "kube-system"}}}}}
:additionalArguments ["--providers.kubernetesIngress.ingressClass=traefik"]
}})
(clj->js {:provider provider}))]
chart))