Documentation
¶
Index ¶
- Variables
- type APIV1Router
- type APIV2Router
- type AdminRouter
- type AdvisoryRouter
- type ArtifactRouter
- type AssetRouter
- type AssetVersionRouter
- type ComplianceComponentRouter
- type ComplianceComponentStatementRouter
- type CompliancePostureRouter
- type DependencyProxyRouter
- type DependencyVulnRouter
- type ExternalReferenceRouter
- type FirstPartyVulnRouter
- type LicenseRiskRouter
- type OCIRegistryRouter
- type OrgRouter
- type ProjectRouter
- type Routers
- type SessionRouter
- type ShareRouter
- type VEXRuleRouter
- type VulnDBRouter
Constants ¶
This section is empty.
Variables ¶
var RouterModule = fx.Options( fx.Provide(NewAdminRouter), fx.Provide(NewAPIV1Router), fx.Provide(NewAPIV2Router), fx.Provide(NewArtifactRouter), fx.Provide(NewAssetRouter), fx.Provide(NewAssetVersionRouter), fx.Provide(NewCompliancePostureRouter), fx.Provide(NewComplianceComponentRouter), fx.Provide(NewComplianceComponentStatementRouter), fx.Provide(NewDependencyVulnRouter), fx.Provide(NewFirstPartyVulnRouter), fx.Provide(NewLicenseRiskRouter), fx.Provide(NewOrgRouter), fx.Provide(NewProjectRouter), fx.Provide(NewSessionRouter), fx.Provide(NewShareRouter), fx.Provide(NewVulnDBRouter), fx.Provide(NewDependencyProxyRouter), fx.Provide(NewOCIRegistryRouter), fx.Provide(NewVEXRuleRouter), fx.Provide(NewExternalReferenceRouter), fx.Provide(NewAdvisoryRouter), )
Functions ¶
This section is empty.
Types ¶
type APIV1Router ¶
func NewAPIV1Router ¶
func NewAPIV1Router(srv api.Server, thirdPartyIntegration shared.IntegrationAggregate, oryAdmin shared.AdminClient, systemController *controllers.SystemController, adminController *controllers.AdminController, integrationController *controllers.IntegrationController, assetController *controllers.AssetController, intotoController *controllers.InToToController, csafController *controllers.CSAFController, scanController *controllers.ScanController, dependencyVulnController *controllers.DependencyVulnController, orgRepository shared.OrganizationRepository, projectRepository shared.ProjectRepository, assetRepository shared.AssetRepository, assetVersionRepository shared.AssetVersionRepository, artifactRepository shared.ArtifactRepository, ) APIV1Router
type APIV2Router ¶ added in v1.6.0
func NewAPIV2Router ¶ added in v1.6.0
func NewAPIV2Router( srv api.Server, oryAdmin shared.AdminClient, adminClient shared.PublicClient, patService shared.PersonalAccessTokenService, externalEntityProviderService shared.ExternalEntityProviderService, thirdPartyIntegration shared.IntegrationAggregate, scanController *controllers.ScanController, assetRepository shared.AssetRepository, projectRepository shared.ProjectRepository, assetVersionRepository shared.AssetVersionRepository, casbinRBACProvider shared.RBACProvider, orgService shared.OrgService, configService shared.ConfigService, gitlabOauth2Integrations map[string]*gitlabint.GitlabOauth2Config, ) APIV2Router
type AdminRouter ¶ added in v1.6.1
func NewAdminRouter ¶ added in v1.6.1
func NewAdminRouter(apiV1Router APIV1Router, adminController *controllers.AdminController, patService shared.PersonalAccessTokenService) AdminRouter
type AdvisoryRouter ¶ added in v1.10.0
func NewAdvisoryRouter ¶ added in v1.10.0
func NewAdvisoryRouter( assetVersionGroup AssetVersionRouter, advisoryController *controllers.AdvisoryController, assetRepository shared.AssetRepository, ) AdvisoryRouter
type ArtifactRouter ¶
func NewArtifactRouter ¶
func NewArtifactRouter( assetVersionGroup AssetVersionRouter, artifactController *controllers.ArtifactController, assetController *controllers.AssetController, externalReferenceController *controllers.ExternalReferenceController, artifactRepository shared.ArtifactRepository, assetRepository shared.AssetRepository, ) ArtifactRouter
type AssetRouter ¶
func NewAssetRouter ¶
func NewAssetRouter( projectGroup ProjectRouter, assetController *controllers.AssetController, dependencyProxyController *dependencyfirewall.DependencyProxyController, assetVersionController *controllers.AssetVersionController, complianceController *controllers.ComplianceController, statisticsController *controllers.StatisticsController, componentController *controllers.ComponentController, intotoController *controllers.InToToController, integrationController *controllers.IntegrationController, scanController *controllers.ScanController, assetRepository shared.AssetRepository, patController *controllers.PatController, ) AssetRouter
type AssetVersionRouter ¶
func NewAssetVersionRouter ¶
func NewAssetVersionRouter( assetGroup AssetRouter, assetVersionController *controllers.AssetVersionController, firstPartyVulnController *controllers.FirstPartyVulnController, complianceController *controllers.ComplianceController, componentController *controllers.ComponentController, statisticsController *controllers.StatisticsController, attestationController *controllers.AttestationController, intotoController *controllers.InToToController, vulnEventController *controllers.VulnEventController, artifactController *controllers.ArtifactController, externalReferenceController *controllers.ExternalReferenceController, assetVersionRepository shared.AssetVersionRepository, assetRepository shared.AssetRepository, vulnEventRepository shared.VulnEventRepository, ) AssetVersionRouter
type ComplianceComponentRouter ¶ added in v1.10.0
ComplianceComponentRouter exposes the global catalog of compliance components (an instance-wide catalog, not scoped to any org/project/asset - components are seeded from OSCAL component-definitions and shared across all tenants).
func NewComplianceComponentRouter ¶ added in v1.10.0
func NewComplianceComponentRouter(apiV1Router APIV1Router, complianceComponentController *controllers.ComplianceComponentController) ComplianceComponentRouter
type ComplianceComponentStatementRouter ¶ added in v1.10.0
ComplianceComponentStatementRouter exposes CRUD for statements: a specific posture's per-component claim about implementation status. Postures are scoped to an org/project/asset/asset-version, so this is mounted alongside compliance-postures at the asset-version level.
func NewComplianceComponentStatementRouter ¶ added in v1.10.0
func NewComplianceComponentStatementRouter( assetVersionGroup AssetVersionRouter, complianceComponentController *controllers.ComplianceComponentController, ) ComplianceComponentStatementRouter
type CompliancePostureRouter ¶ added in v1.10.0
func NewCompliancePostureRouter ¶ added in v1.10.0
func NewCompliancePostureRouter( assetVersionGroup AssetVersionRouter, compliancePostureController *controllers.CompliancePostureController, ) CompliancePostureRouter
type DependencyProxyRouter ¶
func NewDependencyProxyRouter ¶
func NewDependencyProxyRouter( apiV1Group APIV1Router, npmController *dependencyfirewall.NPMDependencyProxyController, goController *dependencyfirewall.GoDependencyProxyController, pythonController *dependencyfirewall.PythonDependencyProxyController, ) DependencyProxyRouter
type DependencyVulnRouter ¶
func NewDependencyVulnRouter ¶
func NewDependencyVulnRouter( assetVersionGroup AssetVersionRouter, dependencyVulnController *controllers.DependencyVulnController, vulnEventController *controllers.VulnEventController, ) DependencyVulnRouter
type ExternalReferenceRouter ¶
func NewExternalReferenceRouter ¶
func NewExternalReferenceRouter( assetRouter AssetRouter, externalReferenceController *controllers.ExternalReferenceController, assetRepository shared.AssetRepository, ) ExternalReferenceRouter
type FirstPartyVulnRouter ¶
func NewFirstPartyVulnRouter ¶
func NewFirstPartyVulnRouter( assetVersionGroup AssetVersionRouter, firstPartyVulnController *controllers.FirstPartyVulnController, vulnEventController *controllers.VulnEventController, ) FirstPartyVulnRouter
type LicenseRiskRouter ¶
func NewLicenseRiskRouter ¶
func NewLicenseRiskRouter( assetVersionGroup AssetVersionRouter, licenseRiskController *controllers.LicenseRiskController, ) LicenseRiskRouter
type OCIRegistryRouter ¶ added in v1.3.0
OCIRegistryRouter exposes the OCI Distribution Spec v2 API at the root /v2/ path so that standard Docker clients can pull images without any special configuration.
Unauthenticated (no custom firewall rules applied):
docker pull <host>/docker.io/library/nginx:latest
Secret-scoped (custom rules and MinReleaseAge enforced):
docker pull <host>/<secret>/docker.io/library/nginx:latest
Docker resolves these as registry=<host> and sends:
GET /v2/ (version check) GET /v2/docker.io/library/nginx/manifests/latest (unauthenticated) GET /v2/<secret>/docker.io/library/nginx/manifests/latest (secret-scoped)
Routing note: to avoid ambiguity, no-secret routes cover 1- and 2-segment image names while secret routes cover 2- and 3-segment image names (shifted by one). In practice this means all real Docker Hub and ghcr.io images (e.g. library/nginx, org/repo) work in both modes.
func NewOCIRegistryRouter ¶ added in v1.3.0
func NewOCIRegistryRouter(srv api.Server, ociController *dependencyfirewall.OCIDependencyProxyController) OCIRegistryRouter
type OrgRouter ¶
func NewOrgRouter ¶
func NewOrgRouter( sessionGroup SessionRouter, configService shared.ConfigService, orgController *controllers.OrgController, projectController *controllers.ProjectController, dependencyProxyController *dependencyfirewall.DependencyProxyController, dependencyVulnController *controllers.DependencyVulnController, firstPartyVulnController *controllers.FirstPartyVulnController, compliancePostureController *controllers.CompliancePostureController, complianceComponentController *controllers.ComplianceComponentController, policyController *controllers.PolicyController, integrationController *controllers.IntegrationController, webhookIntegration *controllers.WebhookController, externalEntityProviderService shared.ExternalEntityProviderService, externalEntityProviderController *controllers.ExternalEntityProviderController, orgService shared.OrgService, gitlabOauth2Integrations map[string]*gitlabint.GitlabOauth2Config, casbinRBACProvider shared.RBACProvider, statisticsController *controllers.StatisticsController, patController *controllers.PatController, projectRepository shared.ProjectRepository, assetRepository shared.AssetRepository, ) OrgRouter
type ProjectRouter ¶
func NewProjectRouter ¶
func NewProjectRouter( organizationGroup OrgRouter, projectController *controllers.ProjectController, assetController *controllers.AssetController, dependencyProxyController *dependencyfirewall.DependencyProxyController, dependencyVulnController *controllers.DependencyVulnController, compliancePostureController *controllers.CompliancePostureController, complianceComponentController *controllers.ComplianceComponentController, complianceController *controllers.ComplianceController, policyController *controllers.PolicyController, releaseController *controllers.ReleaseController, statisticsController *controllers.StatisticsController, webhookIntegration *controllers.WebhookController, projectRepository shared.ProjectRepository, componentController *controllers.ComponentController, gitlabIntegrations map[string]*gitlabint.GitlabOauth2Config, patController *controllers.PatController, ) ProjectRouter
type Routers ¶ added in v1.12.5
type Routers struct {
fx.In
Admin AdminRouter
APIV1 APIV1Router
APIV2 APIV2Router
Artifact ArtifactRouter
Asset AssetRouter
AssetVersion AssetVersionRouter
CompliancePosture CompliancePostureRouter
ComplianceComponent ComplianceComponentRouter
ComplianceComponentStatement ComplianceComponentStatementRouter
DependencyVuln DependencyVulnRouter
FirstPartyVuln FirstPartyVulnRouter
LicenseRisk LicenseRiskRouter
Org OrgRouter
Project ProjectRouter
Session SessionRouter
VulnDB VulnDBRouter
DependencyProxy DependencyProxyRouter
OCIRegistry OCIRegistryRouter
VEXRule VEXRuleRouter
ExternalReference ExternalReferenceRouter
Advisory AdvisoryRouter
}
Routers lets a single fx.Invoke force construction of every router at once (route registration is a side effect of each NewXRouter constructor).
type SessionRouter ¶
func NewSessionRouter ¶
func NewSessionRouter( apiV1Router APIV1Router, adminClient shared.PublicClient, configService shared.ConfigService, patService shared.PersonalAccessTokenService, externalEntityProviderService shared.ExternalEntityProviderService, externalEntityProviderController *controllers.ExternalEntityProviderController, integrationController *controllers.IntegrationController, orgController *controllers.OrgController, scanController *controllers.ScanController, attestationController *controllers.AttestationController, patController *controllers.PatController, assetRepository shared.AssetRepository, projectRepository shared.ProjectRepository, casbinRBACProvider shared.RBACProvider, orgService shared.OrgService, assetVersionRepository shared.AssetVersionRepository, patVerifier shared.PersonalAccessTokenService, ) SessionRouter
type ShareRouter ¶
type ShareRouter struct {
}
func NewShareRouter ¶
func NewShareRouter(apiV1Router APIV1Router, assetController *controllers.AssetController, orgRepository shared.OrganizationRepository, projectRepository shared.ProjectRepository, assetRepository shared.AssetRepository, assetVersionRepository shared.AssetVersionRepository, artifactRepository shared.ArtifactRepository, artifactController *controllers.ArtifactController, ) ShareRouter
type VEXRuleRouter ¶
func NewVEXRuleRouter ¶
func NewVEXRuleRouter( assetRouter AssetRouter, vexRuleController *controllers.VEXRuleController, vexRecommendationController *controllers.VexRuleRecommendationController, ) VEXRuleRouter
type VulnDBRouter ¶
func NewVulnDBRouter ¶
func NewVulnDBRouter(apiV1Router APIV1Router, vulndbController *controllers.VulnDBController) VulnDBRouter
Source Files
¶
- admin_router.go
- advisory_router.go
- apiv1_router.go
- apiv2_router.go
- artifact_router.go
- asset_router.go
- asset_version_router.go
- compliance_component_router.go
- compliance_posture_router.go
- dependency_proxy_router.go
- dependency_vuln_router.go
- external_reference_router.go
- first_party_vuln_router.go
- license_risk_router.go
- oci_registry_router.go
- org_router.go
- project_router.go
- providers.go
- session_router.go
- share_router.go
- vex_rule_router.go
- vulndb_router.go