router

package
v1.0.0-rc.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2026 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type APIV1Router

type APIV1Router struct {
	*echo.Group
}

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

type ArtifactRouter struct {
	*echo.Group
}

func NewArtifactRouter

func NewArtifactRouter(
	assetVersionGroup AssetVersionRouter,
	assetVersionController *controllers.AssetVersionController,
	artifactController *controllers.ArtifactController,
	artifactRepository shared.ArtifactRepository,
) ArtifactRouter

type AssetRouter

type AssetRouter struct {
	*echo.Group
}

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

type AssetVersionRouter struct {
	*echo.Group
}

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

type DependencyProxyRouter struct {
	*echo.Group
}

func NewDependencyProxyRouter

func NewDependencyProxyRouter(
	apiV1Group APIV1Router,
	controller *controllers.DependencyProxyController,
) DependencyProxyRouter

type DependencyVulnRouter

type DependencyVulnRouter struct {
	*echo.Group
}

func NewDependencyVulnRouter

func NewDependencyVulnRouter(
	assetVersionGroup AssetVersionRouter,
	dependencyVulnController *controllers.DependencyVulnController,
	vulnEventController *controllers.VulnEventController,
) DependencyVulnRouter

type FirstPartyVulnRouter

type FirstPartyVulnRouter struct {
	*echo.Group
}

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

type LicenseRiskRouter struct {
	*echo.Group
}

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

type OrgRouter struct {
	*echo.Group
}

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

type PatRouter struct {
	*echo.Group
}

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

type ProjectRouter struct {
	*echo.Group
}

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

type SessionRouter struct {
	*echo.Group
}

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 {
	*echo.Group
}

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

type VulnDBRouter struct {
	Group *echo.Group
}

func NewVulnDBRouter

func NewVulnDBRouter(apiV1Router APIV1Router, vulndbController *controllers.VulnDBController) VulnDBRouter

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL