Global and organization registries (#1672)

Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
This commit is contained in:
Lauris BH
2024-07-03 16:33:11 +03:00
committed by GitHub
parent e5f3e67bf2
commit 28e982fffb
65 changed files with 3260 additions and 269 deletions

View File

@@ -61,11 +61,18 @@ func apiRoutes(e *gin.RouterGroup) {
org.Use(session.MustOrgMember(true))
org.DELETE("", session.MustAdmin(), api.DeleteOrg)
org.GET("", api.GetOrg)
org.GET("/secrets", api.GetOrgSecretList)
org.POST("/secrets", api.PostOrgSecret)
org.GET("/secrets/:secret", api.GetOrgSecret)
org.PATCH("/secrets/:secret", api.PatchOrgSecret)
org.DELETE("/secrets/:secret", api.DeleteOrgSecret)
org.GET("/registries", api.GetOrgRegistryList)
org.POST("/registries", api.PostOrgRegistry)
org.GET("/registries/:registry", api.GetOrgRegistry)
org.PATCH("/registries/:registry", api.PatchOrgRegistry)
org.DELETE("/registries/:registry", api.DeleteOrgRegistry)
}
}
}
@@ -118,6 +125,13 @@ func apiRoutes(e *gin.RouterGroup) {
repo.DELETE("/secrets/:secret", session.MustPush, api.DeleteSecret)
// requires push permissions
repo.GET("/registries", session.MustPush, api.GetRegistryList)
repo.POST("/registries", session.MustPush, api.PostRegistry)
repo.GET("/registries/:registry", session.MustPush, api.GetRegistry)
repo.PATCH("/registries/:registry", session.MustPush, api.PatchRegistry)
repo.DELETE("/registries/:registry", session.MustPush, api.DeleteRegistry)
// TODO: remove with 3.x
repo.GET("/registry", session.MustPush, api.GetRegistryList)
repo.POST("/registry", session.MustPush, api.PostRegistry)
repo.GET("/registry/:registry", session.MustPush, api.GetRegistry)
@@ -184,6 +198,21 @@ func apiRoutes(e *gin.RouterGroup) {
secrets.DELETE("/:secret", api.DeleteGlobalSecret)
}
// global registries can be read without actual values by any user
readGlobalRegistries := apiBase.Group("/registries")
{
readGlobalRegistries.Use(session.MustUser())
readGlobalRegistries.GET("", api.GetGlobalRegistryList)
readGlobalRegistries.GET("/:registry", api.GetGlobalRegistry)
}
registries := apiBase.Group("/registries")
{
registries.Use(session.MustAdmin())
registries.POST("", api.PostGlobalRegistry)
registries.PATCH("/:registry", api.PatchGlobalRegistry)
registries.DELETE("/:registry", api.DeleteGlobalRegistry)
}
logLevel := apiBase.Group("/log-level")
{
logLevel.Use(session.MustAdmin())