Documentation
¶
Index ¶
- Variables
- type APIV1Router
- type ArtifactRouter
- type AssetRouter
- type AssetVersionRouter
- type BuildInfo
- type DatabaseInfo
- type DependencyProxyRouter
- type DependencyVulnRouter
- type FirstPartyVulnRouter
- type InfoResponse
- type LicenseRiskRouter
- type MemStats
- type OrgRouter
- type PatRouter
- type PoolInfo
- type ProcessInfo
- type ProjectRouter
- type RuntimeInfo
- type SessionRouter
- type ShareRouter
- type VulnDBRouter
Constants ¶
This section is empty.
Variables ¶
View Source
var RouterModule = fx.Options( fx.Provide(NewAPIV1Router), fx.Provide(NewArtifactRouter), fx.Provide(NewAssetRouter), fx.Provide(NewAssetVersionRouter), 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), )
Functions ¶
This section is empty.
Types ¶
type APIV1Router ¶
func NewAPIV1Router ¶
func NewAPIV1Router(srv api.Server, db shared.DB, pool *pgxpool.Pool, thirdPartyIntegration shared.IntegrationAggregate, oryAdmin shared.AdminClient, assetController *controllers.AssetController, intotoController *controllers.InToToController, csafController *controllers.CSAFController, orgRepository shared.OrganizationRepository, projectRepository shared.ProjectRepository, assetRepository shared.AssetRepository, assetVersionRepository shared.AssetVersionRepository, artifactRepository shared.ArtifactRepository, ) APIV1Router
type ArtifactRouter ¶
func NewArtifactRouter ¶
func NewArtifactRouter( assetVersionGroup AssetVersionRouter, assetVersionController *controllers.AssetVersionController, artifactController *controllers.ArtifactController, artifactRepository shared.ArtifactRepository, ) ArtifactRouter
type AssetRouter ¶
func NewAssetRouter ¶
func NewAssetRouter( projectGroup ProjectRouter, assetController *controllers.AssetController, assetVersionController *controllers.AssetVersionController, complianceController *controllers.ComplianceController, statisticsController *controllers.StatisticsController, componentController *controllers.ComponentController, intotoController *controllers.InToToController, integrationController *controllers.IntegrationController, scanController *controllers.ScanController, assetRepository shared.AssetRepository, ) 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, assetVersionRepository shared.AssetVersionRepository, assetRepository shared.AssetRepository, vulnEventRepository shared.VulnEventRepository, ) AssetVersionRouter
type BuildInfo ¶
type BuildInfo struct {
Version string `json:"version,omitempty"`
Commit string `json:"commit,omitempty"`
Branch string `json:"branch,omitempty"`
BuildDate string `json:"buildDate,omitempty"`
}
BuildInfo holds compiled build metadata
type DatabaseInfo ¶
type DatabaseInfo struct {
sql.DBStats
Status string `json:"status"`
Error *string `json:"error,omitempty"`
MigrationVersion *uint `json:"migrationVersion,omitempty"`
MigrationDirty *bool `json:"migrationDirty,omitempty"`
MigrationError *string `json:"migrationError,omitempty"`
VulnDBVersion *string `json:"vulndbVersion,omitempty"`
Pool *PoolInfo `json:"pool,omitempty"`
}
DatabaseInfo describes DB connectivity and migration/vulndb metadata
type DependencyProxyRouter ¶
func NewDependencyProxyRouter ¶
func NewDependencyProxyRouter( apiV1Group APIV1Router, controller *controllers.DependencyProxyController, ) DependencyProxyRouter
type DependencyVulnRouter ¶
func NewDependencyVulnRouter ¶
func NewDependencyVulnRouter( assetVersionGroup AssetVersionRouter, dependencyVulnController *controllers.DependencyVulnController, vulnEventController *controllers.VulnEventController, ) DependencyVulnRouter
type FirstPartyVulnRouter ¶
func NewFirstPartyVulnRouter ¶
func NewFirstPartyVulnRouter( assetVersionGroup AssetVersionRouter, firstPartyVulnController *controllers.FirstPartyVulnController, vulnEventController *controllers.VulnEventController, ) FirstPartyVulnRouter
type InfoResponse ¶
type InfoResponse struct {
Build BuildInfo `json:"build"`
Process ProcessInfo `json:"process"`
Runtime RuntimeInfo `json:"runtime"`
Database DatabaseInfo `json:"database"`
}
InfoResponse is the typed response returned by the /api/v1/info/ endpoint. It is structured for readable inspection by humans and machines.
type LicenseRiskRouter ¶
func NewLicenseRiskRouter ¶
func NewLicenseRiskRouter( assetVersionGroup AssetVersionRouter, licenseRiskController *controllers.LicenseRiskController, ) LicenseRiskRouter
type MemStats ¶
type MemStats struct {
Alloc uint64 `json:"alloc"`
TotalAlloc uint64 `json:"totalAlloc"`
Sys uint64 `json:"sys"`
HeapAlloc uint64 `json:"heapAlloc"`
}
MemStats focuses on a small, relevant subset of runtime.MemStats
type OrgRouter ¶
func NewOrgRouter ¶
func NewOrgRouter( sessionGroup SessionRouter, orgController *controllers.OrgController, projectController *controllers.ProjectController, dependencyVulnController *controllers.DependencyVulnController, firstPartyVulnController *controllers.FirstPartyVulnController, policyController *controllers.PolicyController, integrationController *controllers.IntegrationController, webhookIntegration *controllers.WebhookController, externalEntityProviderService shared.ExternalEntityProviderService, orgService shared.OrgService, gitlabOauth2Integrations map[string]*gitlabint.GitlabOauth2Config, casbinRBACProvider shared.RBACProvider, ) OrgRouter
type PatRouter ¶
func NewPatRouter ¶
func NewPatRouter( sessionGroup SessionRouter, patController *controllers.PatController, ) PatRouter
type PoolInfo ¶
type PoolInfo struct {
DBName string `json:"dbName,omitempty"`
MaxOpenConns int32 `json:"maxOpenConns,omitempty"`
ConnMaxLifetime string `json:"connMaxLifetime,omitempty"`
ConnMaxIdleTime string `json:"connMaxIdleTime,omitempty"`
// Runtime pool statistics taken from pgxpool.Stat()
TotalConns int `json:"totalConns,omitempty"`
IdleConns int `json:"idleConns,omitempty"`
AcquiredConns int `json:"acquiredConns,omitempty"`
MaxConns int `json:"maxConns,omitempty"`
}
PoolInfo exposes non-sensitive pool configuration used by the application. Note: sensitive information (passwords) is intentionally omitted.
type ProcessInfo ¶
type ProcessInfo struct {
PID int `json:"pid"`
Hostname string `json:"hostname,omitempty"`
UptimeSeconds int `json:"uptimeSeconds"`
}
ProcessInfo holds process-level diagnostics
type ProjectRouter ¶
func NewProjectRouter ¶
func NewProjectRouter( organizationGroup OrgRouter, projectController *controllers.ProjectController, assetController *controllers.AssetController, dependencyVulnController *controllers.DependencyVulnController, policyController *controllers.PolicyController, releaseController *controllers.ReleaseController, statisticsController *controllers.StatisticsController, webhookIntegration *controllers.WebhookController, projectRepository shared.ProjectRepository, componentController *controllers.ComponentController, ) ProjectRouter
type RuntimeInfo ¶
type RuntimeInfo struct {
GoVersion string `json:"goVersion,omitempty"`
NumGoroutines int `json:"numGoroutines,omitempty"`
Mem MemStats `json:"mem,omitempty"`
}
RuntimeInfo aggregates Go runtime diagnostics
type SessionRouter ¶
func NewSessionRouter ¶
func NewSessionRouter( apiV1Router APIV1Router, adminClient shared.PublicClient, patService shared.PersonalAccessTokenService, externalEntityProviderService shared.ExternalEntityProviderService, 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, gitlabOauth2Integrations map[string]*gitlabint.GitlabOauth2Config, assetVersionRepository shared.AssetVersionRepository, ) SessionRouter
type ShareRouter ¶
type ShareRouter struct {
}
func NewShareRouter ¶
func NewShareRouter(apiV1Router APIV1Router, orgRepository shared.OrganizationRepository, projectRepository shared.ProjectRepository, assetRepository shared.AssetRepository, assetVersionRepository shared.AssetVersionRepository, artifactRepository shared.ArtifactRepository, assetVersionController *controllers.AssetVersionController, ) ShareRouter
type VulnDBRouter ¶
func NewVulnDBRouter ¶
func NewVulnDBRouter(apiV1Router APIV1Router, vulndbController *controllers.VulnDBController) VulnDBRouter
Source Files
¶
Click to show internal directories.
Click to hide internal directories.