Documentation
¶
Index ¶
- func GetTestTokens() map[string]string
- type AnalyzePackageRequest
- type BatchAnalyzeRequest
- type BatchVulnerabilityScanRequest
- type ConfigureConnectorRequest
- type CreateScheduleRequest
- type DiscoverRepositoriesRequest
- type DiscoverRepositoriesResponse
- type EnterpriseHandler
- func (h *EnterpriseHandler) CheckConnectorHealth(c *gin.Context)
- func (h *EnterpriseHandler) ConfigureConnector(c *gin.Context)
- func (h *EnterpriseHandler) CreateSchedule(c *gin.Context)
- func (h *EnterpriseHandler) DeleteSchedule(c *gin.Context)
- func (h *EnterpriseHandler) DiscoverRepositories(c *gin.Context)
- func (h *EnterpriseHandler) ExportResults(c *gin.Context)
- func (h *EnterpriseHandler) GetDashboard(c *gin.Context)
- func (h *EnterpriseHandler) GetRepository(c *gin.Context)
- func (h *EnterpriseHandler) GetSARIFReport(c *gin.Context)
- func (h *EnterpriseHandler) GetScanResults(c *gin.Context)
- func (h *EnterpriseHandler) GetScanStatus(c *gin.Context)
- func (h *EnterpriseHandler) ListConnectors(c *gin.Context)
- func (h *EnterpriseHandler) ListRepositories(c *gin.Context)
- func (h *EnterpriseHandler) ListSchedules(c *gin.Context)
- func (h *EnterpriseHandler) RegisterRoutes(router *gin.Engine)
- func (h *EnterpriseHandler) ScanBulkRepositories(c *gin.Context)
- func (h *EnterpriseHandler) ScanOrganization(c *gin.Context)
- func (h *EnterpriseHandler) ScanSingleRepository(c *gin.Context)
- func (h *EnterpriseHandler) TriggerSchedule(c *gin.Context)
- func (h *EnterpriseHandler) UpdateSchedule(c *gin.Context)
- type EnterpriseHandlers
- func (eh *EnterpriseHandlers) ApproveViolation(c *gin.Context)
- func (eh *EnterpriseHandlers) CheckUserPermission(c *gin.Context)
- func (eh *EnterpriseHandlers) CreatePolicy(c *gin.Context)
- func (eh *EnterpriseHandlers) CreatePolicyFromTemplate(c *gin.Context)
- func (eh *EnterpriseHandlers) CreateRole(c *gin.Context)
- func (eh *EnterpriseHandlers) DeletePolicy(c *gin.Context)
- func (eh *EnterpriseHandlers) DeleteRole(c *gin.Context)
- func (eh *EnterpriseHandlers) EvaluateAndEnforce(c *gin.Context)
- func (eh *EnterpriseHandlers) EvaluatePolicy(c *gin.Context)
- func (eh *EnterpriseHandlers) GetEnforcementSettings(c *gin.Context)
- func (eh *EnterpriseHandlers) GetPolicy(c *gin.Context)
- func (eh *EnterpriseHandlers) GetPolicyTemplate(c *gin.Context)
- func (eh *EnterpriseHandlers) GetRole(c *gin.Context)
- func (eh *EnterpriseHandlers) GetUserPermissions(c *gin.Context)
- func (eh *EnterpriseHandlers) GetViolation(c *gin.Context)
- func (eh *EnterpriseHandlers) ListPolicies(c *gin.Context)
- func (eh *EnterpriseHandlers) ListPolicyTemplates(c *gin.Context)
- func (eh *EnterpriseHandlers) ListRoles(c *gin.Context)
- func (eh *EnterpriseHandlers) ListViolations(c *gin.Context)
- func (eh *EnterpriseHandlers) RegisterRoutes(router *gin.RouterGroup)
- func (eh *EnterpriseHandlers) RejectViolation(c *gin.Context)
- func (eh *EnterpriseHandlers) UpdateEnforcementSettings(c *gin.Context)
- func (eh *EnterpriseHandlers) UpdatePolicy(c *gin.Context)
- func (eh *EnterpriseHandlers) UpdateRole(c *gin.Context)
- type JWTClaims
- type JWTHeader
- type JWTValidator
- type Logger
- type MLPredictionRequest
- type RateLimiter
- type ScanBulkRepositoriesRequest
- type ScanOrganizationRequest
- type ScanSingleRepositoryRequest
- type Server
- type SupplyChainAPI
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTestTokens ¶
GetTestTokens returns a map of test tokens for development/testing
Types ¶
type AnalyzePackageRequest ¶
type AnalyzePackageRequest struct {
Ecosystem string `json:"ecosystem" binding:"required"`
Name string `json:"name" binding:"required"`
Version string `json:"version,omitempty"`
Options struct {
IncludeML bool `json:"include_ml,omitempty"`
IncludeVulns bool `json:"include_vulnerabilities,omitempty"`
IncludeDependencies bool `json:"include_dependencies,omitempty"`
} `json:"options,omitempty"`
}
AnalyzePackageRequest represents a package analysis request
type BatchAnalyzeRequest ¶
type BatchAnalyzeRequest struct {
Packages []AnalyzePackageRequest `json:"packages" binding:"required"`
Options struct {
Parallel bool `json:"parallel,omitempty"`
IncludeML bool `json:"include_ml,omitempty"`
IncludeVulns bool `json:"include_vulnerabilities,omitempty"`
IncludeDependencies bool `json:"include_dependencies,omitempty"`
} `json:"options,omitempty"`
}
BatchAnalyzeRequest represents a batch analysis request
type BatchVulnerabilityScanRequest ¶
type BatchVulnerabilityScanRequest struct {
Packages []AnalyzePackageRequest `json:"packages" binding:"required"`
}
BatchVulnerabilityScanRequest represents a batch vulnerability scan request
type ConfigureConnectorRequest ¶
type ConfigureConnectorRequest struct {
Config repository.PlatformConfig `json:"config"`
}
ConfigureConnectorRequest represents a connector configuration request
type CreateScheduleRequest ¶
type CreateScheduleRequest struct {
Name string `json:"name"`
Description string `json:"description"`
Schedule string `json:"schedule"`
Targets []orchestrator.ScanTarget `json:"targets"`
Output []orchestrator.OutputConfig `json:"output"`
Policies []orchestrator.PolicyConfig `json:"policies"`
Enabled bool `json:"enabled"`
}
CreateScheduleRequest represents a schedule creation request
type DiscoverRepositoriesRequest ¶
type DiscoverRepositoriesRequest struct {
Platforms map[string]*repository.PlatformConfig `json:"platforms"`
Filter *repository.RepositoryFilter `json:"filter"`
}
DiscoverRepositoriesRequest represents a repository discovery request
type DiscoverRepositoriesResponse ¶
type DiscoverRepositoriesResponse struct {
Repositories []*repository.Repository `json:"repositories"`
Count int `json:"count"`
Platforms []string `json:"platforms"`
Duration string `json:"duration"`
}
DiscoverRepositoriesResponse represents a repository discovery response
type EnterpriseHandler ¶
type EnterpriseHandler struct {
// contains filtered or unexported fields
}
EnterpriseHandler handles enterprise repository scanning endpoints
func NewEnterpriseHandler ¶
func NewEnterpriseHandler(repoManager *repository.Manager, scheduler *orchestrator.ScanScheduler) *EnterpriseHandler
NewEnterpriseHandler creates a new enterprise handler
func (*EnterpriseHandler) CheckConnectorHealth ¶
func (h *EnterpriseHandler) CheckConnectorHealth(c *gin.Context)
CheckConnectorHealth checks the health of a platform connector
func (*EnterpriseHandler) ConfigureConnector ¶
func (h *EnterpriseHandler) ConfigureConnector(c *gin.Context)
ConfigureConnector configures a platform connector
func (*EnterpriseHandler) CreateSchedule ¶
func (h *EnterpriseHandler) CreateSchedule(c *gin.Context)
CreateSchedule creates a new scan schedule
func (*EnterpriseHandler) DeleteSchedule ¶
func (h *EnterpriseHandler) DeleteSchedule(c *gin.Context)
DeleteSchedule deletes a scan schedule
func (*EnterpriseHandler) DiscoverRepositories ¶
func (h *EnterpriseHandler) DiscoverRepositories(c *gin.Context)
DiscoverRepositories discovers repositories across platforms
func (*EnterpriseHandler) ExportResults ¶
func (h *EnterpriseHandler) ExportResults(c *gin.Context)
ExportResults exports scan results in various formats
func (*EnterpriseHandler) GetDashboard ¶
func (h *EnterpriseHandler) GetDashboard(c *gin.Context)
GetDashboard returns executive dashboard data
func (*EnterpriseHandler) GetRepository ¶
func (h *EnterpriseHandler) GetRepository(c *gin.Context)
GetRepository returns repository information
func (*EnterpriseHandler) GetSARIFReport ¶
func (h *EnterpriseHandler) GetSARIFReport(c *gin.Context)
GetSARIFReport returns SARIF format report
func (*EnterpriseHandler) GetScanResults ¶
func (h *EnterpriseHandler) GetScanResults(c *gin.Context)
GetScanResults returns the results of a scan
func (*EnterpriseHandler) GetScanStatus ¶
func (h *EnterpriseHandler) GetScanStatus(c *gin.Context)
GetScanStatus returns the status of a scan
func (*EnterpriseHandler) ListConnectors ¶
func (h *EnterpriseHandler) ListConnectors(c *gin.Context)
ListConnectors lists all configured connectors
func (*EnterpriseHandler) ListRepositories ¶
func (h *EnterpriseHandler) ListRepositories(c *gin.Context)
ListRepositories lists repositories with optional filtering
func (*EnterpriseHandler) ListSchedules ¶
func (h *EnterpriseHandler) ListSchedules(c *gin.Context)
ListSchedules lists all scan schedules
func (*EnterpriseHandler) RegisterRoutes ¶
func (h *EnterpriseHandler) RegisterRoutes(router *gin.Engine)
RegisterRoutes registers enterprise API routes
func (*EnterpriseHandler) ScanBulkRepositories ¶
func (h *EnterpriseHandler) ScanBulkRepositories(c *gin.Context)
ScanBulkRepositories scans multiple repositories
func (*EnterpriseHandler) ScanOrganization ¶
func (h *EnterpriseHandler) ScanOrganization(c *gin.Context)
ScanOrganization scans all repositories in an organization
func (*EnterpriseHandler) ScanSingleRepository ¶
func (h *EnterpriseHandler) ScanSingleRepository(c *gin.Context)
ScanSingleRepository scans a single repository
func (*EnterpriseHandler) TriggerSchedule ¶
func (h *EnterpriseHandler) TriggerSchedule(c *gin.Context)
TriggerSchedule manually triggers a scheduled scan
func (*EnterpriseHandler) UpdateSchedule ¶
func (h *EnterpriseHandler) UpdateSchedule(c *gin.Context)
UpdateSchedule updates an existing schedule
type EnterpriseHandlers ¶
type EnterpriseHandlers struct {
// contains filtered or unexported fields
}
EnterpriseHandlers provides HTTP handlers for enterprise features
func NewEnterpriseHandlers ¶
func NewEnterpriseHandlers(policyManager *auth.EnterprisePolicyManager, rbacEngine *auth.RBACEngine, authMiddleware *auth.AuthorizationMiddleware, logger Logger) *EnterpriseHandlers
NewEnterpriseHandlers creates new enterprise handlers
func (*EnterpriseHandlers) ApproveViolation ¶
func (eh *EnterpriseHandlers) ApproveViolation(c *gin.Context)
ApproveViolation handles POST /api/v1/enterprise/approvals/violations/{id}/approve
func (*EnterpriseHandlers) CheckUserPermission ¶
func (eh *EnterpriseHandlers) CheckUserPermission(c *gin.Context)
CheckUserPermission handles POST /api/v1/enterprise/rbac/users/{userId}/check-permission
func (*EnterpriseHandlers) CreatePolicy ¶
func (eh *EnterpriseHandlers) CreatePolicy(c *gin.Context)
CreatePolicy handles POST /api/v1/enterprise/policies
func (*EnterpriseHandlers) CreatePolicyFromTemplate ¶
func (eh *EnterpriseHandlers) CreatePolicyFromTemplate(c *gin.Context)
CreatePolicyFromTemplate handles POST /api/v1/enterprise/policy-templates/{id}/create-policy
func (*EnterpriseHandlers) CreateRole ¶
func (eh *EnterpriseHandlers) CreateRole(c *gin.Context)
CreateRole handles POST /api/v1/enterprise/rbac/roles
func (*EnterpriseHandlers) DeletePolicy ¶
func (eh *EnterpriseHandlers) DeletePolicy(c *gin.Context)
DeletePolicy handles DELETE /api/v1/enterprise/policies/{id}
func (*EnterpriseHandlers) DeleteRole ¶
func (eh *EnterpriseHandlers) DeleteRole(c *gin.Context)
DeleteRole handles DELETE /api/v1/enterprise/rbac/roles/{id}
func (*EnterpriseHandlers) EvaluateAndEnforce ¶
func (eh *EnterpriseHandlers) EvaluateAndEnforce(c *gin.Context)
EvaluateAndEnforce handles POST /api/v1/enterprise/enforcement/evaluate
func (*EnterpriseHandlers) EvaluatePolicy ¶
func (eh *EnterpriseHandlers) EvaluatePolicy(c *gin.Context)
EvaluatePolicy handles POST /api/v1/enterprise/policies/{id}/evaluate
func (*EnterpriseHandlers) GetEnforcementSettings ¶
func (eh *EnterpriseHandlers) GetEnforcementSettings(c *gin.Context)
GetEnforcementSettings handles GET /api/v1/enterprise/enforcement/settings
func (*EnterpriseHandlers) GetPolicy ¶
func (eh *EnterpriseHandlers) GetPolicy(c *gin.Context)
GetPolicy handles GET /api/v1/enterprise/policies/{id}
func (*EnterpriseHandlers) GetPolicyTemplate ¶
func (eh *EnterpriseHandlers) GetPolicyTemplate(c *gin.Context)
GetPolicyTemplate handles GET /api/v1/enterprise/policy-templates/{id}
func (*EnterpriseHandlers) GetRole ¶
func (eh *EnterpriseHandlers) GetRole(c *gin.Context)
GetRole handles GET /api/v1/enterprise/rbac/roles/{id}
func (*EnterpriseHandlers) GetUserPermissions ¶
func (eh *EnterpriseHandlers) GetUserPermissions(c *gin.Context)
GetUserPermissions handles GET /api/v1/enterprise/rbac/users/{userId}/permissions
func (*EnterpriseHandlers) GetViolation ¶
func (eh *EnterpriseHandlers) GetViolation(c *gin.Context)
GetViolation handles GET /api/v1/enterprise/approvals/violations/{id}
func (*EnterpriseHandlers) ListPolicies ¶
func (eh *EnterpriseHandlers) ListPolicies(c *gin.Context)
ListPolicies handles GET /api/v1/enterprise/policies
func (*EnterpriseHandlers) ListPolicyTemplates ¶
func (eh *EnterpriseHandlers) ListPolicyTemplates(c *gin.Context)
ListPolicyTemplates handles GET /api/v1/enterprise/policy-templates
func (*EnterpriseHandlers) ListRoles ¶
func (eh *EnterpriseHandlers) ListRoles(c *gin.Context)
ListRoles handles GET /api/v1/enterprise/rbac/roles
func (*EnterpriseHandlers) ListViolations ¶
func (eh *EnterpriseHandlers) ListViolations(c *gin.Context)
ListViolations handles GET /api/v1/enterprise/approvals/violations
func (*EnterpriseHandlers) RegisterRoutes ¶
func (eh *EnterpriseHandlers) RegisterRoutes(router *gin.RouterGroup)
RegisterRoutes registers enterprise API routes
func (*EnterpriseHandlers) RejectViolation ¶
func (eh *EnterpriseHandlers) RejectViolation(c *gin.Context)
RejectViolation handles POST /api/v1/enterprise/approvals/violations/{id}/reject
func (*EnterpriseHandlers) UpdateEnforcementSettings ¶
func (eh *EnterpriseHandlers) UpdateEnforcementSettings(c *gin.Context)
UpdateEnforcementSettings handles PUT /api/v1/enterprise/enforcement/settings
func (*EnterpriseHandlers) UpdatePolicy ¶
func (eh *EnterpriseHandlers) UpdatePolicy(c *gin.Context)
UpdatePolicy handles PUT /api/v1/enterprise/policies/{id}
func (*EnterpriseHandlers) UpdateRole ¶
func (eh *EnterpriseHandlers) UpdateRole(c *gin.Context)
UpdateRole handles PUT /api/v1/enterprise/rbac/roles/{id}
type JWTClaims ¶
type JWTClaims struct {
Subject string `json:"sub"`
Name string `json:"name"`
Role string `json:"role"`
IssuedAt int64 `json:"iat"`
ExpiresAt int64 `json:"exp"`
Issuer string `json:"iss"`
}
JWTClaims represents the claims in a JWT token
type JWTValidator ¶
type JWTValidator struct {
// contains filtered or unexported fields
}
JWTValidator provides JWT token validation functionality
func NewJWTValidator ¶
func NewJWTValidator(secretKey, issuer string) *JWTValidator
NewJWTValidator creates a new JWT validator
func (*JWTValidator) GenerateToken ¶
func (v *JWTValidator) GenerateToken(subject, name, role string, expirationHours int) (string, error)
GenerateToken generates a new JWT token for the given claims
func (*JWTValidator) ValidateToken ¶
func (v *JWTValidator) ValidateToken(tokenString string) (*JWTClaims, error)
ValidateToken validates a JWT token and returns the claims
type Logger ¶
type Logger interface {
Info(msg string, fields ...interface{})
Warn(msg string, fields ...interface{})
Error(msg string, fields ...interface{})
Debug(msg string, fields ...interface{})
}
Logger interface for handlers
type MLPredictionRequest ¶
type MLPredictionRequest struct {
Package types.Package `json:"package" binding:"required"`
Features []float64 `json:"features,omitempty"`
}
MLPredictionRequest represents an ML prediction request
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter represents a rate limiter for API requests
func NewRateLimiter ¶
func NewRateLimiter(requestsPerSecond int, burstSize int) *RateLimiter
NewRateLimiter creates a new rate limiter
func (*RateLimiter) Allow ¶
func (rl *RateLimiter) Allow(key string) bool
Allow checks if a request is allowed for the given key
type ScanBulkRepositoriesRequest ¶
type ScanBulkRepositoriesRequest struct {
Repositories []ScanSingleRepositoryRequest `json:"repositories"`
Options repository.ScanOptions `json:"default_options"`
}
ScanBulkRepositoriesRequest represents a bulk repository scan request
type ScanOrganizationRequest ¶
type ScanOrganizationRequest struct {
Platform string `json:"platform"`
Organization string `json:"organization"`
Filter *repository.RepositoryFilter `json:"filter"`
Options repository.ScanOptions `json:"options"`
}
ScanOrganizationRequest represents an organization scan request
type ScanSingleRepositoryRequest ¶
type ScanSingleRepositoryRequest struct {
Platform string `json:"platform"`
Owner string `json:"owner"`
Repository string `json:"repository"`
Branch string `json:"branch,omitempty"`
Options repository.ScanOptions `json:"options"`
}
ScanSingleRepositoryRequest represents a single repository scan request
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents the REST API server
func NewServer ¶
func NewServer(cfg config.RESTAPIConfig, mlPipeline *ml.MLPipeline, analyzer *analyzer.Analyzer) *Server
NewServer creates a new REST API server
func NewServerWithEnterprise ¶
func NewServerWithEnterprise(cfg config.RESTAPIConfig, mlPipeline *ml.MLPipeline, analyzer *analyzer.Analyzer, enterpriseHandlers *EnterpriseHandlers) *Server
NewServerWithEnterprise creates a new REST API server with optional enterprise features
type SupplyChainAPI ¶
type SupplyChainAPI struct {
// contains filtered or unexported fields
}
SupplyChainAPI handles supply chain security endpoints
func NewSupplyChainAPI ¶
func NewSupplyChainAPI(scanner *scanner.Scanner, cfg *config.Config, logger *logger.Logger) *SupplyChainAPI
NewSupplyChainAPI creates a new supply chain API handler
func (*SupplyChainAPI) RegisterRoutes ¶
func (sc *SupplyChainAPI) RegisterRoutes(router *gin.RouterGroup)
RegisterRoutes registers supply chain API routes