Quellcode durchsuchen

add ingress class

Zhang Li vor 2 Jahren
Ursprung
Commit
5804b1c3c6
3 geänderte Dateien mit 30 neuen und 22 gelöschten Zeilen
  1. 6 0
      dag-jupyter/internal/api/helm-wrapper.go
  2. 12 11
      dag-jupyter/internal/types/types.go
  3. 12 11
      jupyter.api

+ 6 - 0
dag-jupyter/internal/api/helm-wrapper.go

@@ -29,6 +29,12 @@ func genParam(req *types.CreateJupyterInfo) map[string]interface{} {
 	settings = append(settings, fmt.Sprintf("ingress.jupyterlab.hosts[0].host=%s", req.Host))
 	settings = append(settings, fmt.Sprintf("ingress.jupyterlab.hosts[0].paths[0].path=%s", req.Path))
 	settings = append(settings, fmt.Sprintf("ingress.jupyterlab.hosts[0].paths[0].pathType=%s", req.PathType))
+	if len(req.IngressClass) > 0 {
+		// ingressClass, _ := json.Marshal(map[string]string{
+		// 	"kubernetes.io/ingress.class": req.IngressClass,
+		// })
+		settings = append(settings, fmt.Sprintf("ingress.jupyterlab.annotations.kubernetes\\.io/ingress\\.class=%s", req.IngressClass))
+	}
 	settings = append(settings, fmt.Sprintf("jupyterlab.image.repository=%s", req.Image))
 	settings = append(settings, fmt.Sprintf("jupyterlab.image.tag=%s", req.Tag))
 	settings = append(settings, fmt.Sprintf("jupyterlab.config.baseUrl=%s", req.BaseUrl))

+ 12 - 11
dag-jupyter/internal/types/types.go

@@ -11,17 +11,18 @@ type PasswordRequest struct {
 }
 
 type CreateJupyterInfo struct {
-	Password    string `json:"password"`
-	Workspace   string `json:"workspace"`
-	Image       string `json:"image"`
-	Tag         string `json:"tag"`
-	BaseUrl     string `json:"base_url"`
-	Host        string `json:"host"`
-	Path        string `json:"path"`
-	PathType    string `json:"path_type"`
-	ReleaseName string `json:"release_name"`
-	Namespace   string `json:"namespace"`
-	Chart       string `json:"chart"`
+	Password     string `json:"password"`
+	Workspace    string `json:"workspace"`
+	Image        string `json:"image"`
+	Tag          string `json:"tag"`
+	BaseUrl      string `json:"base_url"`
+	Host         string `json:"host"`
+	Path         string `json:"path"`
+	PathType     string `json:"path_type"`
+	ReleaseName  string `json:"release_name"`
+	Namespace    string `json:"namespace"`
+	Chart        string `json:"chart"`
+	IngressClass string `json:"ingress_class" default:""`
 }
 
 type DeleteJupyterInfo struct {

+ 12 - 11
jupyter.api

@@ -8,17 +8,18 @@ type (
 		Password string `json:"password"`
 	}
 	CreateJupyterInfo {
-		Password    string `json:"password"`
-		Workspace   string `json:"workspace"`
-		Image       string `json:"image"`
-		Tag         string `json:"tag"`
-		BaseUrl     string `json:"base_url"`
-		Host        string `json:"host"`
-		Path        string `json:"path"`
-		PathType    string `json:"path_type"`
-		ReleaseName string `json:"release_name"`
-		Namespace   string `json:"namespace"`
-		Chart       string `json:"chart"`
+		Password     string `json:"password"`
+		Workspace    string `json:"workspace"`
+		Image        string `json:"image"`
+		Tag          string `json:"tag"`
+		BaseUrl      string `json:"base_url"`
+		Host         string `json:"host"`
+		Path         string `json:"path"`
+		PathType     string `json:"path_type"`
+		ReleaseName  string `json:"release_name"`
+		Namespace    string `json:"namespace"`
+		Chart        string `json:"chart"`
+		IngressClass string `json:"ingress_class" default:""`
 	}
 	DeleteJupyterInfo {
 		ReleaseName string `json:"release_name"`