package mainimport (    "bytes"    "io/ioutil"    "net/http"    "os"    "os/exec"    _ "path/filepath"    "github.com/gin-gonic/gin"    _ "gopkg.in/yaml.v3"    "gorm.io/driver/mysql"    "gorm.io/gorm")type YAML struct {    Content string `gorm:"type:text"`}func main() {    // 初始化数据库    dsn := "root:xixu@tcp(10.23.18x.x1:3306)/texxt?charset=utf8mb4&parseTime=True&loc=Local"    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})    if err != nil {        panic(any("Failed to connect database"))    }    db.AutoMigrate(&YAML{})    // 初始化 Gin 路由    r := gin.Default()    r.LoadHTMLGlob("./temp/*")    r.GET("/upload", func(c *gin.Context) {        c.HTML(http.StatusOK, "upload.html", gin.H{            "mess": "mess",        })    })    r.POST("/upload", func(c *gin.Context) {        // 从 HTTP 申请中读取 YAML 文件内容        file, err := c.FormFile("yaml")        if err != nil {            c.String(http.StatusBadRequest, "Bad request")            return        }        f, err := file.Open()        if err != nil {            c.String(http.StatusBadRequest, "Bad request")            return        }        defer f.Close()        content, err := ioutil.ReadAll(f)        if err != nil {            c.String(http.StatusBadRequest, "Bad request")            return        }        // 将 YAML 文件内容存储到数据库中        yaml := YAML{Content: string(content)}        db.Create(&yaml)        // 利用 YAML 文件内容到 Kubernetes 集群中        cmd := exec.Command("kubectl", "apply", "-f", "-")        cmd.Stdout = os.Stdout        cmd.Stderr = os.Stderr        cmd.Stdin = bytes.NewBufferString(yaml.Content)        err = cmd.Run()        if err != nil {            c.String(http.StatusInternalServerError, "Internal server error")            return        }        c.String(http.StatusOK, "YAML file uploaded successfully")    })    r.Run(":8080")}
<!DOCTYPE html><html lang="zh-CN"><head>    <title>上传文件示例</title></head><body><form action="/upload" method="post" enctype="multipart/form-data">    <input type="file" name="yaml">    <input type="submit" value="上传"></form></body></html>