|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/kubernetes/helm/cmd/manager/router"
|
|
|
|
"github.com/kubernetes/helm/pkg/util"
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
|
|
|
func registerChartRepoRoutes(c *router.Context, h *router.Handler) {
|
|
|
|
h.Add("GET /chart_repositories", listChartRepositoriesHandlerFunc)
|
|
|
|
h.Add("POST /chart_repositories", addChartRepoHandlerFunc)
|
|
|
|
h.Add("DELETE /chart_repositories", removeChartRepoHandlerFunc)
|
|
|
|
}
|
|
|
|
|
|
|
|
func listChartRepositoriesHandlerFunc(w http.ResponseWriter, r *http.Request, c *router.Context) error {
|
|
|
|
handler := "manager: list chart repositories"
|
|
|
|
repos, err := c.Manager.ListChartRepos()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
util.LogHandlerExitWithJSON(handler, w, repos, http.StatusOK)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func addChartRepoHandlerFunc(w http.ResponseWriter, r *http.Request, c *router.Context) error {
|
|
|
|
handler := "manager: add chart repository"
|
|
|
|
name, err := pos(w, r, 2)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = c.Manager.AddChartRepo(name)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
util.LogHandlerExitWithJSON(handler, w, "added", http.StatusOK)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func removeChartRepoHandlerFunc(w http.ResponseWriter, r *http.Request, c *router.Context) error {
|
|
|
|
handler := "manager: remove chart repository"
|
|
|
|
name, err := pos(w, r, 2)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = c.Manager.RemoveChartRepo(name)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
util.LogHandlerExitWithJSON(handler, w, "removed", http.StatusOK)
|
|
|
|
return nil
|
|
|
|
}
|