From ac7329479fca6cfae20100c27a8b6200810d98ea Mon Sep 17 00:00:00 2001 From: w-mj Date: Tue, 28 Feb 2023 15:02:06 +0800 Subject: [PATCH] nfs --- install.yaml | 8 ++++++++ main.go | 42 +++++++++++++++++++++++------------------- src/k8s_client.go | 3 +++ 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/install.yaml b/install.yaml index 574a25d..911b9e0 100644 --- a/install.yaml +++ b/install.yaml @@ -37,6 +37,14 @@ spec: value: 192.168.252.250 - name: NFS_PATH value: /mnt/CGdata/ms + volumeMounts: + - name: k8s-manager-nfs-volume + mountPath: /mnt/CGdata/ms + volumes: + - name: k8s-manager-nfs-volume + nfs: + server: 192.168.252.250 + path: /mnt/CGdata/ms --- apiVersion: v1 kind: Service diff --git a/main.go b/main.go index 92c5963..f0fb63a 100644 --- a/main.go +++ b/main.go @@ -41,7 +41,7 @@ func main() { r.POST("/dep", m.JWTAuthMiddleware, m.CreateDeleteDeployment) r.DELETE("/dep", m.JWTAuthMiddleware, m.CreateDeleteDeployment) - r.GET("/login", Test) + r.GET("/login", LoginToken) r.Any("/test_token", TestToken) r.GET("/username", m.JWTAuthMiddleware, m.GetUsername) err := r.Run(":8000") @@ -135,7 +135,7 @@ func AesDecrypt(data []byte, key []byte) ([]byte, error) { return crypted, nil } -func Test(c *gin.Context) { +func LoginToken(c *gin.Context) { username := c.Request.URL.Query().Get("username") var err error if username == "" { @@ -147,26 +147,30 @@ func Test(c *gin.Context) { "msg": "user name error", }) } else { - token, err := m.GenerateToken(username) - if err != nil { - log.Error(err) - c.Abort() - return - } - log.WithField("user name", username).Info("Login success.") - c.SetCookie("Authorization", "Bearer "+token, 0, "", "", false, false) - c.Header("Authorization", "Bearer "+token) - c.Header("Cache-Control", "no-store") - redirectUrl := "" - if os.Getenv("URL_PREFIX") == "" { - redirectUrl = "/index" - } else { - redirectUrl = fmt.Sprintf("/%s/index", os.Getenv("URL_PREFIX")) - } - c.Redirect(http.StatusTemporaryRedirect, redirectUrl) + Login(c, username) } } +func Login(c *gin.Context, username string) { + token, err := m.GenerateToken(username) + if err != nil { + log.Error(err) + c.Abort() + return + } + log.WithField("user name", username).Info("Login success.") + c.SetCookie("Authorization", "Bearer "+token, 0, "", "", false, false) + c.Header("Authorization", "Bearer "+token) + c.Header("Cache-Control", "no-store") + redirectUrl := "" + if os.Getenv("URL_PREFIX") == "" { + redirectUrl = "/index" + } else { + redirectUrl = fmt.Sprintf("/%s/index", os.Getenv("URL_PREFIX")) + } + c.Redirect(http.StatusTemporaryRedirect, redirectUrl) +} + func TestToken(c *gin.Context) { token := c.Request.URL.Query().Get("cgtoken") if token == "" { diff --git a/src/k8s_client.go b/src/k8s_client.go index ab38b7b..61cb7cf 100644 --- a/src/k8s_client.go +++ b/src/k8s_client.go @@ -74,6 +74,9 @@ func (c *K8sClient) DeploymentExists(deploymentName string) bool { func (c *K8sClient) UpdateDeployment(app *AppModel) { labelKey, labelValue := app.GetLabel() l := map[string]string{labelKey: labelValue} + if _, err := os.Stat(app.NFSPath()); os.IsNotExist(err) { + os.MkdirAll(app.NFSPath(), os.ModeDir) + } podLabels := map[string]string{ labelKey: labelValue, "cg-deployment": app.DeploymentName(),