|
@@ -23,6 +23,7 @@ func NewAPIRouter(config *shared.Config) *chi.Mux {
|
|
|
releaseRegisterer := NewReleaseScopedRegisterer()
|
|
releaseRegisterer := NewReleaseScopedRegisterer()
|
|
|
namespaceRegisterer := NewNamespaceScopedRegisterer(releaseRegisterer)
|
|
namespaceRegisterer := NewNamespaceScopedRegisterer(releaseRegisterer)
|
|
|
clusterRegisterer := NewClusterScopedRegisterer(namespaceRegisterer)
|
|
clusterRegisterer := NewClusterScopedRegisterer(namespaceRegisterer)
|
|
|
|
|
+ gitInstallationRegisterer := NewGitInstallationScopedRegisterer()
|
|
|
registryRegisterer := NewRegistryScopedRegisterer()
|
|
registryRegisterer := NewRegistryScopedRegisterer()
|
|
|
helmRepoRegisterer := NewHelmRepoScopedRegisterer()
|
|
helmRepoRegisterer := NewHelmRepoScopedRegisterer()
|
|
|
inviteRegisterer := NewInviteScopedRegisterer()
|
|
inviteRegisterer := NewInviteScopedRegisterer()
|
|
@@ -31,6 +32,7 @@ func NewAPIRouter(config *shared.Config) *chi.Mux {
|
|
|
registryRegisterer,
|
|
registryRegisterer,
|
|
|
helmRepoRegisterer,
|
|
helmRepoRegisterer,
|
|
|
inviteRegisterer,
|
|
inviteRegisterer,
|
|
|
|
|
+ gitInstallationRegisterer,
|
|
|
)
|
|
)
|
|
|
userRegisterer := NewUserScopedRegisterer(projRegisterer)
|
|
userRegisterer := NewUserScopedRegisterer(projRegisterer)
|
|
|
|
|
|
|
@@ -101,6 +103,10 @@ func registerRoutes(config *shared.Config, routes []*Route) {
|
|
|
// after authorization. Each subsequent http.Handler can lookup the registry in context.
|
|
// after authorization. Each subsequent http.Handler can lookup the registry in context.
|
|
|
registryFactory := authz.NewRegistryScopedFactory(config)
|
|
registryFactory := authz.NewRegistryScopedFactory(config)
|
|
|
|
|
|
|
|
|
|
+ // Create a new "gitinstallation-scoped" factory which will create a new gitinstallation-scoped request
|
|
|
|
|
+ // after authorization. Each subsequent http.Handler can lookup the gitinstallation in context.
|
|
|
|
|
+ gitInstallationFactory := authz.NewGitInstallationScopedFactory(config)
|
|
|
|
|
+
|
|
|
// Create a new "release-scoped" factory which will create a new release-scoped request
|
|
// Create a new "release-scoped" factory which will create a new release-scoped request
|
|
|
// after authorization. Each subsequent http.Handler can lookup the release in context.
|
|
// after authorization. Each subsequent http.Handler can lookup the release in context.
|
|
|
releaseFactory := authz.NewReleaseScopedFactory(config)
|
|
releaseFactory := authz.NewReleaseScopedFactory(config)
|
|
@@ -131,6 +137,8 @@ func registerRoutes(config *shared.Config, routes []*Route) {
|
|
|
atomicGroup.Use(helmRepoFactory.Middleware)
|
|
atomicGroup.Use(helmRepoFactory.Middleware)
|
|
|
case types.RegistryScope:
|
|
case types.RegistryScope:
|
|
|
atomicGroup.Use(registryFactory.Middleware)
|
|
atomicGroup.Use(registryFactory.Middleware)
|
|
|
|
|
+ case types.GitInstallationScope:
|
|
|
|
|
+ atomicGroup.Use(gitInstallationFactory.Middleware)
|
|
|
case types.ReleaseScope:
|
|
case types.ReleaseScope:
|
|
|
atomicGroup.Use(releaseFactory.Middleware)
|
|
atomicGroup.Use(releaseFactory.Middleware)
|
|
|
}
|
|
}
|