路由配置,并使用该拦截器,releases.Use(checkToken),有配置的接口才会生效
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Welcome helm wrapper server")
})
// register router
RegisterRouter(router)
func RegisterRouter(router *gin.Engine) {
// helm chart
charts := router.Group("/api/charts")
{
// helm show
charts.GET("", showChartInfo)
// upload chart
charts.POST("/upload", uploadChart)
// list uploaded charts
charts.GET("/upload", listUploadedCharts)
// delete chart
charts.DELETE("/upload/:chart", deleteChart)
}
// helm release
releases := router.Group("/api/namespaces/:namespace/releases")
{
// 使用指定拦截器
releases.Use(checkToken)
// helm list releases -> helm list
releases.GET("", listReleases)
// helm get
releases.GET("/:release", showReleaseInfo)
// helm install
releases.POST("/:release", installRelease)
// helm upgrade
releases.PUT("/:release", upgradeRelease)
}
}