feat(gitops): introduce workflows view [BE-12807] (#2391) (#2428)

Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com>
Co-authored-by: Chaim Lev-Ari <chaim.lev-ari@portainer.io>
This commit is contained in:
andres-portainer
2026-04-22 14:37:04 -03:00
committed by GitHub
parent b9713f7e9e
commit b91f77a554
33 changed files with 2087 additions and 17 deletions
@@ -0,0 +1,36 @@
package workflows
import (
"net/http"
"time"
gocache "github.com/patrickmn/go-cache"
"github.com/portainer/portainer/api/dataservices"
httperror "github.com/portainer/portainer/pkg/libhttp/error"
"github.com/gorilla/mux"
)
const (
cacheTTL = 30 * time.Second
cacheCleanupInterval = 10 * time.Minute
)
type Handler struct {
*mux.Router
dataStore dataservices.DataStore
cache *gocache.Cache
}
func NewHandler(dataStore dataservices.DataStore) *Handler {
h := &Handler{
Router: mux.NewRouter(),
dataStore: dataStore,
cache: gocache.New(cacheTTL, cacheCleanupInterval),
}
h.Handle("/gitops/workflows", httperror.LoggerHandler(h.list)).Methods(http.MethodGet)
h.Handle("/gitops/workflows/summary", httperror.LoggerHandler(h.summary)).Methods(http.MethodGet)
return h
}