Documentation
¶
Overview ¶
Package web provides the web UI layer for usulnet.
Index ¶
- Constants
- Variables
- func BindForm(r *http.Request, dst any) string
- func BindFormFields(r *http.Request, dst any) (string, map[string]string)
- func CalculateScoreFromIssues(issues []IssueView) int
- func ContainerStateIcon(state string) string
- func EmptyStateCatalogBackupVerify() components.EmptyStateData
- func EmptyStateCatalogBackups() components.EmptyStateData
- func EmptyStateCatalogCalendar() components.EmptyStateData
- func EmptyStateCatalogCrontab() components.EmptyStateData
- func EmptyStateCatalogDNS() components.EmptyStateData
- func EmptyStateCatalogFirewall() components.EmptyStateData
- func EmptyStateCatalogImageBuilder() components.EmptyStateData
- func EmptyStateCatalogMarketplace() components.EmptyStateData
- func EmptyStateCatalogProxy() components.EmptyStateData
- func EmptyStateCatalogRollback() components.EmptyStateData
- func EmptyStateCatalogSSLObservatory() components.EmptyStateData
- func EmptyStateCatalogWireGuard() components.EmptyStateData
- func ExtractStackName(labels map[string]string) string
- func FormatPortMappings(ports []PortView) string
- func GenerateCSRFToken() string
- func GetActiveHostIDFromContext(ctx context.Context) string
- func GetCSRFTokenFromContext(ctx context.Context) string
- func GetCatalogCategories() []string
- func GetQueryParam(r *http.Request, key string, defaultValue string) string
- func GetQueryParamInt(r *http.Request, key string, defaultValue int) int
- func GetScopeFromContext(ctx context.Context) *models.ResourceScope
- func GetThemeFromContext(ctx context.Context) string
- func IsInternalNetwork(name string) bool
- func MaxRequestBody(maxBytes int64) func(http.Handler) http.Handler
- func NetworkDriverIcon(driver string) string
- func NoCache(next http.Handler) http.Handler
- func OnboardingRequired(svc onboardingChecker) func(http.Handler) http.Handler
- func PreferencesMiddleware(loader PreferencesLoader) func(http.Handler) http.Handler
- func ReconSeverityClass(severity string) string
- func RecordAccessEvent(...)
- func RecoverPanic(handler *Handler) func(http.Handler) http.Handler
- func RegisterBackupVerifyRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterCalendarRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterCrontabRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterDNSRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterDockerEngineRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterEgressRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterFirewallRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterFrontendRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterImageBuilderRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterMarketplaceRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterReconRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterRollbackRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterSSLObservatoryRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterWireGuardRoutes(r chi.Router, h *Handler, m *Middleware)
- func RegisterYARARoutes(r chi.Router, h *Handler, m *Middleware)
- func ScoreToGrade(score int) string
- func SecureHeaders(next http.Handler) http.Handler
- func SetAuditDBService(svc *auditsvc.Service)
- func SetFlash(w http.ResponseWriter, r *http.Request, sessionStore SessionStore, ...) error
- func ToTemplContainerDetailData(p *PageData, c *ContainerView, tab string) containers.ContainerDetailData
- func ToTemplContainerFilesData(p *PageData, c *ContainerView, path string) containers.ContainerFilesData
- func ToTemplContainerInspectData(p *PageData, c *ContainerView, inspectJSON string) containers.ContainerInspectData
- func ToTemplContainerLogsData(p *PageData, c *ContainerView, tail int, since string, follow bool) containers.ContainerLogsData
- func ToTemplContainerSettingsData(p *PageData, c *ContainerView, networks []string, ...) containers.ContainerSettingsData
- func ToTemplContainerStatsData(p *PageData, c *ContainerView) containers.ContainerStatsData
- func ToTemplContainerTerminalData(p *PageData, c *ContainerView, shell string) containers.ContainerTerminalData
- func ToTemplContainersListData(p *PageData, containersList []ContainerView) containers.ContainersListData
- func ToTemplDashboardData(p *PageData, containersList []ContainerView, eventsList []EventView, ...) pages.DashboardData
- func ToTemplImagesListData(p *PageData, imagesList []ImageView, totalSize int64, ...) images.ImagesListData
- func ToTemplLoginData(p *PageData, error, username, returnURL string, ldapEnabled, oauthEnabled bool, ...) pages.LoginData
- func ToTemplNetworksListData(p *PageData, networksList []NetworkView, filters networks.NetworkFilters) networks.NetworksListData
- func ToTemplPageData(p *PageData) layouts.PageData
- func ToTemplSecurityContainerData(p *PageData, scan *SecurityScanView, issues []IssueView) securitytmpl.ContainerSecurityData
- func ToTemplSecurityListData(p *PageData, overview *SecurityOverviewData, ...) securitytmpl.SecurityData
- func ToTemplSecurityTrendsData(p *PageData, trends *SecurityTrendsViewData) securitytmpl.TrendsData
- func ToTemplUpdatesListData(p *PageData, available []UpdateView, history []UpdateHistoryView) updatestmpl.UpdatesData
- func ToTemplVolumesListData(p *PageData, volumesList []VolumeView, totalSize int64, ...) volumes.VolumesListData
- func VolumeDriverIcon(driver string) string
- func WebSocketRateLimit() func(http.Handler) http.Handler
- func WithUserInfo(ctx context.Context, info *UserInfo) context.Context
- type AccessListClientView
- type AccessListDetailView
- type AccessListItemView
- type AccessListView
- type AckRecorder
- type AlertsService
- type AuditLogView
- type AuthService
- type AutoDeployRepo
- type BackupCreateInput
- type BackupEncryptor
- type BackupScheduleInput
- type BackupScheduleView
- type BackupService
- type BackupStatsView
- type BackupStorageView
- type BackupView
- type BreadcrumbItem
- type BulkOperationResult
- type BulkOperationResults
- type CaptureService
- type CatalogApp
- type CatalogField
- type CatalogFieldType
- type CertificateView
- type CompliancePolicyRecord
- type ComplianceRepo
- type ComplianceViolationRecord
- type Config
- type ConfigService
- type ConfigVarView
- type ContainerCreateInput
- type ContainerFileContentView
- type ContainerFileView
- type ContainerSecurityView
- type ContainerService
- type ContainerSettingsDetails
- type ContainerStatsData
- type ContainerTemplateRecord
- type ContainerTemplateRepo
- type ContainerTrendViewData
- type ContainerView
- type ContextKey
- type CookieConfig
- type CreateTerminalSessionInput
- type CustomLogUploadRepository
- type DatabaseProber
- type DatabaseService
- type DateFormat
- type DeadHostView
- type DeployService
- type DockerInfoView
- type Encryptor
- type EnvView
- type EventService
- type EventView
- type FlashMessage
- type GitOpsDeploymentRecord
- type GitOpsPipelineRecord
- type GitOpsRepo
- type GitService
- type GiteaService
- type GlobalStats
- type GuacdConfig
- type Handler
- func (h *Handler) ACLCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ACLDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ACLEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ACLListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ACLNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ACLUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APIHostBrowse(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APIHostDeleteFile(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APIHostDownloadFile(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APIHostMkdir(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APIHostReadFile(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APITerminalSessionGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APITerminalSessionList(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APITerminalSessionsActive(w http.ResponseWriter, r *http.Request)
- func (h *Handler) APITerminalSessionsByTarget(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AboutTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AccessAuditExport(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AccessAuditSessionRevoke(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AccessAuditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AgentDeployStatusJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AgentDeployStatusTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AgentDeployTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertDisable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertEnable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertEventAck(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertSilenceCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertSilenceDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AlertsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AnsibleInventory(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AnsibleInventoryDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AnsibleInventoryParse(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AnsibleInventoryUpload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AuditListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoDeployCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoDeployDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoUpdatePoliciesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoUpdatePolicyCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoUpdatePolicyDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) AutoUpdatePolicyToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupDownload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupRestore(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupScheduleCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupScheduleDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupScheduleRun(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupSchedulesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyRunTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyScheduleCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyScheduleDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyScheduleListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupVerifyScheduleNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BackupsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BulkOpsAction(w http.ResponseWriter, r *http.Request)
- func (h *Handler) BulkOpsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CalendarUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertCreateCustom(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertCreateLE(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertNewCustomTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertNewLETempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CertRenew(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangeDetailAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangeExportCSV(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangeListAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangeResourceAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangeStatsAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ChangesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CheatSheet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CheatSheetCustomCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CheatSheetCustomDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceControlUpdateStatus(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceEvidenceCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceEvidenceList(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkAssess(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkAssessments(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkControls(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkReport(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkSeed(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworkStatus(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworksPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceFrameworksTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CompliancePolicyCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CompliancePolicyDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CompliancePolicyToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceScan(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceViolationAcknowledge(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceViolationExempt(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ComplianceViolationResolve(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigExport(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigImport(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigSync(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigTemplateCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigTemplateUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigVarCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigVarDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConfigVarUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ConnectionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBrowseAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkKill(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkPause(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkRestart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkStart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkStop(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerBulkUnpause(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerCreateSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerDeleteFileAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerDownloadFileAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerExecTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerFilesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerInspectTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerKill(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerLogsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerMkdirAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerPause(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerReadFileAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerRename(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerRestart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerRowPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerSettingsSummary(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerSettingsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerSettingsUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerStart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerStatsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerStop(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerTemplateCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerTemplateDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerTemplateDeploy(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerTemplatesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerUnpause(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainerWriteFileAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainersPartialTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ContainersTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CostOptApplyAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CostOptDismissAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CostOptStatsAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CostOptTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabRunNowTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabToggleTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CrontabUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) CustomDashboardsPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSACMEDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSACMEProcessTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSACMETempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSAuditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProviderUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSProvidersTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSRecordCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSRecordDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSRecordNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSRecordsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DNSSupportedTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardLayoutCreateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardLayoutDeleteJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardLayoutGetJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardLayoutUpdateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardLayoutsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardWidgetCreateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardWidgetDeleteJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardWidgetUpdateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DashboardWidgetsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseBrowserTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseConnectionCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseConnectionDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseConnectionTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseConnectionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseQueryExecute(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseQueryTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DatabaseWriteModeToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeadCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeadDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeadListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeadNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeleteAccount(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeleteAllSessions(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DeleteSession(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DependenciesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DockerEngineApplyTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DockerEngineEditorTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DockerEngineHistoryTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DockerEngineRestoreTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DriftAcceptAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DriftDetailAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DriftRemediateAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DriftStatsAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) DriftTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EditorHub(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EditorMonaco(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EditorNvim(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EgressCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EgressDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EgressListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvDashboardJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvDestroy(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvExtendTTL(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvLogsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvProvision(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvStop(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EphemeralEnvsPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EventsPartialTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) EventsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ExportUserData(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallApplyTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallAuditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallSyncTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) FirewallUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitCreateBranch(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitCreateConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitCreateIssue(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitCreatePR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitCreateRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitDeleteBranch(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitDeleteConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitDeleteRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitEditRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitFileContent(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitFileSave(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitGetCommit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitGetIssue(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitGetLatestRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitGetPR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListBranches(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListCommits(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListIssues(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListPRs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListReleases(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListTags(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitMergePR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitOpsPipelineCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitOpsPipelineDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitOpsPipelineDeploy(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitOpsPipelineToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitOpsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitRepoDetail(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitRepoFiles(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConfigCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConfigDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConfigGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConfigToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConfigsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConflictResolve(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncConflictsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncEventsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncRepos(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncStatsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitSyncTrigger(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitTemplates(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GitTestConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaAddCollaborator(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCancelActionRun(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCompare(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateBranch(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateCommitStatus(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateDeployKey(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateHook(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateIssue(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateIssueComment(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreatePR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreatePRReview(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaCreateTag(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteBranch(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteDeployKey(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteHook(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteIssueComment(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteReleaseAsset(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaDeleteTag(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaEditHook(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaEditIssue(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaEditPR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaEditRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaEditRepo(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaFileContent(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaFileSave(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetActionJobLogs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetActionRun(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetCollaboratorPermission(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetCombinedStatus(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetCommit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetDeployKey(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetDiff(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetHook(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetIssue(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetLatestRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetPR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetPRDiff(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetRelease(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaGetReleaseByTag(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaIssuesPage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListActionJobs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListActionRuns(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListBranches(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListCollaborators(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListCommitStatuses(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListCommitsFiltered(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListDeployKeys(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListHooks(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListIssueComments(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListIssues(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListLabels(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListMilestones(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListPRReviews(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListPRs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListReleaseAssets(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListReleases(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListRepoTeams(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListTags(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaListWorkflows(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaMergePR(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaPullRequestsPage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaRemoveCollaborator(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaRepoDetail(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaRepoFiles(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaRerunActionRun(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaSyncRepos(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaTemplates(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaTestConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaTestHook(w http.ResponseWriter, r *http.Request)
- func (h *Handler) GiteaWebhookReceiver(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HealthCheck(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HealthDashTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostCreateFormTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostEditFormTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostFilesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostRemoveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostTerminalTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) HostsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderTemplateCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderTemplateDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderTemplateListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageBuilderTemplateNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImagePull(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImagePullSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageSignSeed(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageSignaturesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageSigningPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageTrustPoliciesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImageVerifyJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImagesPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImagesPrune(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ImagesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) InstanceBackup(w http.ResponseWriter, r *http.Request)
- func (h *Handler) InstanceRestore(w http.ResponseWriter, r *http.Request)
- func (h *Handler) JobCancel(w http.ResponseWriter, r *http.Request)
- func (h *Handler) JobDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) JobDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) JobsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPBrowserTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionSettingsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionSettingsUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPConnectionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderDisable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderEnable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProviderUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPProvidersTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPSearchExecute(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPSearchTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LDAPWriteModeToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LicenseActivate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LicenseDeactivate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LicenseTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LifecyclePoliciesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LifecyclePolicyCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LifecyclePolicyDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LifecyclePolicyExecute(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LifecyclePolicyToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogManagement(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogSearchAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogSearchJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogStatsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogUpload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogUploadAnalyze(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogUploadDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LoginPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LoginSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) Logout(w http.ResponseWriter, r *http.Request)
- func (h *Handler) LogsPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MaintenanceCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MaintenanceDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MaintenanceExecute(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MaintenanceTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MaintenanceToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestBuilderPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestComponentsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestGenerateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSeedJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionSave(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestSessionsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplateCategoriesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplateCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplateDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplateGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplateRender(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestTemplatesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ManifestValidateJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceInstallCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceInstallTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceInstalledTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceReviewCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceReviewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceSubmitCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceSubmitTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MarketplaceUninstallTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MetadataDownloadStripped(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MetadataJobDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MetadataUploadSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MetadataUploadTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringContainerPage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringContainersPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringHistoryJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringHostPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringPage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MonitoringTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkConnect(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkDisconnect(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworkRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworksPrune(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NetworksTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationChannelCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationChannelDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationChannelEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationChannelTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationChannelsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationMarkRead(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationsMarkAllRead(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationsPartialTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) NotificationsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthCallbackHandler(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthLogin(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderDisable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderEnable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProviderUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OAuthProvidersTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OPAPoliciesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OPAPoliciesPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OPAPolicyEvaluateContainer(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OPAPolicySeed(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OnboardingCompleted() bool
- func (h *Handler) OnboardingDoneTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OnboardingFinish(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OnboardingSvc() OnboardingService
- func (h *Handler) OnboardingWelcomeSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OnboardingWelcomeTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OpenAPIDocsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) OverviewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCapture(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureAnalyze(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureDetail(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureDownload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureStart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PacketCaptureStop(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PortsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProfilePage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProfileTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) PrometheusMetrics(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyHostCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyHostDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyHostDisableTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyHostEnableTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyHostUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxySetupDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxySetupSaveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxySetupTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxySetupTestTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxySyncTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ProxyTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) QuotaCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) QuotaDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) QuotaToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) QuotasTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionDownload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPConnectionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RDPSessionTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconAck(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconConnectorsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconDashboardTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconReportsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconScanDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconScanFindingsPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconScanProgressPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconScansListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconTargetDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ReconTargetsListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RedirUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistriesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryBrowse(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryRepoTags(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryTagManifest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RegistryUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RenderError(w http.ResponseWriter, r *http.Request, code int, title, message string)
- func (h *Handler) RenderErrorTempl(w http.ResponseWriter, r *http.Request, code int, title, message string)
- func (h *Handler) RenderServiceNotConfigured(w http.ResponseWriter, r *http.Request, serviceName, configHint string)
- func (h *Handler) ResetPreferences(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleDisable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleEnable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RoleUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RolesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackAuditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackDryRunGetTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackDryRunPostTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackExecutionDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackExecutionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RollbackUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RunbookCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RunbookDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RunbookExecute(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RunbooksTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeDashboardJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeEventAcknowledge(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeEventsJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeMonitorAll(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeRulesJSON(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeSecurityPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) RuntimeSeedRules(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPBrowserTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPDownload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPListFiles(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPMkdir(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPRename(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SFTPUpload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionDuplicate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionTerminalTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionTest(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHConnectionsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeyCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeyDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeyDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeyDownload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeyNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHKeysTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHTerminalTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHTunnelCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHTunnelDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHTunnelToggle(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSHTunnelsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLDashboardTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLScanAllTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLScanTargetTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SSLTargetUpdateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ScheduledJobCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ScheduledJobDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ScheduledJobRunNow(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ScheduledJobsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SearchPartialTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecretCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecretDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecretRotate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecretsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityContainerTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityIssueIgnore(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityIssueIgnoreTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityIssueResolve(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityIssueResolveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityReportTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityScan(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityScanContainer(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityScanContainerTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityScanTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SecurityTrendsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SessionReplayData(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SessionReplayPage(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SettingsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SettingsUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ShortcutsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetGet(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetList(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetPaths(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SnippetUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackCatalogDeploySubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackCatalogDeployTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackCatalogTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackDeploy(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackRestart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackStart(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StackStop(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StacksTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StatsPartial(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageAuditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageBrowserTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageBucketsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageCreateBucket(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageCreateConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageCreateFolder(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageDeleteBucket(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageDeleteConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageDeleteObject(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageDownloadObject(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StoragePresignUpload(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageTestConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageUpdateConnection(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StorageUploadObject(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) StreamUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmClusterTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmConvertContainerTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmInitTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmLeaveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmNodeRemoveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmServiceCreateFormTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmServiceCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmServiceRemoveTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwarmServiceScaleTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) SwitchHost(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TOTPDisableSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TOTPSetupPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TOTPVerifyPageTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TOTPVerifySetupSubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TOTPVerifySubmit(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamAddMember(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamGrantPermission(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamRemoveMember(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamRevokePermission(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TeamsTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TerminalHubTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TerminalPickerTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ToggleTheme(w http.ResponseWriter, r *http.Request)
- func (h *Handler) TopologyTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateApplyTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateBatch(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateChangelog(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateManual(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdatePassword(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdatePreferences(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateProfile(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateRollbackTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdateSidebarPrefs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdatesCheckTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UpdatesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserDisable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserEditTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserEnable(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UserUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) UsersTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumeBrowseAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumeCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumeDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumeNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumeRemove(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumesPrune(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VolumesTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnAcceptRisk(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnAcknowledge(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnAssign(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnAssignAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnDashboardAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnMgmtTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnResolve(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnResolveAPI(w http.ResponseWriter, r *http.Request)
- func (h *Handler) VulnScan(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSCapture(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSContainerExec(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSContainerLogs(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSContainerStats(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSEditorNvim(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSEvents(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSHostExec(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSJobProgress(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSMetrics(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSRDPExec(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WSSSHExec(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WebhookCreate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WebhookDelete(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WebhookUpdate(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WebhooksTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardMeshTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardPeerCreateTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardPeerDeleteTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardPeerDetailTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardPeerListTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WireGuardPeerNewTempl(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WsMonitoringContainer(w http.ResponseWriter, r *http.Request)
- func (h *Handler) WsMonitoringStats(w http.ResponseWriter, r *http.Request)
- func (h *Handler) YARAScanTempl(w http.ResponseWriter, r *http.Request)
- type HandlerDeps
- type HistoryResponse
- type HostFileContent
- type HostFileEntry
- type HostMetricsView
- type HostService
- type HostStatsData
- type HostTerminalConfig
- type HostView
- type ImageService
- type ImageView
- type IssueView
- type JobView
- type LDAPBrowserService
- type LDAPConfigRepository
- type LicenseProviderWeb
- type LifecycleHistoryRecord
- type LifecyclePolicyRecord
- type LifecycleRepo
- type LogLineCount
- type Logger
- type MaintenanceRepo
- type MaintenanceWindowRecord
- type ManagedSecretRecord
- type ManagedSecretRepo
- type MetadataArtifactView
- type MetadataCreateJobInput
- type MetadataField
- type MetadataJobDetailView
- type MetadataJobView
- type MetadataService
- type MetadataUploadedFile
- type MetricsServiceFull
- type Middleware
- func (m *Middleware) AdminRequired(next http.Handler) http.Handler
- func (m *Middleware) AuthRequired(next http.Handler) http.Handler
- func (m *Middleware) CSRFMiddleware(next http.Handler) http.Handler
- func (m *Middleware) FlashMiddleware(next http.Handler) http.Handler
- func (m *Middleware) InjectCommonData(next http.Handler) http.Handler
- func (m *Middleware) OperatorRequired(next http.Handler) http.Handler
- func (m *Middleware) RequireAnyPermission(permissions ...string) func(http.Handler) http.Handler
- func (m *Middleware) RequirePermission(permission string) func(http.Handler) http.Handler
- func (m *Middleware) ResourceScopeMiddleware(next http.Handler) http.Handler
- func (m *Middleware) RoleRequired(allowedRoles ...string) func(http.Handler) http.Handler
- func (m *Middleware) SetRoleProvider(rp RoleProvider)
- func (m *Middleware) SetScopeProvider(sp ScopeProvider)
- func (m *Middleware) ThemeMiddleware(next http.Handler) http.Handler
- type MiddlewareConfig
- type MonitoringPageResponse
- type MountView
- type NATSProber
- type NetworkAttachmentView
- type NetworkService
- type NetworkView
- type NotificationConfigRepository
- type NotificationSender
- type NullSessionStore
- type OAuthConfigRepository
- type OnboardingService
- type PageData
- type PaginationData
- type PortAnalysisView
- type PortView
- type PreferencesLoader
- type PreferencesRepository
- type ProxyBackendSupport
- type ProxyHostView
- type ProxyService
- type RDPService
- type ReconConnectorView
- type ReconDashboardData
- type ReconFindingFilter
- type ReconFindingView
- type ReconOwnershipProofView
- type ReconProfileView
- type ReconReportView
- type ReconSandboxToolGroup
- type ReconScanDetailView
- type ReconScanFilter
- type ReconScanSummaryView
- type ReconScanView
- type ReconService
- type ReconTargetDetailView
- type ReconTargetView
- type RedirectionHostView
- type RedisProber
- type RefreshInterval
- type RegistryRepo
- type ResourceQuotaRecord
- type ResourceQuotaRepo
- type RoleProvider
- type RoleRepository
- type RunbookRepo
- type SSHService
- type SSHTerminalMessage
- type ScopeProvider
- type SecurityOverviewData
- type SecurityScanView
- type SecurityService
- type SecurityTrendsViewData
- type SelectOption
- type ServiceRegistry
- func (r *ServiceRegistry) Alerts() AlertsService
- func (r *ServiceRegistry) Auth() AuthService
- func (r *ServiceRegistry) BackupVerify() *backupverifysvc.Service
- func (r *ServiceRegistry) Backups() BackupService
- func (r *ServiceRegistry) Calendar() *calendarsvc.Service
- func (r *ServiceRegistry) Config() ConfigService
- func (r *ServiceRegistry) Containers() ContainerService
- func (r *ServiceRegistry) Crontab() *crontabsvc.Service
- func (r *ServiceRegistry) DockerEngine() *dockerconfigsvc.Service
- func (r *ServiceRegistry) Egress() *egresssvc.Service
- func (r *ServiceRegistry) Events() EventService
- func (r *ServiceRegistry) Firewall() *firewallsvc.Service
- func (r *ServiceRegistry) Git() GitService
- func (r *ServiceRegistry) Gitea() GiteaService
- func (r *ServiceRegistry) Hosts() HostService
- func (r *ServiceRegistry) ImageBuilder() *imagebuildersvc.Service
- func (r *ServiceRegistry) Images() ImageService
- func (r *ServiceRegistry) Marketplace() *marketplacesvc.Service
- func (r *ServiceRegistry) Metadata() MetadataService
- func (r *ServiceRegistry) Metrics() MetricsServiceFull
- func (r *ServiceRegistry) Networks() NetworkService
- func (r *ServiceRegistry) Proxy() ProxyService
- func (r *ServiceRegistry) Recon() ReconService
- func (r *ServiceRegistry) Rollback() *rollbacksvc.Service
- func (r *ServiceRegistry) SSH() *sshsvc.Service
- func (r *ServiceRegistry) SSLObservatory() *sslobssvc.Service
- func (r *ServiceRegistry) Scheduler() *scheduler.Scheduler
- func (r *ServiceRegistry) Security() SecurityService
- func (r *ServiceRegistry) Stacks() StackService
- func (r *ServiceRegistry) Stats() StatsService
- func (r *ServiceRegistry) Storage() StorageService
- func (r *ServiceRegistry) Teams() TeamService
- func (r *ServiceRegistry) Updates() UpdateService
- func (r *ServiceRegistry) Users() UserService
- func (r *ServiceRegistry) Volumes() VolumeService
- func (r *ServiceRegistry) WireGuard() *wireguardsvc.Service
- func (r *ServiceRegistry) YARA() *yarasvc.Service
- type ServiceRegistryDeps
- type Services
- type Session
- type SessionRepository
- type SessionStore
- type ShortcutsService
- type SnippetRepository
- type StackService
- type StackServiceView
- type StackVersionView
- type StackView
- type StatsService
- type StorageAuditView
- type StorageBucketView
- type StorageConnectionView
- type StorageObjectView
- type StorageService
- type StreamView
- type SystemInfoView
- type TeamService
- type TemplateHelpers
- func (h *TemplateHelpers) Add(a, b int) int
- func (h *TemplateHelpers) BuildURL(base string, params map[string]string) string
- func (h *TemplateHelpers) Contains(slice []string, item string) bool
- func (h *TemplateHelpers) Div(a, b int) int
- func (h *TemplateHelpers) First(items []string) string
- func (h *TemplateHelpers) FormatBytes(bytes int64) string
- func (h *TemplateHelpers) FormatDuration(seconds int) string
- func (h *TemplateHelpers) GradeColor(grade string) string
- func (h *TemplateHelpers) HealthColor(health string) string
- func (h *TemplateHelpers) Join(items []string, sep string) string
- func (h *TemplateHelpers) MaskSecret(value string) string
- func (h *TemplateHelpers) Mul(a, b int) int
- func (h *TemplateHelpers) Percentage(value float64, decimals int) string
- func (h *TemplateHelpers) Pluralize(count int, singular, plural string) string
- func (h *TemplateHelpers) PortDisplay(hostIP string, hostPort, containerPort int, protocol string) string
- func (h *TemplateHelpers) QueryEscape(s string) string
- func (h *TemplateHelpers) SafeHTML(s string) template.HTML
- func (h *TemplateHelpers) SafeURL(s string) template.URL
- func (h *TemplateHelpers) Seq(start, end int) []int
- func (h *TemplateHelpers) SeverityBadge(severity string) string
- func (h *TemplateHelpers) SeverityColor(severity string) string
- func (h *TemplateHelpers) ShortID(id string) string
- func (h *TemplateHelpers) ShortImage(image string) string
- func (h *TemplateHelpers) Split(s, sep string) []string
- func (h *TemplateHelpers) StatusBadge(status string) string
- func (h *TemplateHelpers) StatusColor(status string) string
- func (h *TemplateHelpers) Sub(a, b int) int
- func (h *TemplateHelpers) TimeAgo(t time.Time) string
- func (h *TemplateHelpers) TruncateString(s string, maxLen int) string
- func (h *TemplateHelpers) YesNo(b bool) string
- type TerminalSession
- type TerminalSessionListOptions
- type TerminalSessionRepository
- type Theme
- type TimeFormat
- type TopologyData
- type TopologyEdge
- type TopologyNode
- type TrackedVulnRecord
- type TrackedVulnRepo
- type TrendPointView
- type UpdateHistoryView
- type UpdatePolicyView
- type UpdateService
- type UpdateView
- type UserContext
- type UserInfo
- type UserPreferences
- type UserRepository
- type UserService
- type UserStatsView
- type UserView
- type ViewMode
- type VolumeFileEntry
- type VolumeService
- type VolumeView
- type WSEventMessage
- type WSExecMessage
- type WSJobMessage
- type WSLogMessage
- type WSMessage
- type WSMetricsMessage
- type WSStatsMessage
- type WebSessionStore
- func (s *WebSessionStore) CreateSession(ctx context.Context, userID, username, role, userAgent, ipAddress string) (*Session, error)
- func (s *WebSessionStore) Delete(r *http.Request, w http.ResponseWriter, name string) error
- func (s *WebSessionStore) Get(r *http.Request, name string) (*Session, error)
- func (s *WebSessionStore) Save(r *http.Request, w http.ResponseWriter, session *Session) error
- type WebhookRepo
Constants ¶
const ( CookieSession = "usulnet_session" CookieTheme = "usulnet_theme" CookieOAuthState = "oauth_state" CookieOAuthProvider = "oauth_provider" )
Cookie name constants used throughout the web layer.
const ReconLegalNotice = `The Privacy & Recon module performs passive and light-active OSINT against ` +
`identifiers you control. Before enabling it you must acknowledge:
1. You will only scan targets you own or are explicitly authorized to assess.
2. Recon jobs may contact third-party services; opt-in connectors (HIBP, ` +
`Shodan, etc.) require your own API keys and are off by default.
3. Findings may include personal data subject to GDPR or similar regimes. ` +
`usulnet stores them encrypted at rest with a tenant retention TTL.
4. Every scan is recorded in the recon audit log, including the ` +
`acting user and the target.
5. Active offensive testing (exploits, port floods, credential probing) is ` +
`out of scope. The module is passive + light-active recon only.
By acknowledging you accept responsibility for the targets you submit and ` +
`agree that misuse may be logged and audited.`
ReconLegalNotice is the text shown on the acknowledgement modal before the recon module is usable. It is loaded inline so the package has no run-time file-system dependency. See docs/recon.md §7.4.
Variables ¶
var ErrServiceNotConfigured = errors.New("service not configured")
ErrServiceNotConfigured is returned when an operation is attempted on a service that is not configured.
Functions ¶
func BindForm ¶
BindForm parses r.Form into dst and validates the resulting struct.
dst must be a non-nil pointer to a struct. Each exported field is mapped from a form value by the `form:"<name>"` tag (falling back to a snake_case version of the field name); validation rules are taken from the `validate:"..."` tag and dispatched through the internal/pkg/validator package so the error messages stay consistent with the JSON API layer.
Returns "" on success. On any failure (form parse error, decode error, validation error) returns a single human-readable message suitable for setFlash. Use BindFormFields when the caller needs the per-field error map (e.g. to re-render the form with hints next to each input).
func BindFormFields ¶
BindFormFields is the field-level variant of BindForm. On a validation failure it returns both the flattened flash message and the field→message map; on a parse / decode failure only the message (the map is nil because the validator never ran).
The field names in the returned map are the form-key names — the same identifiers the HTML inputs use — even when the struct does not carry an explicit json tag. The internal/pkg/validator package resolves field names from json tags and would otherwise leak the Go field name (PascalCase) into flash messages.
func CalculateScoreFromIssues ¶
CalculateScoreFromIssues calculates security score from issues.
func ContainerStateIcon ¶
ContainerStateIcon returns the icon class for container state.
func EmptyStateCatalogBackupVerify ¶
func EmptyStateCatalogBackupVerify() components.EmptyStateData
EmptyStateCatalogBackupVerify returns the empty-state for /backup-verify.
func EmptyStateCatalogBackups ¶
func EmptyStateCatalogBackups() components.EmptyStateData
EmptyStateCatalogBackups returns the empty-state for /backups.
func EmptyStateCatalogCalendar ¶
func EmptyStateCatalogCalendar() components.EmptyStateData
EmptyStateCatalogCalendar returns the empty-state for /calendar.
func EmptyStateCatalogCrontab ¶
func EmptyStateCatalogCrontab() components.EmptyStateData
EmptyStateCatalogCrontab returns the empty-state for /crontab.
func EmptyStateCatalogDNS ¶
func EmptyStateCatalogDNS() components.EmptyStateData
EmptyStateCatalogDNS returns the empty-state for /dns.
func EmptyStateCatalogFirewall ¶
func EmptyStateCatalogFirewall() components.EmptyStateData
EmptyStateCatalogFirewall returns the empty-state for /firewall.
func EmptyStateCatalogImageBuilder ¶
func EmptyStateCatalogImageBuilder() components.EmptyStateData
EmptyStateCatalogImageBuilder returns the empty-state for /image-builder.
func EmptyStateCatalogMarketplace ¶
func EmptyStateCatalogMarketplace() components.EmptyStateData
EmptyStateCatalogMarketplace returns the empty-state for /marketplace (shown when the catalogue exists but is filtered to zero results).
func EmptyStateCatalogProxy ¶
func EmptyStateCatalogProxy() components.EmptyStateData
EmptyStateCatalogProxy returns the empty-state for /proxy (shown when no NPM connection is configured; replaces the bare "NPM Not Connected" message from v26.5.1).
func EmptyStateCatalogRollback ¶
func EmptyStateCatalogRollback() components.EmptyStateData
EmptyStateCatalogRollback returns the empty-state for /rollback.
func EmptyStateCatalogSSLObservatory ¶
func EmptyStateCatalogSSLObservatory() components.EmptyStateData
EmptyStateCatalogSSLObservatory returns the empty-state for /ssl.
func EmptyStateCatalogWireGuard ¶
func EmptyStateCatalogWireGuard() components.EmptyStateData
EmptyStateCatalogWireGuard returns the empty-state for /wireguard.
func ExtractStackName ¶
ExtractStackName extracts stack name from container labels.
func FormatPortMappings ¶
FormatPortMappings formats a list of port mappings for display.
func GenerateCSRFToken ¶
func GenerateCSRFToken() string
GenerateCSRFToken generates a random CSRF token.
func GetActiveHostIDFromContext ¶
GetActiveHostIDFromContext extracts the active host ID from the request context.
func GetCSRFTokenFromContext ¶
GetCSRFTokenFromContext extracts CSRF token from request context.
func GetCatalogCategories ¶
func GetCatalogCategories() []string
GetCatalogCategories returns unique categories.
func GetQueryParam ¶
GetQueryParam extracts query parameter from request.
func GetQueryParamInt ¶
GetQueryParamInt extracts integer query parameter.
func GetScopeFromContext ¶
func GetScopeFromContext(ctx context.Context) *models.ResourceScope
GetScopeFromContext extracts the ResourceScope from context. Returns a non-filtering scope if not present.
func GetThemeFromContext ¶
GetThemeFromContext extracts theme from request context.
func IsInternalNetwork ¶
IsInternalNetwork checks if a network name is an internal Docker network.
func MaxRequestBody ¶
MaxRequestBody limits the size of request bodies to prevent memory exhaustion. Uses http.MaxBytesReader which returns a proper 413 error when exceeded.
func NetworkDriverIcon ¶
NetworkDriverIcon returns icon class for network driver.
func OnboardingRequired ¶
OnboardingRequired redirects an unfinished admin to /onboarding/welcome before any other page renders. Non-admins and finished installs pass through unchanged.
Mounts AFTER AuthRequired so the user is already in context. Mounts BEFORE the per-route permission middleware so the redirect happens before any RBAC denial — an admin trying to view /containers during onboarding ends up on the wizard, not a "Forbidden" page.
func PreferencesMiddleware ¶
func PreferencesMiddleware(loader PreferencesLoader) func(http.Handler) http.Handler
PreferencesMiddleware loads user preferences for the authenticated user and injects them into the request context. All downstream handlers and templates can then access preferences without additional DB calls.
Must be placed AFTER authentication middleware (needs UserInfo in context).
func ReconSeverityClass ¶
ReconSeverityClass returns the Tailwind classes for a severity badge, matching the palette used by the security and vulnerability pages.
func RecordAccessEvent ¶
func RecordAccessEvent(userName, userID, action, resourceType, resourceID, resourceName, details, ip, ua string, success bool, errMsg string)
RecordAccessEvent records an access event to the in-memory audit log and persists it to the database via the audit service if configured.
func RecoverPanic ¶
RecoverPanic middleware recovers from panics and shows error page.
func RegisterBackupVerifyRoutes ¶
func RegisterBackupVerifyRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterBackupVerifyRoutes attaches the backup verification web UI to the authenticated frontend tree. v26.2.7 mounted these on the top-level router; v26.5.1 keeps the same paths but groups them so session-cookie + CSRF middleware applies.
All routes degrade gracefully when the service is nil (handler renders a "not configured" page) so this registration is unconditional — no edition gate, in line with principles.md §2.
func RegisterCalendarRoutes ¶
func RegisterCalendarRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterCalendarRoutes attaches the calendar web UI to the authenticated frontend tree. All routes degrade gracefully when the calendar service is nil (handler_calendar.go renders a "not configured" error page), so registration is unconditional — no feature flag.
func RegisterCrontabRoutes ¶
func RegisterCrontabRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterCrontabRoutes attaches the crontab web UI to the authenticated frontend tree. v26.2.7 mounted these on the top-level router; v26.5.1 keeps the same paths but groups them so the session-cookie + CSRF middleware applied to the frontend group also gates the crontab surface.
All routes degrade gracefully when the crontab service is nil (handler_crontab.go renders a "not configured" error page) so this registration is unconditional — no feature flag.
func RegisterDNSRoutes ¶
func RegisterDNSRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterDNSRoutes attaches the DNS provider web UI to the authenticated frontend tree. v26.5.1 nil-safe pattern: registration is unconditional and the handler renders a "not configured" page when wiring is missing (typically because the data encryption key is unset).
func RegisterDockerEngineRoutes ¶
func RegisterDockerEngineRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterDockerEngineRoutes attaches the Docker engine config editor to the authenticated frontend tree.
Read endpoints (editor + history) require security:view; the destructive endpoints (apply + restore) require admin because they touch the host's daemon configuration and can take dockerd offline.
Registration is unconditional — the handler renders an "unavailable" page when the service is nil. No biz gate, no edition check.
func RegisterEgressRoutes ¶
func RegisterEgressRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterEgressRoutes attaches the L7 egress filter web UI to the authenticated frontend tree. Same nil-safe pattern as the rest of the v26.5.x ports: the handler renders a "not configured" page when the service is unwired, so registration is unconditional — there is no feature flag.
Routes:
GET /egress — list policies + recent denies
POST /egress — create a policy (form-encoded)
POST /egress/{id}/delete — delete a policy (form-encoded)
Reads sit under security:view; mutations sit under security:scan — matches the firewall module so role grants compose cleanly.
func RegisterFirewallRoutes ¶
func RegisterFirewallRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterFirewallRoutes attaches the firewall web UI to the authenticated frontend tree. v26.2.7 mounted these on the top-level router; v26.5.1 keeps the same paths but groups them so the session-cookie + CSRF middleware applied to the frontend group also gates the firewall surface.
All routes degrade gracefully when the firewall service is nil (handler_firewall.go renders a "not configured" error page) so this registration is unconditional — no feature flag.
func RegisterFrontendRoutes ¶
func RegisterFrontendRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterFrontendRoutes registers all web routes using Templ handlers. All routes are wrapped in a Group so that Use() calls do not conflict with routes already registered on the parent router (API routes).
func RegisterImageBuilderRoutes ¶
func RegisterImageBuilderRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterImageBuilderRoutes attaches the image builder web UI to the authenticated frontend tree. Per the v26.5.1 "one AGPL build" principle, registration is unconditional — when the service is nil the handler renders a "not configured" page instead.
RBAC: read endpoints require `image:view`, mutations require `image:create` (the same permissions that gate the existing image pull/build buttons in the regular images view).
func RegisterMarketplaceRoutes ¶
func RegisterMarketplaceRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterMarketplaceRoutes attaches the marketplace web UI to the authenticated frontend tree. All routes degrade gracefully when the marketplace service is nil (the handler renders a "not configured" page), so registration is unconditional — no biz gate.
func RegisterReconRoutes ¶
func RegisterReconRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterReconRoutes attaches the v26.5.0 recon and metadata routes to the given router. It is called from RegisterFrontendRoutes inside the authenticated group so the existing auth/CSRF middleware applies.
The recon module is feature-flag gated at the service layer: when the service is nil or IsEnabled() returns false the handlers themselves short-circuit with 404, matching the API behavior described in docs/v26.5/technical-notes.md "Feature flag".
func RegisterRollbackRoutes ¶
func RegisterRollbackRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterRollbackRoutes attaches the automated rollback web UI to the authenticated frontend tree.
All routes degrade gracefully when the rollback service is nil (handler_rollback.go renders a "not configured" error page). The registration is unconditional — no feature flag, no biz gate.
func RegisterSSLObservatoryRoutes ¶
func RegisterSSLObservatoryRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterSSLObservatoryRoutes attaches the SSL observatory web UI to the authenticated frontend tree. v26.5.1 keeps the same paths as v26.2.7 but drops the biz gate — the registration is unconditional.
All routes degrade gracefully when the service is nil (handler_ssl_observatory.go renders a "not configured" error page).
func RegisterWireGuardRoutes ¶
func RegisterWireGuardRoutes(r chi.Router, h *Handler, m *Middleware)
RegisterWireGuardRoutes attaches the WireGuard web UI to the authenticated frontend tree. v26.2.7 mounted these on the top-level router; v26.5.1 keeps the same paths but applies per-method RBAC.
Registration is unconditional — when the service is nil the handler renders a "not configured" page (typically because the data encryption key is unset). No biz/edition gating.
func RegisterYARARoutes ¶
func RegisterYARARoutes(r chi.Router, h *Handler, m *Middleware)
RegisterYARARoutes attaches the YARA scanner UI to the authenticated frontend tree. Same nil-safe pattern as the rest of the v26.5.x modules: the handler renders a "not configured" page when the service is unwired (typically because the toolkit image isn't available), so registration is unconditional.
Routes:
GET /scan/yara — render form, list rulesets POST /scan/yara — submit scan, render result inline
Both share a single handler because the result is request-scoped — there's no DB row to redirect to, and HTMX partial updates would be overkill for a manual on-demand operator action.
Reads + mutations both sit under security:scan (operator+); a scanner is an operator surface, not a viewer one.
func ScoreToGrade ¶
ScoreToGrade converts numeric score to letter grade.
func SecureHeaders ¶
SecureHeaders adds security headers to response.
func SetAuditDBService ¶
SetAuditDBService sets the audit service for database persistence of access events. Called during app startup to wire the persistent audit log.
func SetFlash ¶
func SetFlash(w http.ResponseWriter, r *http.Request, sessionStore SessionStore, sessionName string, msgType, message string) error
SetFlash stores a flash message in the session.
func ToTemplContainerDetailData ¶
func ToTemplContainerDetailData(p *PageData, c *ContainerView, tab string) containers.ContainerDetailData
ToTemplContainerDetailData converts data for container detail page
func ToTemplContainerFilesData ¶
func ToTemplContainerFilesData(p *PageData, c *ContainerView, path string) containers.ContainerFilesData
ToTemplContainerFilesData converts data for container file browser page
func ToTemplContainerInspectData ¶
func ToTemplContainerInspectData(p *PageData, c *ContainerView, inspectJSON string) containers.ContainerInspectData
ToTemplContainerInspectData converts data for container inspect page
func ToTemplContainerLogsData ¶
func ToTemplContainerLogsData(p *PageData, c *ContainerView, tail int, since string, follow bool) containers.ContainerLogsData
ToTemplContainerLogsData converts data for container logs page
func ToTemplContainerSettingsData ¶
func ToTemplContainerSettingsData(p *PageData, c *ContainerView, networks []string, details *ContainerSettingsDetails) containers.ContainerSettingsData
ToTemplContainerSettingsData converts data for container settings page
func ToTemplContainerStatsData ¶
func ToTemplContainerStatsData(p *PageData, c *ContainerView) containers.ContainerStatsData
ToTemplContainerStatsData converts data for container stats page
func ToTemplContainerTerminalData ¶
func ToTemplContainerTerminalData(p *PageData, c *ContainerView, shell string) containers.ContainerTerminalData
ToTemplContainerTerminalData converts data for container terminal page
func ToTemplContainersListData ¶
func ToTemplContainersListData(p *PageData, containersList []ContainerView) containers.ContainersListData
ToTemplContainersListData converts data for containers list page
func ToTemplDashboardData ¶
func ToTemplDashboardData(p *PageData, containersList []ContainerView, eventsList []EventView, sysInfo *SystemInfoView) pages.DashboardData
ToTemplDashboardData converts data for dashboard page
func ToTemplImagesListData ¶
func ToTemplImagesListData(p *PageData, imagesList []ImageView, totalSize int64, filters images.ImageFilters) images.ImagesListData
ToTemplImagesListData converts data for images list page
func ToTemplLoginData ¶
func ToTemplLoginData(p *PageData, error, username, returnURL string, ldapEnabled, oauthEnabled bool, oauthProvider string) pages.LoginData
ToTemplLoginData converts PageData to pages.LoginData
func ToTemplNetworksListData ¶
func ToTemplNetworksListData(p *PageData, networksList []NetworkView, filters networks.NetworkFilters) networks.NetworksListData
ToTemplNetworksListData converts data for networks list page
func ToTemplPageData ¶
ToTemplPageData converts web.PageData to layouts.PageData
func ToTemplSecurityContainerData ¶
func ToTemplSecurityContainerData(p *PageData, scan *SecurityScanView, issues []IssueView) securitytmpl.ContainerSecurityData
ToTemplSecurityContainerData converts scan data for a single container.
func ToTemplSecurityListData ¶
func ToTemplSecurityListData(p *PageData, overview *SecurityOverviewData, containers []ContainerSecurityView, scans []SecurityScanView) securitytmpl.SecurityData
ToTemplSecurityListData converts SecurityOverviewData and containers to template data.
func ToTemplSecurityTrendsData ¶
func ToTemplSecurityTrendsData(p *PageData, trends *SecurityTrendsViewData) securitytmpl.TrendsData
ToTemplUpdatesListData converts UpdateView slices to the template data type. ToTemplSecurityTrendsData converts trends data to the templ template type.
func ToTemplUpdatesListData ¶
func ToTemplUpdatesListData(p *PageData, available []UpdateView, history []UpdateHistoryView) updatestmpl.UpdatesData
func ToTemplVolumesListData ¶
func ToTemplVolumesListData(p *PageData, volumesList []VolumeView, totalSize int64, filters volumes.VolumeFilters) volumes.VolumesListData
ToTemplVolumesListData converts data for volumes list page
func VolumeDriverIcon ¶
VolumeDriverIcon returns icon class for volume driver.
func WebSocketRateLimit ¶
WebSocketRateLimit limits WebSocket connection upgrades to 10 per minute per IP.
Types ¶
type AccessListClientView ¶
type AccessListClientView struct {
Address string `json:"address"`
Directive string `json:"directive"`
}
AccessListClientView for ACL IP rules.
type AccessListDetailView ¶
type AccessListDetailView struct {
ID int `json:"id"`
Name string `json:"name"`
SatisfyAny bool `json:"satisfy_any"`
PassAuth bool `json:"pass_auth"`
Items []AccessListItemView `json:"items"`
Clients []AccessListClientView `json:"clients"`
}
AccessListDetailView includes items and clients.
type AccessListItemView ¶
type AccessListItemView struct {
Username string `json:"username"`
Password string `json:"password"`
}
AccessListItemView for ACL user entries.
type AccessListView ¶
type AccessListView struct {
ID int `json:"id"`
Name string `json:"name"`
SatisfyAny bool `json:"satisfy_any"`
PassAuth bool `json:"pass_auth"`
ItemCount int `json:"item_count"`
ClientCount int `json:"client_count"`
}
AccessListView for NPM access lists.
type AckRecorder ¶
type AckRecorder interface {
IsAcknowledged(ctx context.Context) (bool, error)
Acknowledge(ctx context.Context, actorID *uuid.UUID, ip string) error
}
AckRecorder is the minimal contract the web layer needs to read and write the recon acknowledgement state. internal/api/handlers MemoryAckStore (and any Postgres-backed replacement) satisfies it.
type AlertsService ¶
type AlertsService interface {
ListRules(ctx context.Context, opts models.AlertListOptions) ([]*models.AlertRule, int64, error)
GetRule(ctx context.Context, id uuid.UUID) (*models.AlertRule, error)
CreateRule(ctx context.Context, input models.CreateAlertRuleInput, createdBy *uuid.UUID) (*models.AlertRule, error)
UpdateRule(ctx context.Context, id uuid.UUID, input models.UpdateAlertRuleInput) (*models.AlertRule, error)
DeleteRule(ctx context.Context, id uuid.UUID) error
ListEvents(ctx context.Context, opts models.AlertEventListOptions) ([]*models.AlertEvent, int64, error)
AcknowledgeEvent(ctx context.Context, id uuid.UUID, userID uuid.UUID) error
ListSilences(ctx context.Context) ([]*models.AlertSilence, error)
CreateSilence(ctx context.Context, input models.CreateAlertSilenceInput, createdBy *uuid.UUID) (*models.AlertSilence, error)
DeleteSilence(ctx context.Context, id uuid.UUID) error
GetStats(ctx context.Context) (*models.AlertStats, error)
}
AlertsService is the interface for alert operations.
type AuditLogView ¶
type AuditLogView struct {
ID string `json:"id"`
Operation string `json:"operation"`
ResourceType string `json:"resource_type"`
ResourceID int `json:"resource_id"`
ResourceName string `json:"resource_name"`
UserName string `json:"user_name"`
CreatedAt string `json:"created_at"`
}
AuditLogView for NPM audit log entries.
type AuthService ¶
type AuthService interface {
ValidateSession(ctx context.Context, sessionID string) (*UserContext, error)
GetUserByID(ctx context.Context, userID string) (*UserContext, error)
Login(ctx context.Context, username, password, userAgent, ipAddress string) (*UserContext, error)
VerifyCredentials(ctx context.Context, username, password, userAgent, ipAddress string) (*UserContext, error)
CreateSessionForUser(ctx context.Context, userID, userAgent, ipAddress string) (*UserContext, error)
Logout(ctx context.Context, sessionID string) error
// OAuth SSO
OAuthGetAuthURL(providerName, state string) (string, error)
OAuthCallback(ctx context.Context, providerName, code, userAgent, ipAddress string) (*UserContext, error)
}
AuthService interface for authentication.
type AutoDeployRepo ¶
type AutoDeployRepo interface {
Create(ctx context.Context, rule *models.AutoDeployRule) error
GetByID(ctx context.Context, id uuid.UUID) (*models.AutoDeployRule, error)
List(ctx context.Context) ([]*models.AutoDeployRule, error)
Delete(ctx context.Context, id uuid.UUID) error
MatchRules(ctx context.Context, sourceType, sourceRepo string, branch *string) ([]*models.AutoDeployRule, error)
}
AutoDeployRepo defines the interface for auto-deploy rule persistence.
type BackupCreateInput ¶
type BackupCreateInput struct {
Type string `json:"type"`
TargetID string `json:"target_id"`
TargetName string `json:"target_name"`
Compression string `json:"compression"`
Encrypt bool `json:"encrypt"`
RetentionDays int `json:"retention_days"`
StopContainer bool `json:"stop_container"`
}
BackupCreateInput for creating a backup with full options.
type BackupEncryptor ¶
type BackupEncryptor interface {
Encrypt(data []byte) (string, error)
Decrypt(ciphertext string) ([]byte, error)
}
BackupEncryptor encrypts and decrypts byte data for instance backups. Satisfied directly by *crypto.AESEncryptor.
type BackupScheduleInput ¶
type BackupScheduleInput struct {
Type string `json:"type"`
TargetID string `json:"target_id"`
TargetName string `json:"target_name"`
Schedule string `json:"schedule"`
Compression string `json:"compression"`
Encrypted bool `json:"encrypted"`
RetentionDays int `json:"retention_days"`
MaxBackups int `json:"max_backups"`
}
BackupScheduleInput for creating a backup schedule.
type BackupScheduleView ¶
type BackupScheduleView struct {
ID string `json:"id"`
Type string `json:"type"`
TargetID string `json:"target_id"`
TargetName string `json:"target_name"`
Schedule string `json:"schedule"`
Compression string `json:"compression"`
Encrypted bool `json:"encrypted"`
RetentionDays int `json:"retention_days"`
MaxBackups int `json:"max_backups"`
IsEnabled bool `json:"is_enabled"`
LastRunAt string `json:"last_run_at"`
LastRunStatus string `json:"last_run_status"`
NextRunAt string `json:"next_run_at"`
CreatedAt string `json:"created_at"`
}
BackupScheduleView for schedule list.
type BackupService ¶
type BackupService interface {
List(ctx context.Context, containerID string) ([]BackupView, error)
Get(ctx context.Context, id string) (*BackupView, error)
Create(ctx context.Context, containerID string) (*BackupView, error)
CreateWithOptions(ctx context.Context, opts BackupCreateInput) (*BackupView, error)
Restore(ctx context.Context, id string) error
Remove(ctx context.Context, id string) error
Download(ctx context.Context, id string) (string, error)
DownloadStream(ctx context.Context, id string) (io.ReadCloser, string, int64, error)
GetStats(ctx context.Context) (*BackupStatsView, error)
GetStorageInfo(ctx context.Context) (*BackupStorageView, error)
// Schedules
ListSchedules(ctx context.Context) ([]BackupScheduleView, error)
CreateSchedule(ctx context.Context, input BackupScheduleInput) (*BackupScheduleView, error)
DeleteSchedule(ctx context.Context, id string) error
RunSchedule(ctx context.Context, id string) error
}
type BackupStatsView ¶
type BackupStatsView struct {
TotalBackups int `json:"total_backups"`
CompletedBackups int `json:"completed_backups"`
FailedBackups int `json:"failed_backups"`
TotalSize int64 `json:"total_size"`
TotalSizeHuman string `json:"total_size_human"`
LastBackupAt string `json:"last_backup_at"`
}
BackupStatsView for backup statistics dashboard.
type BackupStorageView ¶
type BackupStorageView struct {
Type string `json:"type"`
Path string `json:"path"`
TotalSpace int64 `json:"total_space"`
TotalSpaceHuman string `json:"total_space_human"`
UsedSpace int64 `json:"used_space"`
UsedSpaceHuman string `json:"used_space_human"`
BackupCount int64 `json:"backup_count"`
UsagePercent float64 `json:"usage_percent"`
}
BackupStorageView for storage info display.
type BackupView ¶
type BackupView struct {
ID string `json:"id"`
HostID string `json:"host_id"`
ContainerID string `json:"container_id"`
ContainerName string `json:"container_name"`
Type string `json:"type"`
Status string `json:"status"`
Trigger string `json:"trigger"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Compression string `json:"compression"`
Encrypted bool `json:"encrypted"`
Verified bool `json:"verified"`
Checksum string `json:"checksum"`
ErrorMessage string `json:"error_message"`
Duration string `json:"duration"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
CompletedAt string `json:"completed_at"`
ExpiresAt string `json:"expires_at"`
Path string `json:"path"`
}
BackupView for backup list/detail.
type BreadcrumbItem ¶
type BreadcrumbItem struct {
Label string `json:"label"`
URL string `json:"url,omitempty"`
Icon string `json:"icon,omitempty"`
}
BreadcrumbItem represents a breadcrumb navigation item.
type BulkOperationResult ¶
BulkOperationResult represents the result of a single container operation.
type BulkOperationResults ¶
type BulkOperationResults struct {
Total int
Successful int
Failed int
Results []BulkOperationResult
}
BulkOperationResults represents the results of a bulk operation.
type CaptureService ¶
type CaptureService interface {
Available() bool
StartCapture(ctx context.Context, userID uuid.UUID, input models.CreateCaptureInput) (*models.PacketCapture, error)
StopCapture(ctx context.Context, id uuid.UUID) error
GetCapture(ctx context.Context, id uuid.UUID) (*models.PacketCapture, error)
ListCaptures(ctx context.Context, userID uuid.UUID) ([]*models.PacketCapture, error)
DeleteCapture(ctx context.Context, id uuid.UUID) error
GetPcapPath(ctx context.Context, id uuid.UUID) (string, error)
AnalyzeCapture(ctx context.Context, id uuid.UUID) (*models.CaptureAnalysis, error)
Cleanup()
}
CaptureService defines the interface for packet capture operations.
type CatalogApp ¶
type CatalogApp struct {
Slug string `json:"slug"`
Name string `json:"name"`
Description string `json:"description"`
Icon string `json:"icon"` // FontAwesome class
IconColor string `json:"icon_color"` // Tailwind color class
Category string `json:"category"`
Version string `json:"version"`
Website string `json:"website"`
Source string `json:"source"` // GitHub URL
Fields []CatalogField `json:"fields"`
ComposeTPL string `json:"-"` // Go template for docker-compose.yml
Notes string `json:"notes,omitempty"`
}
CatalogApp represents an application template in the catalog.
func GetCatalogApp ¶
func GetCatalogApp(slug string) *CatalogApp
GetCatalogApp returns a catalog app by slug, or nil if not found.
func GetCatalogApps ¶
func GetCatalogApps() []CatalogApp
GetCatalogApps returns all available catalog apps.
func (*CatalogApp) GetDefaultValues ¶
func (app *CatalogApp) GetDefaultValues() map[string]string
GetDefaultValues returns a map of field keys to their default values.
func (*CatalogApp) RenderCompose ¶
func (app *CatalogApp) RenderCompose(values map[string]string) string
RenderCompose renders the docker-compose template with the given field values. Uses simple {{KEY}} placeholder replacement (not Go templates, to avoid complexity).
type CatalogField ¶
type CatalogField struct {
Key string `json:"key"`
Label string `json:"label"`
Description string `json:"description"`
Type CatalogFieldType `json:"type"`
Default string `json:"default"`
Required bool `json:"required"`
Options []string `json:"options,omitempty"` // For select type
Placeholder string `json:"placeholder,omitempty"`
Pattern string `json:"pattern,omitempty"` // HTML input pattern
}
CatalogField represents a configurable field in an app template.
type CatalogFieldType ¶
type CatalogFieldType string
CatalogFieldType defines the type of a configuration field.
const ( FieldText CatalogFieldType = "text" FieldPassword CatalogFieldType = "password" FieldNumber CatalogFieldType = "number" FieldSelect CatalogFieldType = "select" FieldCheckbox CatalogFieldType = "checkbox" )
type CertificateView ¶
type CertificateView struct {
ID int `json:"id"`
NiceName string `json:"nice_name"`
Provider string `json:"provider"`
DomainNames []string `json:"domain_names"`
ExpiresOn string `json:"expires_on"`
}
CertificateView for NPM SSL certificates.
type CompliancePolicyRecord ¶
type CompliancePolicyRecord = models.CompliancePolicyRecord
Type aliases pointing to shared models for DB record types.
type ComplianceRepo ¶
type ComplianceRepo interface {
CreatePolicy(ctx context.Context, p *CompliancePolicyRecord) error
GetPolicy(ctx context.Context, id uuid.UUID) (*CompliancePolicyRecord, error)
ListPolicies(ctx context.Context) ([]*CompliancePolicyRecord, error)
DeletePolicy(ctx context.Context, id uuid.UUID) error
TogglePolicy(ctx context.Context, id uuid.UUID) (bool, error)
UpdateLastCheck(ctx context.Context, id uuid.UUID, t time.Time) error
CreateViolation(ctx context.Context, v *ComplianceViolationRecord) error
ListViolations(ctx context.Context, status *string) ([]*ComplianceViolationRecord, error)
UpdateViolationStatus(ctx context.Context, id uuid.UUID, status string, resolvedBy *uuid.UUID) error
ViolationExistsForPolicy(ctx context.Context, policyID uuid.UUID, containerID string) (bool, error)
CountViolationsByPolicy(ctx context.Context, policyID uuid.UUID) (int, error)
}
ComplianceRepo defines the interface for compliance policy persistence.
type ComplianceViolationRecord ¶
type ComplianceViolationRecord = models.ComplianceViolationRecord
type Config ¶
type Config struct {
// StaticPath is the path to static files
StaticPath string
// Version is the application version
Version string
// Debug enables debug mode
Debug bool
}
Config holds web server configuration
type ConfigService ¶
type ConfigService interface {
ListVariables(ctx context.Context, scope, scopeID string) ([]ConfigVarView, error)
GetVariable(ctx context.Context, id string) (*ConfigVarView, error)
CreateVariable(ctx context.Context, v *ConfigVarView) error
UpdateVariable(ctx context.Context, v *ConfigVarView) error
DeleteVariable(ctx context.Context, id string) error
ListTemplates(ctx context.Context) ([]interface{}, error)
CreateTemplate(ctx context.Context, input models.CreateTemplateInput, userID *uuid.UUID) (*models.ConfigTemplate, error)
UpdateTemplate(ctx context.Context, id uuid.UUID, input models.UpdateTemplateInput, userID *uuid.UUID) (*models.ConfigTemplate, error)
GetAuditLogs(ctx context.Context, limit int) ([]interface{}, error)
}
type ConfigVarView ¶
type ConfigVarView struct {
ID string `json:"id"`
Name string `json:"name"`
Value string `json:"value"`
IsSecret bool `json:"is_secret"`
VarType string `json:"var_type"`
Scope string `json:"scope"`
ScopeID string `json:"scope_id"`
UsedBy []string `json:"used_by"`
UsedByCount int `json:"used_by_count"`
UpdatedAt string `json:"updated_at"`
UpdatedBy string `json:"updated_by"`
}
ConfigVarView for config variables.
type ContainerCreateInput ¶
type ContainerCreateInput struct {
Name string
Image string
Ports []string // "hostPort:containerPort" format
Environment string // KEY=value per line
Volumes []string // "source:target" format
Network string
Command string
RestartPolicy string
Privileged bool
AutoRemove bool
}
ContainerCreateInput holds form data for creating a container.
type ContainerFileContentView ¶
type ContainerFileContentView struct {
Path string `json:"path"`
Content string `json:"content"`
Size int64 `json:"size"`
Truncated bool `json:"truncated"`
Binary bool `json:"binary"`
}
ContainerFileContentView for file content display.
type ContainerFileView ¶
type ContainerFileView struct {
Name string `json:"name"`
Path string `json:"path"`
IsDir bool `json:"is_dir"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Mode string `json:"mode"`
ModTime string `json:"mod_time"`
ModTimeAgo string `json:"mod_time_ago"`
Owner string `json:"owner"`
Group string `json:"group"`
LinkTarget string `json:"link_target,omitempty"`
IsSymlink bool `json:"is_symlink"`
}
ContainerFileView for file browser display.
type ContainerSecurityView ¶
type ContainerSecurityView struct {
ID string `json:"id"`
Name string `json:"name"`
Image string `json:"image"`
State string `json:"state"`
HasScan bool `json:"has_scan"`
Score int `json:"score"`
Grade string `json:"grade"`
IssueCount int `json:"issue_count"`
LastScanned string `json:"last_scanned"`
}
ContainerSecurityView represents a container with its security scan status.
type ContainerService ¶
type ContainerService interface {
List(ctx context.Context, filters map[string]string) ([]ContainerView, error)
Get(ctx context.Context, id string) (*ContainerView, error)
Create(ctx context.Context, input *ContainerCreateInput) (string, error)
Start(ctx context.Context, id string) error
Stop(ctx context.Context, id string) error
Restart(ctx context.Context, id string) error
Pause(ctx context.Context, id string) error
Unpause(ctx context.Context, id string) error
Kill(ctx context.Context, id string) error
Remove(ctx context.Context, id string, force bool) error
Rename(ctx context.Context, id, name string) error
GetLogs(ctx context.Context, id string, tail int) ([]string, error)
GetDockerClient(ctx context.Context) (docker.ClientAPI, error)
GetHostID() uuid.UUID
// Bulk operations
BulkStart(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkStop(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkRestart(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkPause(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkUnpause(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkKill(ctx context.Context, containerIDs []string) (*BulkOperationResults, error)
BulkRemove(ctx context.Context, containerIDs []string, force bool) (*BulkOperationResults, error)
// File browser
BrowseFiles(ctx context.Context, containerID, path string) ([]ContainerFileView, error)
ReadFile(ctx context.Context, containerID, path string) (*ContainerFileContentView, error)
WriteFile(ctx context.Context, containerID, path, content string) error
DeleteFile(ctx context.Context, containerID, path string, recursive bool) error
CreateDirectory(ctx context.Context, containerID, path string) error
}
Service interfaces (defined here for compilation, actual implementations in services package)
type ContainerSettingsDetails ¶
type ContainerSettingsDetails struct {
NetworkMode string
Hostname string
Privileged bool
NanoCPUs int64
MemoryLimit int64
RestartPolicy string
CapAdd []string
CapDrop []string
Devices []containers.DeviceSettingInfo
Ports []containers.PortSettingInfo // Port bindings from Docker inspect
}
ContainerSettingsDetails holds extra details from Docker inspect needed for settings
type ContainerStatsData ¶
type ContainerStatsData struct {
ID string `json:"id"`
Name string `json:"name"`
State string `json:"state"`
Health string `json:"health,omitempty"`
CPUPercent float64 `json:"cpu_percent"`
MemoryUsed string `json:"memory_used"`
MemoryLimit string `json:"memory_limit"`
MemoryPercent float64 `json:"memory_percent"`
NetworkRx string `json:"network_rx"`
NetworkTx string `json:"network_tx"`
BlockRead string `json:"block_read"`
BlockWrite string `json:"block_write"`
PIDs int `json:"pids"`
Uptime string `json:"uptime,omitempty"`
}
type ContainerTemplateRecord ¶
type ContainerTemplateRecord = models.ContainerTemplateRecord
type ContainerTemplateRepo ¶
type ContainerTemplateRepo interface {
Create(ctx context.Context, t *ContainerTemplateRecord) error
GetByID(ctx context.Context, id uuid.UUID) (*ContainerTemplateRecord, error)
List(ctx context.Context) ([]*ContainerTemplateRecord, error)
Delete(ctx context.Context, id uuid.UUID) error
IncrementUsage(ctx context.Context, id uuid.UUID) error
GetCategories(ctx context.Context) ([]string, error)
}
ContainerTemplateRepo defines the interface for container template persistence.
type ContainerTrendViewData ¶
type ContainerTrendViewData struct {
Name string `json:"name"`
CurrentScore int `json:"current_score"`
CurrentGrade string `json:"current_grade"`
PreviousScore int `json:"previous_score"`
Change int `json:"change"`
}
ContainerTrendViewData shows trend for a single container.
type ContainerView ¶
type ContainerView struct {
ID string `json:"id"`
ShortID string `json:"short_id"`
HostID string `json:"host_id"`
Name string `json:"name"`
Image string `json:"image"`
ImageShort string `json:"image_short"`
State string `json:"state"`
Status string `json:"status"`
Health string `json:"health"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
Ports []PortView `json:"ports"`
Networks []string `json:"networks"`
NetworkDetails []NetworkAttachmentView `json:"network_details"`
Mounts []MountView `json:"mounts"`
Env []EnvView `json:"env"`
Labels map[string]string `json:"labels"`
Stack string `json:"stack"`
RestartPolicy string `json:"restart_policy"`
CPUPercent float64 `json:"cpu_percent"`
MemoryUsage int64 `json:"memory_usage"`
MemoryLimit int64 `json:"memory_limit"`
MemoryHuman string `json:"memory_human"`
SecurityScore int `json:"security_score"`
SecurityGrade string `json:"security_grade"`
UpdateAvailable bool `json:"update_available"`
Command string `json:"command"`
Entrypoint string `json:"entrypoint"`
}
ContainerView for container list/detail templates.
type ContextKey ¶
type ContextKey string
ContextKey is a custom type for context keys to avoid collisions.
const ( // Context keys ContextKeyUser ContextKey = "user" ContextKeyTheme ContextKey = "theme" ContextKeyRequestID ContextKey = "request_id" ContextKeyCSRFToken ContextKey = "csrf_token" ContextKeyFlash ContextKey = "flash" ContextKeyStats ContextKey = "stats" ContextKeyActiveHost ContextKey = "active_host_id" ContextKeySession ContextKey = "session" )
const ContextKeyRole ContextKey = "user_role"
ContextKeyRole is the context key for the user's role with permissions.
const ContextKeyScope ContextKey = "resource_scope"
ContextKeyScope is the context key for the computed ResourceScope.
type CookieConfig ¶
type CookieConfig struct {
Secure bool // Force Secure flag (overrides TLS auto-detection)
SameSite http.SameSite // SameSite attribute (default Lax)
Domain string // Cookie Domain (empty = browser default)
}
CookieConfig holds session cookie settings wired from app config.
type CreateTerminalSessionInput ¶
type CreateTerminalSessionInput struct {
UserID uuid.UUID
Username string
TargetType string
TargetID string
TargetName string
HostID *uuid.UUID
Shell string
TermCols int
TermRows int
ClientIP string
UserAgent string
}
CreateTerminalSessionInput is the input for creating a terminal session.
type CustomLogUploadRepository ¶
type CustomLogUploadRepository interface {
Create(ctx context.Context, upload *models.CustomLogUpload) error
GetByID(ctx context.Context, id uuid.UUID) (*models.CustomLogUpload, error)
ListByUser(ctx context.Context, userID uuid.UUID) ([]*models.CustomLogUpload, error)
Delete(ctx context.Context, id uuid.UUID) error
}
CustomLogUploadRepository defines the interface for log upload persistence.
type DatabaseProber ¶
type DatabaseProber interface {
Ping(ctx context.Context) error
GetVersion(ctx context.Context) (string, error)
DumpSQL(ctx context.Context) ([]byte, error)
RestoreSQL(ctx context.Context, data []byte) error
}
DatabaseProber provides database connectivity checks and backup operations.
type DatabaseService ¶
type DatabaseService interface {
CreateConnection(ctx context.Context, input models.CreateDatabaseConnectionInput, userID uuid.UUID) (*models.DatabaseConnection, error)
GetConnection(ctx context.Context, id uuid.UUID) (*models.DatabaseConnection, error)
ListConnections(ctx context.Context, userID uuid.UUID) ([]*models.DatabaseConnection, error)
UpdateConnection(ctx context.Context, id uuid.UUID, input models.UpdateDatabaseConnectionInput) error
DeleteConnection(ctx context.Context, id uuid.UUID) error
TestConnection(ctx context.Context, id uuid.UUID) (models.DatabaseTestResulter, error)
ListTables(ctx context.Context, id uuid.UUID) ([]models.DatabaseTable, error)
GetTableColumns(ctx context.Context, id uuid.UUID, tableName string) ([]models.DatabaseColumn, error)
GetTableData(ctx context.Context, id uuid.UUID, tableName string, page, pageSize int) ([]map[string]interface{}, int64, error)
ExecuteQuery(ctx context.Context, id uuid.UUID, query string, writeMode bool) (*models.DatabaseQueryResult, error)
}
DatabaseService interface for managing database connections.
type DateFormat ¶
type DateFormat string
DateFormat represents how dates are displayed.
const ( DateFormatISO DateFormat = "2006-01-02" // ISO 8601 DateFormatEU DateFormat = "02/01/2006" // DD/MM/YYYY DateFormatUS DateFormat = "01/02/2006" // MM/DD/YYYY DateFormatHuman DateFormat = "02 Jan 2006" // 02 Jan 2006 DateFormatFull DateFormat = "Monday, 02 Jan 2006" // Full )
type DeadHostView ¶
type DeadHostView struct {
ID int `json:"id"`
DomainNames []string `json:"domain_names"`
Domain string `json:"domain"`
SSLForced bool `json:"ssl_forced"`
CertID int `json:"cert_id"`
Enabled bool `json:"enabled"`
}
DeadHostView for NPM dead hosts (404).
type DeployService ¶
type DeployService interface {
Deploy(ctx context.Context, req deploy.DeployRequest) (string, error)
GetDeployment(id string) (*deploy.DeployResult, bool)
ListDeployments() []*deploy.DeployResult
}
DeployService defines the interface for agent deployment operations.
type DockerInfoView ¶
type DockerInfoView struct {
ID string
Name string
ServerVersion string
APIVersion string
OS string
OSType string
Architecture string
KernelVersion string
Containers int
ContainersRunning int
ContainersPaused int
ContainersStopped int
Images int
MemTotal int64
NCPU int
DockerRootDir string
StorageDriver string
LoggingDriver string
CgroupDriver string
CgroupVersion string
DefaultRuntime string
SecurityOptions []string
Runtimes []string
Swarm bool
}
DockerInfoView contains Docker daemon information for templates.
type Encryptor ¶
type Encryptor interface {
Encrypt(plaintext string) (string, error)
Decrypt(ciphertext string) (string, error)
}
Encryptor defines the interface for encryption operations.
type EnvView ¶
type EnvView struct {
Key string `json:"key"`
Value string `json:"value"`
IsSecret bool `json:"is_secret"`
}
EnvView for environment variable display.
type EventService ¶
type EventView ¶
type EventView struct {
ID string `json:"id"`
Type string `json:"type"`
Action string `json:"action"`
ActorID string `json:"actor_id"`
ActorName string `json:"actor_name"`
ActorType string `json:"actor_type"`
Message string `json:"message"`
Timestamp time.Time `json:"timestamp"`
TimeHuman string `json:"time_human"`
}
EventView for events list.
type FlashMessage ¶
type FlashMessage struct {
Type string `json:"type"` // success, error, warning, info
Message string `json:"message"`
}
FlashMessage represents a notification.
func GetFlashFromContext ¶
func GetFlashFromContext(ctx context.Context) *FlashMessage
GetFlashFromContext extracts flash message from request context.
type GitOpsDeploymentRecord ¶
type GitOpsDeploymentRecord = models.GitOpsDeploymentRecord
type GitOpsPipelineRecord ¶
type GitOpsPipelineRecord = models.GitOpsPipelineRecord
type GitOpsRepo ¶
type GitOpsRepo interface {
CreatePipeline(ctx context.Context, p *GitOpsPipelineRecord) error
GetPipeline(ctx context.Context, id uuid.UUID) (*GitOpsPipelineRecord, error)
ListPipelines(ctx context.Context) ([]*GitOpsPipelineRecord, error)
DeletePipeline(ctx context.Context, id uuid.UUID) error
TogglePipeline(ctx context.Context, id uuid.UUID) (bool, error)
IncrementDeployCount(ctx context.Context, id uuid.UUID, deployAt time.Time, status string) error
CreateDeployment(ctx context.Context, d *GitOpsDeploymentRecord) error
ListDeployments(ctx context.Context, limit int) ([]*GitOpsDeploymentRecord, error)
}
GitOpsRepo defines the interface for GitOps pipeline persistence.
type GitService ¶
type GitService interface {
CreateConnection(ctx context.Context, input *gitsvc.CreateConnectionInput) (*models.GitConnection, error)
TestConnection(ctx context.Context, id uuid.UUID) (*gitsvc.TestResult, error)
SyncRepositories(ctx context.Context, connID uuid.UUID) (int, error)
DeleteConnection(ctx context.Context, id uuid.UUID) error
}
GitService defines the interface for the unified Git multi-provider service.
type GiteaService ¶
type GiteaService interface {
// Connections
CreateConnection(ctx context.Context, input *gitea.CreateConnectionInput) (*models.GiteaConnection, error)
GetConnection(ctx context.Context, id uuid.UUID) (*models.GiteaConnection, error)
ListConnections(ctx context.Context, hostID uuid.UUID) ([]*models.GiteaConnection, error)
ListAllConnections(ctx context.Context) ([]*models.GiteaConnection, error)
DeleteConnection(ctx context.Context, id uuid.UUID) error
TestConnection(ctx context.Context, id uuid.UUID) (*gitea.TestResult, error)
// Repositories
SyncRepositories(ctx context.Context, connectionID uuid.UUID) (int, error)
ListRepositories(ctx context.Context, connectionID uuid.UUID) ([]*models.GiteaRepository, error)
GetRepository(ctx context.Context, repoID uuid.UUID) (*models.GiteaRepository, error)
// Tier 1: Repository management
CreateRepository(ctx context.Context, input *gitea.CreateRepositoryInput) (*models.GiteaRepository, error)
EditRepository(ctx context.Context, input *gitea.EditRepositoryInput) (*models.GiteaRepository, error)
DeleteRepository(ctx context.Context, repoID uuid.UUID) error
// File operations
ListFiles(ctx context.Context, repoID uuid.UUID, path, ref string) ([]gitea.APIContentEntry, error)
GetFileContent(ctx context.Context, repoID uuid.UUID, path, ref string) ([]byte, error)
UpdateFile(ctx context.Context, repoID uuid.UUID, path, ref, content, message string) error
// Tier 1: Branches
ListBranches(ctx context.Context, repoID uuid.UUID) ([]gitea.APIBranch, error)
GetBranch(ctx context.Context, repoID uuid.UUID, branch string) (*gitea.APIBranch, error)
CreateBranch(ctx context.Context, repoID uuid.UUID, newBranch, sourceBranch string) (*gitea.APIBranch, error)
DeleteBranch(ctx context.Context, repoID uuid.UUID, branch string) error
// Tier 1: Tags
ListTags(ctx context.Context, repoID uuid.UUID, page, limit int) ([]gitea.APITag, error)
CreateTag(ctx context.Context, repoID uuid.UUID, tagName, target, message string) (*gitea.APITag, error)
DeleteTag(ctx context.Context, repoID uuid.UUID, tag string) error
// Tier 1: Commits & Diff
ListCommits(ctx context.Context, repoID uuid.UUID, ref string, limit int) ([]gitea.APICommitListItem, error)
ListCommitsFiltered(ctx context.Context, repoID uuid.UUID, opts gitea.CommitListOptions) ([]gitea.APICommitListItem, error)
GetCommit(ctx context.Context, repoID uuid.UUID, sha string) (*gitea.APICommitListItem, error)
Compare(ctx context.Context, repoID uuid.UUID, base, head string) (*gitea.APICompare, error)
GetDiff(ctx context.Context, repoID uuid.UUID, base, head string) ([]byte, error)
// Tier 1: Templates (for repo creation)
ListGitignoreTemplates(ctx context.Context, connectionID uuid.UUID) ([]string, error)
ListLicenseTemplates(ctx context.Context, connectionID uuid.UUID) ([]gitea.APILicenseTemplate, error)
// Tier 2: Pull Requests
ListPullRequests(ctx context.Context, repoID uuid.UUID, opts gitea.PRListOptions) ([]gitea.APIPullRequest, error)
GetPullRequest(ctx context.Context, repoID uuid.UUID, number int64) (*gitea.APIPullRequest, error)
CreatePullRequest(ctx context.Context, repoID uuid.UUID, opts gitea.CreatePullRequestOptions) (*gitea.APIPullRequest, error)
EditPullRequest(ctx context.Context, repoID uuid.UUID, number int64, opts gitea.EditPullRequestOptions) (*gitea.APIPullRequest, error)
MergePullRequest(ctx context.Context, repoID uuid.UUID, number int64, opts gitea.MergePullRequestOptions) error
GetPullRequestDiff(ctx context.Context, repoID uuid.UUID, number int64) ([]byte, error)
ListPRReviews(ctx context.Context, repoID uuid.UUID, number int64) ([]gitea.APIPRReview, error)
CreatePRReview(ctx context.Context, repoID uuid.UUID, number int64, opts gitea.CreatePRReviewOptions) (*gitea.APIPRReview, error)
ListPRComments(ctx context.Context, repoID uuid.UUID, number int64) ([]gitea.APIComment, error)
// Tier 2: Issues
ListIssues(ctx context.Context, repoID uuid.UUID, opts gitea.IssueListOptions) ([]gitea.APIIssue, error)
GetIssue(ctx context.Context, repoID uuid.UUID, number int64) (*gitea.APIIssue, error)
CreateIssue(ctx context.Context, repoID uuid.UUID, opts gitea.CreateIssueOptions) (*gitea.APIIssue, error)
EditIssue(ctx context.Context, repoID uuid.UUID, number int64, opts gitea.EditIssueOptions) (*gitea.APIIssue, error)
ListIssueComments(ctx context.Context, repoID uuid.UUID, number int64) ([]gitea.APIComment, error)
CreateIssueComment(ctx context.Context, repoID uuid.UUID, number int64, body string) (*gitea.APIComment, error)
EditIssueComment(ctx context.Context, repoID uuid.UUID, commentID int64, body string) (*gitea.APIComment, error)
DeleteIssueComment(ctx context.Context, repoID uuid.UUID, commentID int64) error
ListLabels(ctx context.Context, repoID uuid.UUID) ([]gitea.APILabel, error)
ListMilestones(ctx context.Context, repoID uuid.UUID, state string) ([]gitea.APIMilestone, error)
// Tier 2: Collaborators
ListCollaborators(ctx context.Context, repoID uuid.UUID) ([]gitea.APICollaborator, error)
IsCollaborator(ctx context.Context, repoID uuid.UUID, username string) (bool, error)
AddCollaborator(ctx context.Context, repoID uuid.UUID, username, permission string) error
RemoveCollaborator(ctx context.Context, repoID uuid.UUID, username string) error
GetCollaboratorPermission(ctx context.Context, repoID uuid.UUID, username string) (*gitea.APIPermissions, error)
ListRepoTeams(ctx context.Context, repoID uuid.UUID) ([]gitea.APITeam, error)
// Tier 3: Webhooks (repo webhooks management)
ListHooks(ctx context.Context, repoID uuid.UUID) ([]gitea.APIHook, error)
GetHook(ctx context.Context, repoID uuid.UUID, hookID int64) (*gitea.APIHook, error)
CreateHook(ctx context.Context, repoID uuid.UUID, opts gitea.CreateHookOptions) (*gitea.APIHook, error)
EditHook(ctx context.Context, repoID uuid.UUID, hookID int64, opts gitea.EditHookOptions) (*gitea.APIHook, error)
DeleteHook(ctx context.Context, repoID uuid.UUID, hookID int64) error
TestHook(ctx context.Context, repoID uuid.UUID, hookID int64) error
// Tier 3: Deploy Keys
ListDeployKeys(ctx context.Context, repoID uuid.UUID) ([]gitea.APIDeployKey, error)
GetDeployKey(ctx context.Context, repoID uuid.UUID, keyID int64) (*gitea.APIDeployKey, error)
CreateDeployKey(ctx context.Context, repoID uuid.UUID, opts gitea.CreateDeployKeyOptions) (*gitea.APIDeployKey, error)
DeleteDeployKey(ctx context.Context, repoID uuid.UUID, keyID int64) error
// Tier 3: Releases
ListReleases(ctx context.Context, repoID uuid.UUID, page, limit int) ([]gitea.APIRelease, error)
GetRelease(ctx context.Context, repoID uuid.UUID, releaseID int64) (*gitea.APIRelease, error)
GetReleaseByTag(ctx context.Context, repoID uuid.UUID, tag string) (*gitea.APIRelease, error)
GetLatestRelease(ctx context.Context, repoID uuid.UUID) (*gitea.APIRelease, error)
CreateRelease(ctx context.Context, repoID uuid.UUID, opts gitea.CreateReleaseOptions) (*gitea.APIRelease, error)
EditRelease(ctx context.Context, repoID uuid.UUID, releaseID int64, opts gitea.EditReleaseOptions) (*gitea.APIRelease, error)
DeleteRelease(ctx context.Context, repoID uuid.UUID, releaseID int64) error
ListReleaseAssets(ctx context.Context, repoID uuid.UUID, releaseID int64) ([]gitea.APIReleaseAsset, error)
DeleteReleaseAsset(ctx context.Context, repoID uuid.UUID, releaseID, assetID int64) error
// Tier 3: Actions / CI Status
ListWorkflows(ctx context.Context, repoID uuid.UUID) ([]gitea.APIWorkflow, error)
ListActionRuns(ctx context.Context, repoID uuid.UUID, opts gitea.ActionRunListOptions) ([]gitea.APIActionRun, error)
GetActionRun(ctx context.Context, repoID uuid.UUID, runID int64) (*gitea.APIActionRun, error)
ListActionJobs(ctx context.Context, repoID uuid.UUID, runID int64) ([]gitea.APIActionJob, error)
GetActionJobLogs(ctx context.Context, repoID uuid.UUID, jobID int64) ([]byte, error)
CancelActionRun(ctx context.Context, repoID uuid.UUID, runID int64) error
RerunActionRun(ctx context.Context, repoID uuid.UUID, runID int64) error
GetCombinedStatus(ctx context.Context, repoID uuid.UUID, ref string) (*gitea.APICombinedStatus, error)
ListCommitStatuses(ctx context.Context, repoID uuid.UUID, ref string, page, limit int) ([]gitea.APICommitStatus, error)
CreateCommitStatus(ctx context.Context, repoID uuid.UUID, sha string, opts gitea.CreateStatusOptions) (*gitea.APICommitStatus, error)
// Internal Webhooks (usulnet sync)
RegisterWebhook(ctx context.Context, connID, repoID uuid.UUID, callbackURL string) error
HandleWebhook(ctx context.Context, connectionID uuid.UUID, eventType, deliveryID string, payload []byte) error
GetWebhookSecret(ctx context.Context, connectionID uuid.UUID) (string, error)
ListWebhookEvents(ctx context.Context, connectionID uuid.UUID, limit int) ([]*models.GiteaWebhookEvent, error)
}
GiteaService defines the interface for Gitea integration operations.
type GlobalStats ¶
type GlobalStats struct {
ContainersRunning int `json:"containers_running"`
ContainersStopped int `json:"containers_stopped"`
ContainersPaused int `json:"containers_paused"`
ContainersTotal int `json:"containers_total"`
ImagesCount int `json:"images_count"`
VolumesCount int `json:"volumes_count"`
NetworksCount int `json:"networks_count"`
StacksCount int `json:"stacks_count"`
SecurityScore int `json:"security_score"`
SecurityGrade string `json:"security_grade"`
SecurityIssues int `json:"security_issues"`
UpdatesAvailable int `json:"updates_available"`
HostsOnline int `json:"hosts_online"`
HostsTotal int `json:"hosts_total"`
}
GlobalStats for sidebar badges.
func GetStatsFromContext ¶
func GetStatsFromContext(ctx context.Context) *GlobalStats
GetStatsFromContext extracts global stats from request context.
type GuacdConfig ¶
type GuacdConfig struct {
Enabled bool // GUACD_ENABLED (default: true)
Host string // GUACD_HOST (default: guacd)
Port int // GUACD_PORT (default: 4822)
}
GuacdConfig holds Apache Guacamole daemon connection settings.
func DefaultGuacdConfig ¶
func DefaultGuacdConfig() GuacdConfig
DefaultGuacdConfig returns default guacd configuration.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler manages all web page handlers.
func NewTemplHandler ¶
func NewTemplHandler(deps HandlerDeps) *Handler
NewTemplHandler creates a new web handler with all dependencies injected via HandlerDeps.
func (*Handler) ACLEditTempl ¶
func (h *Handler) ACLEditTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ACLListTempl ¶
func (h *Handler) ACLListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ACLNewTempl ¶
func (h *Handler) ACLNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) APIHostBrowse ¶
func (h *Handler) APIHostBrowse(w http.ResponseWriter, r *http.Request)
APIHostBrowse lists files on the host filesystem via nsenter. GET /api/v1/hosts/{hostID}/browse GET /api/v1/hosts/{hostID}/browse/*
func (*Handler) APIHostDeleteFile ¶
func (h *Handler) APIHostDeleteFile(w http.ResponseWriter, r *http.Request)
APIHostDeleteFile deletes a file or directory on the host filesystem via nsenter. DELETE /api/v1/hosts/{hostID}/file/*
func (*Handler) APIHostDownloadFile ¶
func (h *Handler) APIHostDownloadFile(w http.ResponseWriter, r *http.Request)
APIHostDownloadFile downloads a file from the host filesystem. GET /api/v1/hosts/{hostID}/download/*
func (*Handler) APIHostMkdir ¶
func (h *Handler) APIHostMkdir(w http.ResponseWriter, r *http.Request)
APIHostMkdir creates a directory on the host filesystem via nsenter. POST /api/v1/hosts/{hostID}/mkdir/*
func (*Handler) APIHostReadFile ¶
func (h *Handler) APIHostReadFile(w http.ResponseWriter, r *http.Request)
APIHostReadFile reads a file from the host filesystem via nsenter. GET /api/v1/hosts/{hostID}/file/*
func (*Handler) APITerminalSessionGet ¶
func (h *Handler) APITerminalSessionGet(w http.ResponseWriter, r *http.Request)
APITerminalSessionGet returns a specific terminal session. GET /api/v1/terminal/sessions/{id}
func (*Handler) APITerminalSessionList ¶
func (h *Handler) APITerminalSessionList(w http.ResponseWriter, r *http.Request)
APITerminalSessionList returns a list of terminal sessions. GET /api/v1/terminal/sessions
func (*Handler) APITerminalSessionsActive ¶
func (h *Handler) APITerminalSessionsActive(w http.ResponseWriter, r *http.Request)
APITerminalSessionsActive returns all active terminal sessions. GET /api/v1/terminal/sessions/active
func (*Handler) APITerminalSessionsByTarget ¶
func (h *Handler) APITerminalSessionsByTarget(w http.ResponseWriter, r *http.Request)
APITerminalSessionsByTarget returns terminal sessions for a specific target. GET /api/v1/terminal/sessions/target/{type}/{id}
func (*Handler) AboutTempl ¶
func (h *Handler) AboutTempl(w http.ResponseWriter, r *http.Request)
AboutTempl renders the About page with system information.
func (*Handler) AccessAuditExport ¶
func (h *Handler) AccessAuditExport(w http.ResponseWriter, r *http.Request)
AccessAuditExport exports the audit log as CSV.
func (*Handler) AccessAuditSessionRevoke ¶
func (h *Handler) AccessAuditSessionRevoke(w http.ResponseWriter, r *http.Request)
AccessAuditSessionRevoke revokes/terminates a user session.
func (*Handler) AccessAuditTempl ¶
func (h *Handler) AccessAuditTempl(w http.ResponseWriter, r *http.Request)
AccessAuditTempl renders the access control audit page.
func (*Handler) AgentDeployStatusJSON ¶
func (h *Handler) AgentDeployStatusJSON(w http.ResponseWriter, r *http.Request)
AgentDeployStatusJSON handles GET /api/deploy/{deployID} - JSON deployment status.
func (*Handler) AgentDeployStatusTempl ¶
func (h *Handler) AgentDeployStatusTempl(w http.ResponseWriter, r *http.Request)
AgentDeployStatusTempl handles GET /nodes/{id}/deploy/{deployID} - shows deployment status.
func (*Handler) AgentDeployTempl ¶
func (h *Handler) AgentDeployTempl(w http.ResponseWriter, r *http.Request)
AgentDeployTempl handles POST /nodes/{id}/deploy - starts agent deployment.
func (*Handler) AlertCreate ¶
func (h *Handler) AlertCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertDelete ¶
func (h *Handler) AlertDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertDisable ¶
func (h *Handler) AlertDisable(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertEditTempl ¶
func (h *Handler) AlertEditTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertEnable ¶
func (h *Handler) AlertEnable(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertEventAck ¶
func (h *Handler) AlertEventAck(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertSilenceCreate ¶
func (h *Handler) AlertSilenceCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertSilenceDelete ¶
func (h *Handler) AlertSilenceDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertUpdate ¶
func (h *Handler) AlertUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) AlertsTempl ¶
func (h *Handler) AlertsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) AnsibleInventory ¶
func (h *Handler) AnsibleInventory(w http.ResponseWriter, r *http.Request)
AnsibleInventory renders the Ansible inventory browser page. GET /tools/ansible
func (*Handler) AnsibleInventoryDelete ¶
func (h *Handler) AnsibleInventoryDelete(w http.ResponseWriter, r *http.Request)
AnsibleInventoryDelete deletes an inventory. DELETE /tools/ansible/{id}
func (*Handler) AnsibleInventoryParse ¶
func (h *Handler) AnsibleInventoryParse(w http.ResponseWriter, r *http.Request)
AnsibleInventoryParse handles pasted inventory content. POST /tools/ansible/parse
func (*Handler) AnsibleInventoryUpload ¶
func (h *Handler) AnsibleInventoryUpload(w http.ResponseWriter, r *http.Request)
AnsibleInventoryUpload handles inventory file uploads. POST /tools/ansible/upload
func (*Handler) AuditListTempl ¶
func (h *Handler) AuditListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) AutoDeployCreate ¶
func (h *Handler) AutoDeployCreate(w http.ResponseWriter, r *http.Request)
AutoDeployCreate handles creation of a new auto-deploy rule.
func (*Handler) AutoDeployDelete ¶
func (h *Handler) AutoDeployDelete(w http.ResponseWriter, r *http.Request)
AutoDeployDelete handles deletion of an auto-deploy rule.
func (*Handler) AutoUpdatePoliciesTempl ¶
func (h *Handler) AutoUpdatePoliciesTempl(w http.ResponseWriter, r *http.Request)
AutoUpdatePoliciesTempl renders the auto-update policies page.
func (*Handler) AutoUpdatePolicyCreate ¶
func (h *Handler) AutoUpdatePolicyCreate(w http.ResponseWriter, r *http.Request)
AutoUpdatePolicyCreate creates a new auto-update policy.
func (*Handler) AutoUpdatePolicyDelete ¶
func (h *Handler) AutoUpdatePolicyDelete(w http.ResponseWriter, r *http.Request)
AutoUpdatePolicyDelete deletes an auto-update policy.
func (*Handler) AutoUpdatePolicyToggle ¶
func (h *Handler) AutoUpdatePolicyToggle(w http.ResponseWriter, r *http.Request)
AutoUpdatePolicyToggle toggles an auto-update policy on/off.
func (*Handler) BackupCreate ¶
func (h *Handler) BackupCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupDetailTempl ¶
func (h *Handler) BackupDetailTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupDownload ¶
func (h *Handler) BackupDownload(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupNewTempl ¶
func (h *Handler) BackupNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupRemove ¶
func (h *Handler) BackupRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupRestore ¶
func (h *Handler) BackupRestore(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupScheduleCreate ¶
func (h *Handler) BackupScheduleCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupScheduleDelete ¶
func (h *Handler) BackupScheduleDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupScheduleRun ¶
func (h *Handler) BackupScheduleRun(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupSchedulesTempl ¶
func (h *Handler) BackupSchedulesTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) BackupVerifyDetailTempl ¶
func (h *Handler) BackupVerifyDetailTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyDetailTempl renders a single verification's detail page.
func (*Handler) BackupVerifyListTempl ¶
func (h *Handler) BackupVerifyListTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyListTempl renders the verification list page.
func (*Handler) BackupVerifyRunTempl ¶
func (h *Handler) BackupVerifyRunTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyRunTempl handles POST /backup-verify/{backupID}/verify.
func (*Handler) BackupVerifyScheduleCreateTempl ¶
func (h *Handler) BackupVerifyScheduleCreateTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyScheduleCreateTempl handles POST /backup-verify/schedules.
func (*Handler) BackupVerifyScheduleDeleteTempl ¶
func (h *Handler) BackupVerifyScheduleDeleteTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyScheduleDeleteTempl handles DELETE /backup-verify/schedules/{id}.
func (*Handler) BackupVerifyScheduleListTempl ¶
func (h *Handler) BackupVerifyScheduleListTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyScheduleListTempl renders the verification schedules page.
func (*Handler) BackupVerifyScheduleNewTempl ¶
func (h *Handler) BackupVerifyScheduleNewTempl(w http.ResponseWriter, r *http.Request)
BackupVerifyScheduleNewTempl renders the new schedule form.
func (*Handler) BackupsTempl ¶
func (h *Handler) BackupsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) BulkOpsAction ¶
func (h *Handler) BulkOpsAction(w http.ResponseWriter, r *http.Request)
BulkOpsAction handles bulk operations from the dedicated page and stores results.
func (*Handler) BulkOpsTempl ¶
func (h *Handler) BulkOpsTempl(w http.ResponseWriter, r *http.Request)
BulkOpsTempl renders the bulk operations page.
func (*Handler) CalendarCreateTempl ¶
func (h *Handler) CalendarCreateTempl(w http.ResponseWriter, r *http.Request)
CalendarCreateTempl handles POST /calendar.
func (*Handler) CalendarDeleteTempl ¶
func (h *Handler) CalendarDeleteTempl(w http.ResponseWriter, r *http.Request)
CalendarDeleteTempl handles DELETE /calendar/{id}.
func (*Handler) CalendarEditTempl ¶
func (h *Handler) CalendarEditTempl(w http.ResponseWriter, r *http.Request)
CalendarEditTempl renders the edit-event form.
func (*Handler) CalendarListTempl ¶
func (h *Handler) CalendarListTempl(w http.ResponseWriter, r *http.Request)
CalendarListTempl renders the operations calendar.
func (*Handler) CalendarNewTempl ¶
func (h *Handler) CalendarNewTempl(w http.ResponseWriter, r *http.Request)
CalendarNewTempl renders the create-event form.
func (*Handler) CalendarUpdateTempl ¶
func (h *Handler) CalendarUpdateTempl(w http.ResponseWriter, r *http.Request)
CalendarUpdateTempl handles POST /calendar/{id}.
func (*Handler) CertCreateCustom ¶
func (h *Handler) CertCreateCustom(w http.ResponseWriter, r *http.Request)
func (*Handler) CertCreateLE ¶
func (h *Handler) CertCreateLE(w http.ResponseWriter, r *http.Request)
func (*Handler) CertDelete ¶
func (h *Handler) CertDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) CertDetailTempl ¶
func (h *Handler) CertDetailTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) CertListTempl ¶
func (h *Handler) CertListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) CertNewCustomTempl ¶
func (h *Handler) CertNewCustomTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) CertNewLETempl ¶
func (h *Handler) CertNewLETempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ChangeDetailAPI ¶
func (h *Handler) ChangeDetailAPI(w http.ResponseWriter, r *http.Request)
ChangeDetailAPI returns a single change event with full state as JSON.
func (*Handler) ChangeExportCSV ¶
func (h *Handler) ChangeExportCSV(w http.ResponseWriter, r *http.Request)
ChangeExportCSV exports change events as a CSV file.
func (*Handler) ChangeListAPI ¶
func (h *Handler) ChangeListAPI(w http.ResponseWriter, r *http.Request)
ChangeListAPI returns change events as JSON with pagination.
func (*Handler) ChangeResourceAPI ¶
func (h *Handler) ChangeResourceAPI(w http.ResponseWriter, r *http.Request)
ChangeResourceAPI returns change events for a specific resource.
func (*Handler) ChangeStatsAPI ¶
func (h *Handler) ChangeStatsAPI(w http.ResponseWriter, r *http.Request)
ChangeStatsAPI returns change event statistics as JSON.
func (*Handler) ChangesTempl ¶
func (h *Handler) ChangesTempl(w http.ResponseWriter, r *http.Request)
ChangesTempl renders the Change Management Audit Trail page.
func (*Handler) CheatSheet ¶
func (h *Handler) CheatSheet(w http.ResponseWriter, r *http.Request)
CheatSheet renders the command cheat sheet page. GET /tools/cheatsheet
func (*Handler) CheatSheetCustomCreate ¶
func (h *Handler) CheatSheetCustomCreate(w http.ResponseWriter, r *http.Request)
CheatSheetCustomCreate creates a new custom command. POST /tools/cheatsheet/custom
func (*Handler) CheatSheetCustomDelete ¶
func (h *Handler) CheatSheetCustomDelete(w http.ResponseWriter, r *http.Request)
CheatSheetCustomDelete deletes a custom command. DELETE /tools/cheatsheet/custom/{id}
func (*Handler) ComplianceControlUpdateStatus ¶
func (h *Handler) ComplianceControlUpdateStatus(w http.ResponseWriter, r *http.Request)
ComplianceControlUpdateStatus updates a control's implementation status.
func (*Handler) ComplianceEvidenceCreate ¶
func (h *Handler) ComplianceEvidenceCreate(w http.ResponseWriter, r *http.Request)
ComplianceEvidenceCreate creates a new evidence entry for an assessment.
func (*Handler) ComplianceEvidenceList ¶
func (h *Handler) ComplianceEvidenceList(w http.ResponseWriter, r *http.Request)
ComplianceEvidenceList returns all evidence for an assessment.
func (*Handler) ComplianceFrameworkAssess ¶
func (h *Handler) ComplianceFrameworkAssess(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkAssess runs an assessment for a framework.
func (*Handler) ComplianceFrameworkAssessments ¶
func (h *Handler) ComplianceFrameworkAssessments(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkAssessments returns all assessments for a framework.
func (*Handler) ComplianceFrameworkControls ¶
func (h *Handler) ComplianceFrameworkControls(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkControls returns all controls for a framework.
func (*Handler) ComplianceFrameworkReport ¶
func (h *Handler) ComplianceFrameworkReport(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkReport generates a compliance report.
func (*Handler) ComplianceFrameworkSeed ¶
func (h *Handler) ComplianceFrameworkSeed(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkSeed seeds default frameworks.
func (*Handler) ComplianceFrameworkStatus ¶
func (h *Handler) ComplianceFrameworkStatus(w http.ResponseWriter, r *http.Request)
ComplianceFrameworkStatus returns the compliance posture for a single framework.
func (*Handler) ComplianceFrameworksPageTempl ¶
func (h *Handler) ComplianceFrameworksPageTempl(w http.ResponseWriter, r *http.Request)
ComplianceFrameworksPageTempl renders the compliance frameworks page.
func (*Handler) ComplianceFrameworksTempl ¶
func (h *Handler) ComplianceFrameworksTempl(w http.ResponseWriter, r *http.Request)
ComplianceFrameworksTempl returns the list of compliance frameworks as JSON.
func (*Handler) CompliancePolicyCreate ¶
func (h *Handler) CompliancePolicyCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) CompliancePolicyDelete ¶
func (h *Handler) CompliancePolicyDelete(w http.ResponseWriter, r *http.Request)
CompliancePolicyDelete deletes a compliance policy.
func (*Handler) CompliancePolicyToggle ¶
func (h *Handler) CompliancePolicyToggle(w http.ResponseWriter, r *http.Request)
CompliancePolicyToggle toggles a policy enabled/disabled.
func (*Handler) ComplianceScan ¶
func (h *Handler) ComplianceScan(w http.ResponseWriter, r *http.Request)
ComplianceScan runs a compliance check against all running containers.
func (*Handler) ComplianceTempl ¶
func (h *Handler) ComplianceTempl(w http.ResponseWriter, r *http.Request)
ComplianceTempl renders the compliance policies page.
func (*Handler) ComplianceViolationAcknowledge ¶
func (h *Handler) ComplianceViolationAcknowledge(w http.ResponseWriter, r *http.Request)
ComplianceViolationAcknowledge acknowledges a violation.
func (*Handler) ComplianceViolationExempt ¶
func (h *Handler) ComplianceViolationExempt(w http.ResponseWriter, r *http.Request)
ComplianceViolationExempt marks a violation as exempted.
func (*Handler) ComplianceViolationResolve ¶
func (h *Handler) ComplianceViolationResolve(w http.ResponseWriter, r *http.Request)
ComplianceViolationResolve marks a violation as resolved.
func (*Handler) ConfigExport ¶
func (h *Handler) ConfigExport(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigImport ¶
func (h *Handler) ConfigImport(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigSync ¶
func (h *Handler) ConfigSync(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigTempl ¶
func (h *Handler) ConfigTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigTemplateCreate ¶
func (h *Handler) ConfigTemplateCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigTemplateUpdate ¶
func (h *Handler) ConfigTemplateUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigVarCreate ¶
func (h *Handler) ConfigVarCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigVarDelete ¶
func (h *Handler) ConfigVarDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) ConfigVarUpdate ¶
func (h *Handler) ConfigVarUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) ConnectionsTempl ¶
func (h *Handler) ConnectionsTempl(w http.ResponseWriter, r *http.Request)
ConnectionsTempl renders the main connections dashboard.
func (*Handler) ContainerBrowseAPI ¶
func (h *Handler) ContainerBrowseAPI(w http.ResponseWriter, r *http.Request)
ContainerBrowseAPI handles file browsing via web session auth. GET /containers/{id}/files/api/browse/*
func (*Handler) ContainerBulkKill ¶
func (h *Handler) ContainerBulkKill(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerBulkPause ¶
func (h *Handler) ContainerBulkPause(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerBulkRemove ¶
func (h *Handler) ContainerBulkRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerBulkRestart ¶
func (h *Handler) ContainerBulkRestart(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerBulkStart ¶
func (h *Handler) ContainerBulkStart(w http.ResponseWriter, r *http.Request)
Bulk container operations
func (*Handler) ContainerBulkStop ¶
func (h *Handler) ContainerBulkStop(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerBulkUnpause ¶
func (h *Handler) ContainerBulkUnpause(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerCreateSubmit ¶
func (h *Handler) ContainerCreateSubmit(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerDeleteFileAPI ¶
func (h *Handler) ContainerDeleteFileAPI(w http.ResponseWriter, r *http.Request)
ContainerDeleteFileAPI deletes a file in a container via web session auth. DELETE /containers/{id}/files/api/file/*
func (*Handler) ContainerDetailTempl ¶
func (h *Handler) ContainerDetailTempl(w http.ResponseWriter, r *http.Request)
ContainerDetailTempl shows container details using Templ.
func (*Handler) ContainerDownloadFileAPI ¶
func (h *Handler) ContainerDownloadFileAPI(w http.ResponseWriter, r *http.Request)
ContainerDownloadFileAPI downloads a raw file from a container. GET /containers/{id}/files/api/download/*
func (*Handler) ContainerExecTempl ¶
func (h *Handler) ContainerExecTempl(w http.ResponseWriter, r *http.Request)
ContainerExecTempl provides exec interface using Templ.
func (*Handler) ContainerFilesTempl ¶
func (h *Handler) ContainerFilesTempl(w http.ResponseWriter, r *http.Request)
ContainerFilesTempl shows container file browser using Templ.
func (*Handler) ContainerInspectTempl ¶
func (h *Handler) ContainerInspectTempl(w http.ResponseWriter, r *http.Request)
ContainerInspectTempl shows container inspect JSON using Templ.
func (*Handler) ContainerKill ¶
func (h *Handler) ContainerKill(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerLogsTempl ¶
func (h *Handler) ContainerLogsTempl(w http.ResponseWriter, r *http.Request)
ContainerLogsTempl shows container logs using Templ.
func (*Handler) ContainerMkdirAPI ¶
func (h *Handler) ContainerMkdirAPI(w http.ResponseWriter, r *http.Request)
ContainerMkdirAPI creates a directory in a container via web session auth. POST /containers/{id}/files/api/mkdir/*
func (*Handler) ContainerNewTempl ¶
func (h *Handler) ContainerNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerPause ¶
func (h *Handler) ContainerPause(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerReadFileAPI ¶
func (h *Handler) ContainerReadFileAPI(w http.ResponseWriter, r *http.Request)
ContainerReadFileAPI reads a file from a container via web session auth. GET /containers/{id}/files/api/file/*
func (*Handler) ContainerRemove ¶
func (h *Handler) ContainerRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerRename ¶
func (h *Handler) ContainerRename(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerRestart ¶
func (h *Handler) ContainerRestart(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerRowPartial ¶
func (h *Handler) ContainerRowPartial(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerSettingsSummary ¶
func (h *Handler) ContainerSettingsSummary(w http.ResponseWriter, r *http.Request)
ContainerSettingsSummary returns an HTMX fragment with read-only container config summary.
func (*Handler) ContainerSettingsTempl ¶
func (h *Handler) ContainerSettingsTempl(w http.ResponseWriter, r *http.Request)
ContainerSettingsTempl shows container settings page using Templ.
func (*Handler) ContainerSettingsUpdate ¶
func (h *Handler) ContainerSettingsUpdate(w http.ResponseWriter, r *http.Request)
ContainerSettingsUpdate handles the POST to save container settings.
func (*Handler) ContainerStart ¶
func (h *Handler) ContainerStart(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerStatsTempl ¶
func (h *Handler) ContainerStatsTempl(w http.ResponseWriter, r *http.Request)
ContainerStatsTempl shows container resource stats using Templ.
func (*Handler) ContainerStop ¶
func (h *Handler) ContainerStop(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerTemplateCreate ¶
func (h *Handler) ContainerTemplateCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerTemplateDelete ¶
func (h *Handler) ContainerTemplateDelete(w http.ResponseWriter, r *http.Request)
ContainerTemplateDelete deletes a container template.
func (*Handler) ContainerTemplateDeploy ¶
func (h *Handler) ContainerTemplateDeploy(w http.ResponseWriter, r *http.Request)
ContainerTemplateDeploy deploys a container from a template.
func (*Handler) ContainerTemplatesTempl ¶
func (h *Handler) ContainerTemplatesTempl(w http.ResponseWriter, r *http.Request)
ContainerTemplatesTempl renders the container templates page.
func (*Handler) ContainerUnpause ¶
func (h *Handler) ContainerUnpause(w http.ResponseWriter, r *http.Request)
func (*Handler) ContainerWriteFileAPI ¶
func (h *Handler) ContainerWriteFileAPI(w http.ResponseWriter, r *http.Request)
ContainerWriteFileAPI writes a file in a container via web session auth. PUT /containers/{id}/files/api/file/*
func (*Handler) ContainersPartialTempl ¶
func (h *Handler) ContainersPartialTempl(w http.ResponseWriter, r *http.Request)
ContainersPartialTempl renders just the container table for HTMX requests.
func (*Handler) ContainersTempl ¶
func (h *Handler) ContainersTempl(w http.ResponseWriter, r *http.Request)
ContainersTempl lists all containers using Templ.
func (*Handler) CostOptApplyAPI ¶
func (h *Handler) CostOptApplyAPI(w http.ResponseWriter, r *http.Request)
CostOptApplyAPI applies a resource optimization recommendation (POST).
func (*Handler) CostOptDismissAPI ¶
func (h *Handler) CostOptDismissAPI(w http.ResponseWriter, r *http.Request)
CostOptDismissAPI dismisses a resource optimization recommendation (POST).
func (*Handler) CostOptStatsAPI ¶
func (h *Handler) CostOptStatsAPI(w http.ResponseWriter, r *http.Request)
CostOptStatsAPI returns resource optimization statistics as JSON.
func (*Handler) CostOptTempl ¶
func (h *Handler) CostOptTempl(w http.ResponseWriter, r *http.Request)
CostOptTempl renders the resource optimization dashboard page.
func (*Handler) CrontabCreateTempl ¶
func (h *Handler) CrontabCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) CrontabDeleteTempl ¶
func (h *Handler) CrontabDeleteTempl(w http.ResponseWriter, r *http.Request)
CrontabDeleteTempl handles DELETE /crontab/{id}.
func (*Handler) CrontabDetailTempl ¶
func (h *Handler) CrontabDetailTempl(w http.ResponseWriter, r *http.Request)
CrontabDetailTempl renders the entry detail page with paginated executions.
func (*Handler) CrontabEditTempl ¶
func (h *Handler) CrontabEditTempl(w http.ResponseWriter, r *http.Request)
CrontabEditTempl renders the entry edit form.
func (*Handler) CrontabListTempl ¶
func (h *Handler) CrontabListTempl(w http.ResponseWriter, r *http.Request)
CrontabListTempl renders the crontab entries list page.
func (*Handler) CrontabNewTempl ¶
func (h *Handler) CrontabNewTempl(w http.ResponseWriter, r *http.Request)
CrontabNewTempl renders the new crontab entry form.
func (*Handler) CrontabRunNowTempl ¶
func (h *Handler) CrontabRunNowTempl(w http.ResponseWriter, r *http.Request)
CrontabRunNowTempl handles POST /crontab/{id}/run.
func (*Handler) CrontabToggleTempl ¶
func (h *Handler) CrontabToggleTempl(w http.ResponseWriter, r *http.Request)
CrontabToggleTempl handles POST /crontab/{id}/toggle.
func (*Handler) CrontabUpdateTempl ¶
func (h *Handler) CrontabUpdateTempl(w http.ResponseWriter, r *http.Request)
CrontabUpdateTempl handles POST /crontab/{id}.
func (*Handler) CustomDashboardsPageTempl ¶
func (h *Handler) CustomDashboardsPageTempl(w http.ResponseWriter, r *http.Request)
CustomDashboardsPageTempl renders the custom dashboards page.
func (*Handler) DNSACMEDetailTempl ¶
func (h *Handler) DNSACMEDetailTempl(w http.ResponseWriter, r *http.Request)
DNSACMEDetailTempl renders /dns/acme/{id}.
func (*Handler) DNSACMEProcessTempl ¶
func (h *Handler) DNSACMEProcessTempl(w http.ResponseWriter, r *http.Request)
DNSACMEProcessTempl handles POST /dns/acme/{id}/process.
func (*Handler) DNSACMETempl ¶
func (h *Handler) DNSACMETempl(w http.ResponseWriter, r *http.Request)
DNSACMETempl renders /dns/acme.
func (*Handler) DNSAuditTempl ¶
func (h *Handler) DNSAuditTempl(w http.ResponseWriter, r *http.Request)
DNSAuditTempl renders /dns/audit.
func (*Handler) DNSProviderCreateTempl ¶
func (h *Handler) DNSProviderCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) DNSProviderDeleteTempl ¶
func (h *Handler) DNSProviderDeleteTempl(w http.ResponseWriter, r *http.Request)
DNSProviderDeleteTempl handles POST /dns/{id}/delete.
func (*Handler) DNSProviderDetailTempl ¶
func (h *Handler) DNSProviderDetailTempl(w http.ResponseWriter, r *http.Request)
DNSProviderDetailTempl renders /dns/{id}.
func (*Handler) DNSProviderEditTempl ¶
func (h *Handler) DNSProviderEditTempl(w http.ResponseWriter, r *http.Request)
DNSProviderEditTempl renders /dns/{id}/edit.
func (*Handler) DNSProviderNewTempl ¶
func (h *Handler) DNSProviderNewTempl(w http.ResponseWriter, r *http.Request)
DNSProviderNewTempl renders /dns/new.
func (*Handler) DNSProviderUpdateTempl ¶
func (h *Handler) DNSProviderUpdateTempl(w http.ResponseWriter, r *http.Request)
DNSProviderUpdateTempl handles POST /dns/{id}.
func (*Handler) DNSProvidersTempl ¶
func (h *Handler) DNSProvidersTempl(w http.ResponseWriter, r *http.Request)
DNSProvidersTempl renders /dns.
func (*Handler) DNSRecordCreateTempl ¶
func (h *Handler) DNSRecordCreateTempl(w http.ResponseWriter, r *http.Request)
DNSRecordCreateTempl handles POST /dns/{id}/records.
func (*Handler) DNSRecordDeleteTempl ¶
func (h *Handler) DNSRecordDeleteTempl(w http.ResponseWriter, r *http.Request)
DNSRecordDeleteTempl handles POST /dns/records/{id}/delete.
func (*Handler) DNSRecordNewTempl ¶
func (h *Handler) DNSRecordNewTempl(w http.ResponseWriter, r *http.Request)
DNSRecordNewTempl renders /dns/{id}/records/new.
func (*Handler) DNSRecordsTempl ¶
func (h *Handler) DNSRecordsTempl(w http.ResponseWriter, r *http.Request)
DNSRecordsTempl renders /dns/records.
func (*Handler) DNSSupportedTempl ¶
func (h *Handler) DNSSupportedTempl(w http.ResponseWriter, r *http.Request)
DNSSupportedTempl renders /dns/supported.
func (*Handler) DashboardLayoutCreateJSON ¶
func (h *Handler) DashboardLayoutCreateJSON(w http.ResponseWriter, r *http.Request)
DashboardLayoutCreateJSON creates a new dashboard layout.
func (*Handler) DashboardLayoutDeleteJSON ¶
func (h *Handler) DashboardLayoutDeleteJSON(w http.ResponseWriter, r *http.Request)
DashboardLayoutDeleteJSON deletes a dashboard layout.
func (*Handler) DashboardLayoutGetJSON ¶
func (h *Handler) DashboardLayoutGetJSON(w http.ResponseWriter, r *http.Request)
DashboardLayoutGetJSON returns a single dashboard layout by ID.
func (*Handler) DashboardLayoutUpdateJSON ¶
func (h *Handler) DashboardLayoutUpdateJSON(w http.ResponseWriter, r *http.Request)
DashboardLayoutUpdateJSON updates a dashboard layout.
func (*Handler) DashboardLayoutsJSON ¶
func (h *Handler) DashboardLayoutsJSON(w http.ResponseWriter, r *http.Request)
DashboardLayoutsJSON returns the user's dashboard layouts.
func (*Handler) DashboardTempl ¶
func (h *Handler) DashboardTempl(w http.ResponseWriter, r *http.Request)
DashboardTempl renders the main dashboard using Templ.
func (*Handler) DashboardWidgetCreateJSON ¶
func (h *Handler) DashboardWidgetCreateJSON(w http.ResponseWriter, r *http.Request)
DashboardWidgetCreateJSON adds a widget to a layout.
func (*Handler) DashboardWidgetDeleteJSON ¶
func (h *Handler) DashboardWidgetDeleteJSON(w http.ResponseWriter, r *http.Request)
DashboardWidgetDeleteJSON removes a widget.
func (*Handler) DashboardWidgetUpdateJSON ¶
func (h *Handler) DashboardWidgetUpdateJSON(w http.ResponseWriter, r *http.Request)
DashboardWidgetUpdateJSON updates a widget.
func (*Handler) DashboardWidgetsJSON ¶
func (h *Handler) DashboardWidgetsJSON(w http.ResponseWriter, r *http.Request)
DashboardWidgetsJSON returns all widgets for a layout.
func (*Handler) DatabaseBrowserTempl ¶
func (h *Handler) DatabaseBrowserTempl(w http.ResponseWriter, r *http.Request)
DatabaseBrowserTempl renders the database browser page.
func (*Handler) DatabaseConnectionCreate ¶
func (h *Handler) DatabaseConnectionCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) DatabaseConnectionDelete ¶
func (h *Handler) DatabaseConnectionDelete(w http.ResponseWriter, r *http.Request)
DatabaseConnectionDelete deletes a database connection.
func (*Handler) DatabaseConnectionTest ¶
func (h *Handler) DatabaseConnectionTest(w http.ResponseWriter, r *http.Request)
DatabaseConnectionTest tests a database connection.
func (*Handler) DatabaseConnectionsTempl ¶
func (h *Handler) DatabaseConnectionsTempl(w http.ResponseWriter, r *http.Request)
DatabaseConnectionsTempl renders the database connections list page.
func (*Handler) DatabaseQueryExecute ¶
func (h *Handler) DatabaseQueryExecute(w http.ResponseWriter, r *http.Request)
DatabaseQueryExecute executes a database query.
func (*Handler) DatabaseQueryTempl ¶
func (h *Handler) DatabaseQueryTempl(w http.ResponseWriter, r *http.Request)
DatabaseQueryTempl renders the database query page.
func (*Handler) DatabaseWriteModeToggle ¶
func (h *Handler) DatabaseWriteModeToggle(w http.ResponseWriter, r *http.Request)
DatabaseWriteModeToggle toggles write mode for database browser.
func (*Handler) DeadCreate ¶
func (h *Handler) DeadCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) DeadDelete ¶
func (h *Handler) DeadDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) DeadListTempl ¶
func (h *Handler) DeadListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) DeadNewTempl ¶
func (h *Handler) DeadNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) DeleteAccount ¶
func (h *Handler) DeleteAccount(w http.ResponseWriter, r *http.Request)
DeleteAccount handles account self-deletion.
func (*Handler) DeleteAllSessions ¶
func (h *Handler) DeleteAllSessions(w http.ResponseWriter, r *http.Request)
DeleteAllSessions revokes all sessions except current (DELETE /profile/sessions).
func (*Handler) DeleteSession ¶
func (h *Handler) DeleteSession(w http.ResponseWriter, r *http.Request)
DeleteSession revokes a single session (DELETE /profile/sessions/{id}).
func (*Handler) DependenciesTempl ¶
func (h *Handler) DependenciesTempl(w http.ResponseWriter, r *http.Request)
DependenciesTempl renders the dependency graph page.
func (*Handler) DockerEngineApplyTempl ¶
func (h *Handler) DockerEngineApplyTempl(w http.ResponseWriter, r *http.Request)
DockerEngineApplyTempl handles POST /config/docker/apply. The form posts raw JSON in the "raw" field. We forward verbatim to the service which parses, validates, snapshots and applies. The result is stashed in a flash cookie so the next GET renders the success or rollback banner inline.
func (*Handler) DockerEngineEditorTempl ¶
func (h *Handler) DockerEngineEditorTempl(w http.ResponseWriter, r *http.Request)
DockerEngineEditorTempl renders the editor page (GET /config/docker).
On a fresh install with no daemon.json on disk, the page still renders — the editor opens on "{}" and the operator can author from scratch. When the dockerconfig service is nil (the container did not mount /etc/docker), the page surfaces an unavailable banner with remediation guidance instead of erroring.
func (*Handler) DockerEngineHistoryTempl ¶
func (h *Handler) DockerEngineHistoryTempl(w http.ResponseWriter, r *http.Request)
DockerEngineHistoryTempl renders the history page.
func (*Handler) DockerEngineRestoreTempl ¶
func (h *Handler) DockerEngineRestoreTempl(w http.ResponseWriter, r *http.Request)
DockerEngineRestoreTempl handles POST /config/docker/restore/{id}.
func (*Handler) DriftAcceptAPI ¶
func (h *Handler) DriftAcceptAPI(w http.ResponseWriter, r *http.Request)
DriftAcceptAPI accepts a drift detection (POST).
func (*Handler) DriftDetailAPI ¶
func (h *Handler) DriftDetailAPI(w http.ResponseWriter, r *http.Request)
DriftDetailAPI returns a single drift detection with full diffs as JSON.
func (*Handler) DriftRemediateAPI ¶
func (h *Handler) DriftRemediateAPI(w http.ResponseWriter, r *http.Request)
DriftRemediateAPI remediates a drift detection (POST).
func (*Handler) DriftStatsAPI ¶
func (h *Handler) DriftStatsAPI(w http.ResponseWriter, r *http.Request)
DriftStatsAPI returns drift statistics as JSON.
func (*Handler) DriftTempl ¶
func (h *Handler) DriftTempl(w http.ResponseWriter, r *http.Request)
DriftTempl renders the drift detection dashboard page.
func (*Handler) EditorHub ¶
func (h *Handler) EditorHub(w http.ResponseWriter, r *http.Request)
EditorHub renders the editor landing page with quick actions and connected repos. Works without Gitea configured - shows scratch pad options. GET /editor
func (*Handler) EditorMonaco ¶
func (h *Handler) EditorMonaco(w http.ResponseWriter, r *http.Request)
EditorMonaco renders the Monaco editor page. With repo param: loads file from git provider. Without repo param: opens scratch editor (empty file). GET /editor/monaco?repo={id}&file={path}&ref={branch} GET /editor/monaco (scratch mode)
func (*Handler) EditorNvim ¶
func (h *Handler) EditorNvim(w http.ResponseWriter, r *http.Request)
EditorNvim renders the nvim terminal page. With repo param: opens file from git provider. Without repo param: opens clean nvim session. GET /editor/nvim?repo={id}&file={path}&ref={branch} GET /editor/nvim (standalone)
func (*Handler) EgressCreateTempl ¶
func (h *Handler) EgressCreateTempl(w http.ResponseWriter, r *http.Request)
EgressCreateTempl handles POST /egress: form submission to add a new policy. allow="true" / "false" comes from the <select>.
func (*Handler) EgressDeleteTempl ¶
func (h *Handler) EgressDeleteTempl(w http.ResponseWriter, r *http.Request)
EgressDeleteTempl handles POST /egress/{id}/delete.
func (*Handler) EgressListTempl ¶
func (h *Handler) EgressListTempl(w http.ResponseWriter, r *http.Request)
EgressListTempl renders /egress: policies for the active host plus the most-recent denies.
func (*Handler) EphemeralEnvCreate ¶
func (h *Handler) EphemeralEnvCreate(w http.ResponseWriter, r *http.Request)
EphemeralEnvCreate creates a new ephemeral environment.
func (*Handler) EphemeralEnvDashboardJSON ¶
func (h *Handler) EphemeralEnvDashboardJSON(w http.ResponseWriter, r *http.Request)
EphemeralEnvDashboardJSON returns ephemeral environment dashboard data.
func (*Handler) EphemeralEnvDestroy ¶
func (h *Handler) EphemeralEnvDestroy(w http.ResponseWriter, r *http.Request)
EphemeralEnvDestroy destroys an ephemeral environment.
func (*Handler) EphemeralEnvExtendTTL ¶
func (h *Handler) EphemeralEnvExtendTTL(w http.ResponseWriter, r *http.Request)
EphemeralEnvExtendTTL extends the TTL of an ephemeral environment.
func (*Handler) EphemeralEnvGet ¶
func (h *Handler) EphemeralEnvGet(w http.ResponseWriter, r *http.Request)
EphemeralEnvGet returns a single ephemeral environment.
func (*Handler) EphemeralEnvLogsJSON ¶
func (h *Handler) EphemeralEnvLogsJSON(w http.ResponseWriter, r *http.Request)
EphemeralEnvLogsJSON returns logs for an ephemeral environment.
func (*Handler) EphemeralEnvProvision ¶
func (h *Handler) EphemeralEnvProvision(w http.ResponseWriter, r *http.Request)
EphemeralEnvProvision provisions a pending ephemeral environment by deploying its stack. Requires compose content to have been set at creation time. POST /ephemeral-envs/{id}/provision
func (*Handler) EphemeralEnvStop ¶
func (h *Handler) EphemeralEnvStop(w http.ResponseWriter, r *http.Request)
EphemeralEnvStop stops a running ephemeral environment.
func (*Handler) EphemeralEnvsJSON ¶
func (h *Handler) EphemeralEnvsJSON(w http.ResponseWriter, r *http.Request)
EphemeralEnvsJSON returns all ephemeral environments.
func (*Handler) EphemeralEnvsPageTempl ¶
func (h *Handler) EphemeralEnvsPageTempl(w http.ResponseWriter, r *http.Request)
EphemeralEnvsPageTempl renders the ephemeral environments page.
func (*Handler) EventsPartialTempl ¶
func (h *Handler) EventsPartialTempl(w http.ResponseWriter, r *http.Request)
EventsPartialTempl renders recent events for HTMX requests.
func (*Handler) EventsTempl ¶
func (h *Handler) EventsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ExportUserData ¶
func (h *Handler) ExportUserData(w http.ResponseWriter, r *http.Request)
ExportUserData exports user data as JSON (POST /profile/export).
func (*Handler) FirewallApplyTempl ¶
func (h *Handler) FirewallApplyTempl(w http.ResponseWriter, r *http.Request)
FirewallApplyTempl handles POST /firewall/apply — pushes rules to host.
func (*Handler) FirewallAuditTempl ¶
func (h *Handler) FirewallAuditTempl(w http.ResponseWriter, r *http.Request)
FirewallAuditTempl renders the firewall audit log page.
func (*Handler) FirewallCreateTempl ¶
func (h *Handler) FirewallCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) FirewallDeleteTempl ¶
func (h *Handler) FirewallDeleteTempl(w http.ResponseWriter, r *http.Request)
FirewallDeleteTempl handles DELETE /firewall/{id}.
func (*Handler) FirewallDetailTempl ¶
func (h *Handler) FirewallDetailTempl(w http.ResponseWriter, r *http.Request)
FirewallDetailTempl renders the firewall rule detail page.
func (*Handler) FirewallEditTempl ¶
func (h *Handler) FirewallEditTempl(w http.ResponseWriter, r *http.Request)
FirewallEditTempl renders the firewall rule edit form.
func (*Handler) FirewallListTempl ¶
func (h *Handler) FirewallListTempl(w http.ResponseWriter, r *http.Request)
FirewallListTempl renders the firewall rules list page.
func (*Handler) FirewallNewTempl ¶
func (h *Handler) FirewallNewTempl(w http.ResponseWriter, r *http.Request)
FirewallNewTempl renders the new firewall rule form.
func (*Handler) FirewallSyncTempl ¶
func (h *Handler) FirewallSyncTempl(w http.ResponseWriter, r *http.Request)
FirewallSyncTempl handles POST /firewall/sync — reads rules from host.
func (*Handler) FirewallUpdateTempl ¶
func (h *Handler) FirewallUpdateTempl(w http.ResponseWriter, r *http.Request)
FirewallUpdateTempl handles POST /firewall/{id} — updates a rule.
func (*Handler) GitCreateBranch ¶
func (h *Handler) GitCreateBranch(w http.ResponseWriter, r *http.Request)
GitCreateBranch creates a new branch
func (*Handler) GitCreateConnection ¶
func (h *Handler) GitCreateConnection(w http.ResponseWriter, r *http.Request)
GitCreateConnection creates a new Git connection (any provider)
func (*Handler) GitCreateIssue ¶
func (h *Handler) GitCreateIssue(w http.ResponseWriter, r *http.Request)
GitCreateIssue creates an issue
func (*Handler) GitCreatePR ¶
func (h *Handler) GitCreatePR(w http.ResponseWriter, r *http.Request)
GitCreatePR creates a pull request
func (*Handler) GitCreateRepo ¶
func (h *Handler) GitCreateRepo(w http.ResponseWriter, r *http.Request)
GitCreateRepo creates a new repository
func (*Handler) GitDeleteBranch ¶
func (h *Handler) GitDeleteBranch(w http.ResponseWriter, r *http.Request)
GitDeleteBranch deletes a branch
func (*Handler) GitDeleteConnection ¶
func (h *Handler) GitDeleteConnection(w http.ResponseWriter, r *http.Request)
GitDeleteConnection deletes a Git connection
func (*Handler) GitDeleteRepo ¶
func (h *Handler) GitDeleteRepo(w http.ResponseWriter, r *http.Request)
GitDeleteRepo deletes a repository
func (*Handler) GitEditRepo ¶
func (h *Handler) GitEditRepo(w http.ResponseWriter, r *http.Request)
GitEditRepo edits repository settings
func (*Handler) GitFileContent ¶
func (h *Handler) GitFileContent(w http.ResponseWriter, r *http.Request)
GitFileContent gets file content
func (*Handler) GitFileSave ¶
func (h *Handler) GitFileSave(w http.ResponseWriter, r *http.Request)
GitFileSave saves file content
func (*Handler) GitGetCommit ¶
func (h *Handler) GitGetCommit(w http.ResponseWriter, r *http.Request)
GitGetCommit gets a commit
func (*Handler) GitGetIssue ¶
func (h *Handler) GitGetIssue(w http.ResponseWriter, r *http.Request)
GitGetIssue gets an issue
func (*Handler) GitGetLatestRelease ¶
func (h *Handler) GitGetLatestRelease(w http.ResponseWriter, r *http.Request)
GitGetLatestRelease gets the latest release
func (*Handler) GitGetPR ¶
func (h *Handler) GitGetPR(w http.ResponseWriter, r *http.Request)
GitGetPR gets a pull request
func (*Handler) GitListBranches ¶
func (h *Handler) GitListBranches(w http.ResponseWriter, r *http.Request)
GitListBranches lists branches
func (*Handler) GitListCommits ¶
func (h *Handler) GitListCommits(w http.ResponseWriter, r *http.Request)
GitListCommits lists commits
func (*Handler) GitListIssues ¶
func (h *Handler) GitListIssues(w http.ResponseWriter, r *http.Request)
GitListIssues lists issues
func (*Handler) GitListPRs ¶
func (h *Handler) GitListPRs(w http.ResponseWriter, r *http.Request)
GitListPRs lists pull requests
func (*Handler) GitListReleases ¶
func (h *Handler) GitListReleases(w http.ResponseWriter, r *http.Request)
GitListReleases lists releases
func (*Handler) GitListTags ¶
func (h *Handler) GitListTags(w http.ResponseWriter, r *http.Request)
GitListTags lists tags
func (*Handler) GitListTempl ¶
func (h *Handler) GitListTempl(w http.ResponseWriter, r *http.Request)
GitListTempl renders the unified repositories page
func (*Handler) GitMergePR ¶
func (h *Handler) GitMergePR(w http.ResponseWriter, r *http.Request)
GitMergePR merges a pull request
func (*Handler) GitOpsPipelineCreate ¶
func (h *Handler) GitOpsPipelineCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) GitOpsPipelineDelete ¶
func (h *Handler) GitOpsPipelineDelete(w http.ResponseWriter, r *http.Request)
GitOpsPipelineDelete deletes a pipeline.
func (*Handler) GitOpsPipelineDeploy ¶
func (h *Handler) GitOpsPipelineDeploy(w http.ResponseWriter, r *http.Request)
GitOpsPipelineDeploy triggers a manual deployment for a pipeline.
func (*Handler) GitOpsPipelineToggle ¶
func (h *Handler) GitOpsPipelineToggle(w http.ResponseWriter, r *http.Request)
GitOpsPipelineToggle toggles a pipeline enabled/disabled.
func (*Handler) GitOpsTempl ¶
func (h *Handler) GitOpsTempl(w http.ResponseWriter, r *http.Request)
GitOpsTempl renders the GitOps pipelines page.
func (*Handler) GitRepoDetail ¶
func (h *Handler) GitRepoDetail(w http.ResponseWriter, r *http.Request)
GitRepoDetail shows repository details
func (*Handler) GitRepoFiles ¶
func (h *Handler) GitRepoFiles(w http.ResponseWriter, r *http.Request)
GitRepoFiles lists repository files
func (*Handler) GitSyncConfigCreate ¶
func (h *Handler) GitSyncConfigCreate(w http.ResponseWriter, r *http.Request)
GitSyncConfigCreate creates a new sync configuration.
func (*Handler) GitSyncConfigDelete ¶
func (h *Handler) GitSyncConfigDelete(w http.ResponseWriter, r *http.Request)
GitSyncConfigDelete deletes a sync configuration.
func (*Handler) GitSyncConfigGet ¶
func (h *Handler) GitSyncConfigGet(w http.ResponseWriter, r *http.Request)
GitSyncConfigGet returns a single sync configuration.
func (*Handler) GitSyncConfigToggle ¶
func (h *Handler) GitSyncConfigToggle(w http.ResponseWriter, r *http.Request)
GitSyncConfigToggle toggles a sync configuration enabled/disabled.
func (*Handler) GitSyncConfigsJSON ¶
func (h *Handler) GitSyncConfigsJSON(w http.ResponseWriter, r *http.Request)
GitSyncConfigsJSON returns all git sync configurations.
func (*Handler) GitSyncConflictResolve ¶
func (h *Handler) GitSyncConflictResolve(w http.ResponseWriter, r *http.Request)
GitSyncConflictResolve resolves a sync conflict.
func (*Handler) GitSyncConflictsJSON ¶
func (h *Handler) GitSyncConflictsJSON(w http.ResponseWriter, r *http.Request)
GitSyncConflictsJSON returns conflicts for a configuration.
func (*Handler) GitSyncEventsJSON ¶
func (h *Handler) GitSyncEventsJSON(w http.ResponseWriter, r *http.Request)
GitSyncEventsJSON returns sync events for a configuration.
func (*Handler) GitSyncPageTempl ¶
func (h *Handler) GitSyncPageTempl(w http.ResponseWriter, r *http.Request)
GitSyncPageTempl renders the Git sync page.
func (*Handler) GitSyncRepos ¶
func (h *Handler) GitSyncRepos(w http.ResponseWriter, r *http.Request)
GitSyncRepos syncs repositories for a connection
func (*Handler) GitSyncStatsJSON ¶
func (h *Handler) GitSyncStatsJSON(w http.ResponseWriter, r *http.Request)
GitSyncStatsJSON returns aggregated sync statistics.
func (*Handler) GitSyncTrigger ¶
func (h *Handler) GitSyncTrigger(w http.ResponseWriter, r *http.Request)
GitSyncTrigger manually triggers a sync operation for a configuration.
func (*Handler) GitTemplates ¶
func (h *Handler) GitTemplates(w http.ResponseWriter, r *http.Request)
GitTemplates returns gitignore and license templates
func (*Handler) GitTestConnection ¶
func (h *Handler) GitTestConnection(w http.ResponseWriter, r *http.Request)
GitTestConnection tests a Git connection
func (*Handler) GiteaAddCollaborator ¶
func (h *Handler) GiteaAddCollaborator(w http.ResponseWriter, r *http.Request)
GiteaAddCollaborator adds a user as a collaborator. PUT /integrations/gitea/repos/{id}/collaborators/{username}
func (*Handler) GiteaCancelActionRun ¶
func (h *Handler) GiteaCancelActionRun(w http.ResponseWriter, r *http.Request)
GiteaCancelActionRun cancels a workflow run. POST /integrations/gitea/repos/{id}/actions/runs/{runId}/cancel
func (*Handler) GiteaCompare ¶
func (h *Handler) GiteaCompare(w http.ResponseWriter, r *http.Request)
GiteaCompare compares two refs (branches, tags, or commits). GET /integrations/gitea/repos/{id}/compare?base=main&head=feature
func (*Handler) GiteaCreateBranch ¶
func (h *Handler) GiteaCreateBranch(w http.ResponseWriter, r *http.Request)
GiteaCreateBranch creates a new branch. POST /integrations/gitea/repos/{id}/branches
func (*Handler) GiteaCreateCommitStatus ¶
func (h *Handler) GiteaCreateCommitStatus(w http.ResponseWriter, r *http.Request)
GiteaCreateCommitStatus creates a status for a commit. POST /integrations/gitea/repos/{id}/statuses/{sha}
func (*Handler) GiteaCreateConnection ¶
func (h *Handler) GiteaCreateConnection(w http.ResponseWriter, r *http.Request)
GiteaCreateConnection handles POST /integrations/gitea/connections.
func (*Handler) GiteaCreateDeployKey ¶
func (h *Handler) GiteaCreateDeployKey(w http.ResponseWriter, r *http.Request)
GiteaCreateDeployKey creates a deploy key. POST /integrations/gitea/repos/{id}/keys
func (*Handler) GiteaCreateHook ¶
func (h *Handler) GiteaCreateHook(w http.ResponseWriter, r *http.Request)
GiteaCreateHook creates a webhook. POST /integrations/gitea/repos/{id}/hooks
func (*Handler) GiteaCreateIssue ¶
func (h *Handler) GiteaCreateIssue(w http.ResponseWriter, r *http.Request)
GiteaCreateIssue creates a new issue. POST /integrations/gitea/repos/{id}/issues
func (*Handler) GiteaCreateIssueComment ¶
func (h *Handler) GiteaCreateIssueComment(w http.ResponseWriter, r *http.Request)
GiteaCreateIssueComment creates a comment on an issue. POST /integrations/gitea/repos/{id}/issues/{number}/comments
func (*Handler) GiteaCreatePR ¶
func (h *Handler) GiteaCreatePR(w http.ResponseWriter, r *http.Request)
GiteaCreatePR creates a new pull request. POST /integrations/gitea/repos/{id}/pulls
func (*Handler) GiteaCreatePRReview ¶
func (h *Handler) GiteaCreatePRReview(w http.ResponseWriter, r *http.Request)
GiteaCreatePRReview creates a review on a pull request. POST /integrations/gitea/repos/{id}/pulls/{number}/reviews
func (*Handler) GiteaCreateRelease ¶
func (h *Handler) GiteaCreateRelease(w http.ResponseWriter, r *http.Request)
GiteaCreateRelease creates a release. POST /integrations/gitea/repos/{id}/releases
func (*Handler) GiteaCreateRepo ¶
func (h *Handler) GiteaCreateRepo(w http.ResponseWriter, r *http.Request)
GiteaCreateRepo creates a new repository. POST /integrations/gitea/repos
func (*Handler) GiteaCreateTag ¶
func (h *Handler) GiteaCreateTag(w http.ResponseWriter, r *http.Request)
GiteaCreateTag creates a new tag. POST /integrations/gitea/repos/{id}/tags
func (*Handler) GiteaDeleteBranch ¶
func (h *Handler) GiteaDeleteBranch(w http.ResponseWriter, r *http.Request)
GiteaDeleteBranch deletes a branch. DELETE /integrations/gitea/repos/{id}/branches/{name}
func (*Handler) GiteaDeleteConnection ¶
func (h *Handler) GiteaDeleteConnection(w http.ResponseWriter, r *http.Request)
GiteaDeleteConnection handles POST /integrations/gitea/connections/{id}/delete.
func (*Handler) GiteaDeleteDeployKey ¶
func (h *Handler) GiteaDeleteDeployKey(w http.ResponseWriter, r *http.Request)
GiteaDeleteDeployKey deletes a deploy key. DELETE /integrations/gitea/repos/{id}/keys/{keyId}
func (*Handler) GiteaDeleteHook ¶
func (h *Handler) GiteaDeleteHook(w http.ResponseWriter, r *http.Request)
GiteaDeleteHook deletes a webhook. DELETE /integrations/gitea/repos/{id}/hooks/{hookId}
func (*Handler) GiteaDeleteIssueComment ¶
func (h *Handler) GiteaDeleteIssueComment(w http.ResponseWriter, r *http.Request)
GiteaDeleteIssueComment deletes a comment. DELETE /integrations/gitea/repos/{id}/issues/comments/{commentId}
func (*Handler) GiteaDeleteRelease ¶
func (h *Handler) GiteaDeleteRelease(w http.ResponseWriter, r *http.Request)
GiteaDeleteRelease deletes a release. DELETE /integrations/gitea/repos/{id}/releases/{releaseId}
func (*Handler) GiteaDeleteReleaseAsset ¶
func (h *Handler) GiteaDeleteReleaseAsset(w http.ResponseWriter, r *http.Request)
GiteaDeleteReleaseAsset deletes a release asset. DELETE /integrations/gitea/repos/{id}/releases/{releaseId}/assets/{assetId}
func (*Handler) GiteaDeleteRepo ¶
func (h *Handler) GiteaDeleteRepo(w http.ResponseWriter, r *http.Request)
GiteaDeleteRepo deletes a repository. POST /integrations/gitea/repos/{id}/delete
func (*Handler) GiteaDeleteTag ¶
func (h *Handler) GiteaDeleteTag(w http.ResponseWriter, r *http.Request)
GiteaDeleteTag deletes a tag. DELETE /integrations/gitea/repos/{id}/tags/{name}
func (*Handler) GiteaEditHook ¶
func (h *Handler) GiteaEditHook(w http.ResponseWriter, r *http.Request)
GiteaEditHook updates a webhook. PATCH /integrations/gitea/repos/{id}/hooks/{hookId}
func (*Handler) GiteaEditIssue ¶
func (h *Handler) GiteaEditIssue(w http.ResponseWriter, r *http.Request)
GiteaEditIssue updates an issue. PATCH /integrations/gitea/repos/{id}/issues/{number}
func (*Handler) GiteaEditPR ¶
func (h *Handler) GiteaEditPR(w http.ResponseWriter, r *http.Request)
GiteaEditPR updates a pull request. PATCH /integrations/gitea/repos/{id}/pulls/{number}
func (*Handler) GiteaEditRelease ¶
func (h *Handler) GiteaEditRelease(w http.ResponseWriter, r *http.Request)
GiteaEditRelease updates a release. PATCH /integrations/gitea/repos/{id}/releases/{releaseId}
func (*Handler) GiteaEditRepo ¶
func (h *Handler) GiteaEditRepo(w http.ResponseWriter, r *http.Request)
GiteaEditRepo updates repository settings. POST /integrations/gitea/repos/{id}/edit
func (*Handler) GiteaFileContent ¶
func (h *Handler) GiteaFileContent(w http.ResponseWriter, r *http.Request)
GiteaFileContent returns the content of a single file. GET /integrations/gitea/repos/{id}/file?path=&ref=
func (*Handler) GiteaFileSave ¶
func (h *Handler) GiteaFileSave(w http.ResponseWriter, r *http.Request)
GiteaFileSave saves (commits) a file to Gitea. POST /integrations/gitea/repos/{id}/file
func (*Handler) GiteaGetActionJobLogs ¶
func (h *Handler) GiteaGetActionJobLogs(w http.ResponseWriter, r *http.Request)
GiteaGetActionJobLogs returns logs for a job. GET /integrations/gitea/repos/{id}/actions/jobs/{jobId}/logs
func (*Handler) GiteaGetActionRun ¶
func (h *Handler) GiteaGetActionRun(w http.ResponseWriter, r *http.Request)
GiteaGetActionRun returns a single workflow run. GET /integrations/gitea/repos/{id}/actions/runs/{runId}
func (*Handler) GiteaGetCollaboratorPermission ¶
func (h *Handler) GiteaGetCollaboratorPermission(w http.ResponseWriter, r *http.Request)
GiteaGetCollaboratorPermission returns the permission level for a collaborator. GET /integrations/gitea/repos/{id}/collaborators/{username}/permission
func (*Handler) GiteaGetCombinedStatus ¶
func (h *Handler) GiteaGetCombinedStatus(w http.ResponseWriter, r *http.Request)
GiteaGetCombinedStatus returns the combined status for a commit. GET /integrations/gitea/repos/{id}/commits/{sha}/status
func (*Handler) GiteaGetCommit ¶
func (h *Handler) GiteaGetCommit(w http.ResponseWriter, r *http.Request)
GiteaGetCommit returns a single commit with details. GET /integrations/gitea/repos/{id}/commits/{sha}
func (*Handler) GiteaGetDeployKey ¶
func (h *Handler) GiteaGetDeployKey(w http.ResponseWriter, r *http.Request)
GiteaGetDeployKey returns a single deploy key. GET /integrations/gitea/repos/{id}/keys/{keyId}
func (*Handler) GiteaGetDiff ¶
func (h *Handler) GiteaGetDiff(w http.ResponseWriter, r *http.Request)
GiteaGetDiff returns raw diff between two refs. GET /integrations/gitea/repos/{id}/diff?base=main&head=feature
func (*Handler) GiteaGetHook ¶
func (h *Handler) GiteaGetHook(w http.ResponseWriter, r *http.Request)
GiteaGetHook returns a single webhook. GET /integrations/gitea/repos/{id}/hooks/{hookId}
func (*Handler) GiteaGetIssue ¶
func (h *Handler) GiteaGetIssue(w http.ResponseWriter, r *http.Request)
GiteaGetIssue returns a single issue. GET /integrations/gitea/repos/{id}/issues/{number}
func (*Handler) GiteaGetLatestRelease ¶
func (h *Handler) GiteaGetLatestRelease(w http.ResponseWriter, r *http.Request)
GiteaGetLatestRelease returns the latest release. GET /integrations/gitea/repos/{id}/releases/latest
func (*Handler) GiteaGetPR ¶
func (h *Handler) GiteaGetPR(w http.ResponseWriter, r *http.Request)
GiteaGetPR returns a single pull request. GET /integrations/gitea/repos/{id}/pulls/{number}
func (*Handler) GiteaGetPRDiff ¶
func (h *Handler) GiteaGetPRDiff(w http.ResponseWriter, r *http.Request)
GiteaGetPRDiff returns the diff for a pull request. GET /integrations/gitea/repos/{id}/pulls/{number}/diff
func (*Handler) GiteaGetRelease ¶
func (h *Handler) GiteaGetRelease(w http.ResponseWriter, r *http.Request)
GiteaGetRelease returns a single release. GET /integrations/gitea/repos/{id}/releases/{releaseId}
func (*Handler) GiteaGetReleaseByTag ¶
func (h *Handler) GiteaGetReleaseByTag(w http.ResponseWriter, r *http.Request)
GiteaGetReleaseByTag returns a release by tag name. GET /integrations/gitea/repos/{id}/releases/tags/{tag}
func (*Handler) GiteaIssuesPage ¶
func (h *Handler) GiteaIssuesPage(w http.ResponseWriter, r *http.Request)
GiteaIssuesPage renders the issues list page. GET /integrations/gitea/repos/{id}/issues
func (*Handler) GiteaListActionJobs ¶
func (h *Handler) GiteaListActionJobs(w http.ResponseWriter, r *http.Request)
GiteaListActionJobs returns jobs for a workflow run. GET /integrations/gitea/repos/{id}/actions/runs/{runId}/jobs
func (*Handler) GiteaListActionRuns ¶
func (h *Handler) GiteaListActionRuns(w http.ResponseWriter, r *http.Request)
GiteaListActionRuns returns workflow runs for a repository. GET /integrations/gitea/repos/{id}/actions/runs
func (*Handler) GiteaListBranches ¶
func (h *Handler) GiteaListBranches(w http.ResponseWriter, r *http.Request)
GiteaListBranches returns branches as JSON. GET /integrations/gitea/repos/{id}/branches
func (*Handler) GiteaListCollaborators ¶
func (h *Handler) GiteaListCollaborators(w http.ResponseWriter, r *http.Request)
GiteaListCollaborators returns collaborators for a repository. GET /integrations/gitea/repos/{id}/collaborators
func (*Handler) GiteaListCommitStatuses ¶
func (h *Handler) GiteaListCommitStatuses(w http.ResponseWriter, r *http.Request)
GiteaListCommitStatuses returns statuses for a commit. GET /integrations/gitea/repos/{id}/commits/{sha}/statuses
func (*Handler) GiteaListCommitsFiltered ¶
func (h *Handler) GiteaListCommitsFiltered(w http.ResponseWriter, r *http.Request)
GiteaListCommitsFiltered returns commits with filtering as JSON. GET /integrations/gitea/repos/{id}/commits?sha=&path=&author=&since=&until=&page=&limit=
func (*Handler) GiteaListDeployKeys ¶
func (h *Handler) GiteaListDeployKeys(w http.ResponseWriter, r *http.Request)
GiteaListDeployKeys returns deploy keys for a repository. GET /integrations/gitea/repos/{id}/keys
func (*Handler) GiteaListHooks ¶
func (h *Handler) GiteaListHooks(w http.ResponseWriter, r *http.Request)
GiteaListHooks returns webhooks for a repository. GET /integrations/gitea/repos/{id}/hooks
func (*Handler) GiteaListIssueComments ¶
func (h *Handler) GiteaListIssueComments(w http.ResponseWriter, r *http.Request)
GiteaListIssueComments returns comments on an issue. GET /integrations/gitea/repos/{id}/issues/{number}/comments
func (*Handler) GiteaListIssues ¶
func (h *Handler) GiteaListIssues(w http.ResponseWriter, r *http.Request)
GiteaListIssues returns issues for a repository. GET /integrations/gitea/repos/{id}/issues If tab=issues query param or Accept: text/html, renders page; otherwise returns JSON.
func (*Handler) GiteaListLabels ¶
func (h *Handler) GiteaListLabels(w http.ResponseWriter, r *http.Request)
GiteaListLabels returns labels for a repository. GET /integrations/gitea/repos/{id}/labels
func (*Handler) GiteaListMilestones ¶
func (h *Handler) GiteaListMilestones(w http.ResponseWriter, r *http.Request)
GiteaListMilestones returns milestones for a repository. GET /integrations/gitea/repos/{id}/milestones
func (*Handler) GiteaListPRReviews ¶
func (h *Handler) GiteaListPRReviews(w http.ResponseWriter, r *http.Request)
GiteaListPRReviews returns reviews for a pull request. GET /integrations/gitea/repos/{id}/pulls/{number}/reviews
func (*Handler) GiteaListPRs ¶
func (h *Handler) GiteaListPRs(w http.ResponseWriter, r *http.Request)
GiteaListPRs returns pull requests for a repository. GET /integrations/gitea/repos/{id}/pulls If tab=pulls query param or Accept: text/html, renders page; otherwise returns JSON.
func (*Handler) GiteaListReleaseAssets ¶
func (h *Handler) GiteaListReleaseAssets(w http.ResponseWriter, r *http.Request)
GiteaListReleaseAssets returns assets for a release. GET /integrations/gitea/repos/{id}/releases/{releaseId}/assets
func (*Handler) GiteaListReleases ¶
func (h *Handler) GiteaListReleases(w http.ResponseWriter, r *http.Request)
GiteaListReleases returns releases for a repository. GET /integrations/gitea/repos/{id}/releases
func (*Handler) GiteaListRepoTeams ¶
func (h *Handler) GiteaListRepoTeams(w http.ResponseWriter, r *http.Request)
GiteaListRepoTeams returns teams with access to a repository. GET /integrations/gitea/repos/{id}/teams
func (*Handler) GiteaListTags ¶
func (h *Handler) GiteaListTags(w http.ResponseWriter, r *http.Request)
GiteaListTags returns tags as JSON. GET /integrations/gitea/repos/{id}/tags
func (*Handler) GiteaListWorkflows ¶
func (h *Handler) GiteaListWorkflows(w http.ResponseWriter, r *http.Request)
GiteaListWorkflows returns workflows for a repository. GET /integrations/gitea/repos/{id}/actions/workflows
func (*Handler) GiteaMergePR ¶
func (h *Handler) GiteaMergePR(w http.ResponseWriter, r *http.Request)
GiteaMergePR merges a pull request. POST /integrations/gitea/repos/{id}/pulls/{number}/merge
func (*Handler) GiteaPullRequestsPage ¶
func (h *Handler) GiteaPullRequestsPage(w http.ResponseWriter, r *http.Request)
GiteaPullRequestsPage renders the pull requests list page. GET /integrations/gitea/repos/{id}/pulls
func (*Handler) GiteaRemoveCollaborator ¶
func (h *Handler) GiteaRemoveCollaborator(w http.ResponseWriter, r *http.Request)
GiteaRemoveCollaborator removes a collaborator from a repository. DELETE /integrations/gitea/repos/{id}/collaborators/{username}
func (*Handler) GiteaRepoDetail ¶
func (h *Handler) GiteaRepoDetail(w http.ResponseWriter, r *http.Request)
GiteaRepoDetail renders the repo detail page with branches and recent commits. GET /integrations/gitea/repos/{id}
func (*Handler) GiteaRepoFiles ¶
func (h *Handler) GiteaRepoFiles(w http.ResponseWriter, r *http.Request)
GiteaRepoFiles returns the file tree for a path in a repo. GET /integrations/gitea/repos/{id}/files?path=&ref=
func (*Handler) GiteaRerunActionRun ¶
func (h *Handler) GiteaRerunActionRun(w http.ResponseWriter, r *http.Request)
GiteaRerunActionRun reruns a workflow run. POST /integrations/gitea/repos/{id}/actions/runs/{runId}/rerun
func (*Handler) GiteaSyncRepos ¶
func (h *Handler) GiteaSyncRepos(w http.ResponseWriter, r *http.Request)
GiteaSyncRepos handles POST /integrations/gitea/connections/{id}/sync.
func (*Handler) GiteaTempl ¶
func (h *Handler) GiteaTempl(w http.ResponseWriter, r *http.Request)
GiteaTempl renders the Gitea integrations page listing connections and repos. GET /integrations/gitea
func (*Handler) GiteaTemplates ¶
func (h *Handler) GiteaTemplates(w http.ResponseWriter, r *http.Request)
GiteaTemplates returns gitignore and license templates. GET /integrations/gitea/connections/{id}/templates
func (*Handler) GiteaTestConnection ¶
func (h *Handler) GiteaTestConnection(w http.ResponseWriter, r *http.Request)
GiteaTestConnection handles POST /integrations/gitea/connections/{id}/test.
func (*Handler) GiteaTestHook ¶
func (h *Handler) GiteaTestHook(w http.ResponseWriter, r *http.Request)
GiteaTestHook tests a webhook. POST /integrations/gitea/repos/{id}/hooks/{hookId}/test
func (*Handler) GiteaWebhookReceiver ¶
func (h *Handler) GiteaWebhookReceiver(w http.ResponseWriter, r *http.Request)
GiteaWebhookReceiver handles POST /webhooks/gitea. Validates HMAC-SHA256 signature and stores the event.
func (*Handler) HealthCheck ¶
func (h *Handler) HealthCheck(w http.ResponseWriter, r *http.Request)
HealthCheck returns health status.
func (*Handler) HealthDashTempl ¶
func (h *Handler) HealthDashTempl(w http.ResponseWriter, r *http.Request)
HealthDashTempl renders the container health check dashboard.
func (*Handler) HostCreateFormTempl ¶
func (h *Handler) HostCreateFormTempl(w http.ResponseWriter, r *http.Request)
HostCreateFormTempl renders the "Add Node" form page.
func (*Handler) HostCreateTempl ¶
func (h *Handler) HostCreateTempl(w http.ResponseWriter, r *http.Request)
HostCreateTempl handles POST /nodes/create - creates a new host.
func (*Handler) HostDetailTempl ¶
func (h *Handler) HostDetailTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) HostEditFormTempl ¶
func (h *Handler) HostEditFormTempl(w http.ResponseWriter, r *http.Request)
HostEditFormTempl renders the "Edit Node" form page.
func (*Handler) HostFilesTempl ¶
func (h *Handler) HostFilesTempl(w http.ResponseWriter, r *http.Request)
HostFilesTempl renders the host file browser page.
func (*Handler) HostRemoveTempl ¶
func (h *Handler) HostRemoveTempl(w http.ResponseWriter, r *http.Request)
HostRemoveTempl handles DELETE /nodes/{id} - deletes a host.
func (*Handler) HostTerminalTempl ¶
func (h *Handler) HostTerminalTempl(w http.ResponseWriter, r *http.Request)
HostTerminalTempl renders the host terminal page.
func (*Handler) HostUpdateTempl ¶
func (h *Handler) HostUpdateTempl(w http.ResponseWriter, r *http.Request)
HostUpdateTempl handles POST /nodes/{id} - updates a host.
func (*Handler) HostsTempl ¶
func (h *Handler) HostsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ImageBuilderCreateTempl ¶
func (h *Handler) ImageBuilderCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ImageBuilderDetailTempl ¶
func (h *Handler) ImageBuilderDetailTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderDetailTempl renders a build detail page with a live log pane wired to the API's WebSocket endpoint.
func (*Handler) ImageBuilderListTempl ¶
func (h *Handler) ImageBuilderListTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderListTempl renders the image builder list page.
func (*Handler) ImageBuilderNewTempl ¶
func (h *Handler) ImageBuilderNewTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderNewTempl renders the new build form. When ?template=<id> is present the Dockerfile field pre-fills from that template.
func (*Handler) ImageBuilderTemplateCreateTempl ¶
func (h *Handler) ImageBuilderTemplateCreateTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderTemplateCreateTempl handles POST /image-builder/templates.
func (*Handler) ImageBuilderTemplateDeleteTempl ¶
func (h *Handler) ImageBuilderTemplateDeleteTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderTemplateDeleteTempl handles POST /image-builder/templates/{id}/delete. Built-in templates surface a 403 instead of being removed.
func (*Handler) ImageBuilderTemplateListTempl ¶
func (h *Handler) ImageBuilderTemplateListTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderTemplateListTempl renders the Dockerfile templates page.
func (*Handler) ImageBuilderTemplateNewTempl ¶
func (h *Handler) ImageBuilderTemplateNewTempl(w http.ResponseWriter, r *http.Request)
ImageBuilderTemplateNewTempl renders the new template form.
func (*Handler) ImageDetailTempl ¶
func (h *Handler) ImageDetailTempl(w http.ResponseWriter, r *http.Request)
ImageDetailTempl renders the image detail page using templ
func (*Handler) ImagePull ¶
func (h *Handler) ImagePull(w http.ResponseWriter, r *http.Request)
ImagePull renders the image pull page.
func (*Handler) ImagePullSubmit ¶
func (h *Handler) ImagePullSubmit(w http.ResponseWriter, r *http.Request)
func (*Handler) ImageRemove ¶
func (h *Handler) ImageRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) ImageSignSeed ¶
func (h *Handler) ImageSignSeed(w http.ResponseWriter, r *http.Request)
ImageSignSeed seeds default trust policies.
func (*Handler) ImageSignaturesJSON ¶
func (h *Handler) ImageSignaturesJSON(w http.ResponseWriter, r *http.Request)
ImageSignaturesJSON returns signatures for an image.
func (*Handler) ImageSigningPageTempl ¶
func (h *Handler) ImageSigningPageTempl(w http.ResponseWriter, r *http.Request)
ImageSigningPageTempl renders the image signing page.
func (*Handler) ImageTrustPoliciesJSON ¶
func (h *Handler) ImageTrustPoliciesJSON(w http.ResponseWriter, r *http.Request)
ImageTrustPoliciesJSON lists trust policies.
func (*Handler) ImageVerifyJSON ¶
func (h *Handler) ImageVerifyJSON(w http.ResponseWriter, r *http.Request)
ImageVerifyJSON verifies an image's signatures against trust policies.
func (*Handler) ImagesPartial ¶
func (h *Handler) ImagesPartial(w http.ResponseWriter, r *http.Request)
func (*Handler) ImagesPrune ¶
func (h *Handler) ImagesPrune(w http.ResponseWriter, r *http.Request)
func (*Handler) ImagesTempl ¶
func (h *Handler) ImagesTempl(w http.ResponseWriter, r *http.Request)
ImagesTempl lists all images using Templ.
func (*Handler) InstanceBackup ¶
func (h *Handler) InstanceBackup(w http.ResponseWriter, r *http.Request)
InstanceBackup creates an encrypted backup of the entire usulnet instance. It exports the database (via SQL dump) into a tar.gz file encrypted with AES-256-GCM.
func (*Handler) InstanceRestore ¶
func (h *Handler) InstanceRestore(w http.ResponseWriter, r *http.Request)
InstanceRestore restores an instance from an encrypted backup.
func (*Handler) JobCancel ¶
func (h *Handler) JobCancel(w http.ResponseWriter, r *http.Request)
JobCancel handles canceling a pending or running job.
func (*Handler) JobDelete ¶
func (h *Handler) JobDelete(w http.ResponseWriter, r *http.Request)
JobDelete handles deleting a completed/failed/canceled job.
func (*Handler) JobDetailTempl ¶
func (h *Handler) JobDetailTempl(w http.ResponseWriter, r *http.Request)
JobDetailTempl renders the detail page for a single job.
func (*Handler) JobsTempl ¶
func (h *Handler) JobsTempl(w http.ResponseWriter, r *http.Request)
JobsTempl renders the scheduler jobs list page.
func (*Handler) LDAPBrowserTempl ¶
func (h *Handler) LDAPBrowserTempl(w http.ResponseWriter, r *http.Request)
LDAPBrowserTempl renders the LDAP browser page.
func (*Handler) LDAPConnectionCreate ¶
func (h *Handler) LDAPConnectionCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) LDAPConnectionDelete ¶
func (h *Handler) LDAPConnectionDelete(w http.ResponseWriter, r *http.Request)
LDAPConnectionDelete deletes an LDAP connection.
func (*Handler) LDAPConnectionSettingsTempl ¶
func (h *Handler) LDAPConnectionSettingsTempl(w http.ResponseWriter, r *http.Request)
LDAPConnectionSettingsTempl renders the LDAP connection settings/edit page.
func (*Handler) LDAPConnectionSettingsUpdate ¶
func (h *Handler) LDAPConnectionSettingsUpdate(w http.ResponseWriter, r *http.Request)
LDAPConnectionSettingsUpdate updates an LDAP connection from the settings form.
func (*Handler) LDAPConnectionTest ¶
func (h *Handler) LDAPConnectionTest(w http.ResponseWriter, r *http.Request)
LDAPConnectionTest tests an LDAP connection.
func (*Handler) LDAPConnectionsTempl ¶
func (h *Handler) LDAPConnectionsTempl(w http.ResponseWriter, r *http.Request)
LDAPConnectionsTempl renders the LDAP connections list page.
func (*Handler) LDAPProviderCreate ¶
func (h *Handler) LDAPProviderCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) LDAPProviderDelete ¶
func (h *Handler) LDAPProviderDelete(w http.ResponseWriter, r *http.Request)
LDAPProviderDelete handles deleting an LDAP provider.
func (*Handler) LDAPProviderDisable ¶
func (h *Handler) LDAPProviderDisable(w http.ResponseWriter, r *http.Request)
LDAPProviderDisable handles disabling an LDAP provider.
func (*Handler) LDAPProviderEditTempl ¶
func (h *Handler) LDAPProviderEditTempl(w http.ResponseWriter, r *http.Request)
LDAPProviderEditTempl renders the LDAP provider edit page.
func (*Handler) LDAPProviderEnable ¶
func (h *Handler) LDAPProviderEnable(w http.ResponseWriter, r *http.Request)
LDAPProviderEnable handles enabling an LDAP provider.
func (*Handler) LDAPProviderTest ¶
func (h *Handler) LDAPProviderTest(w http.ResponseWriter, r *http.Request)
LDAPProviderTest handles testing an LDAP provider connection.
func (*Handler) LDAPProviderUpdate ¶
func (h *Handler) LDAPProviderUpdate(w http.ResponseWriter, r *http.Request)
LDAPProviderUpdate handles updating an LDAP provider.
func (*Handler) LDAPProvidersTempl ¶
func (h *Handler) LDAPProvidersTempl(w http.ResponseWriter, r *http.Request)
LDAPProvidersTempl renders the LDAP providers list page.
func (*Handler) LDAPSearchExecute ¶
func (h *Handler) LDAPSearchExecute(w http.ResponseWriter, r *http.Request)
LDAPSearchExecute executes an LDAP search.
func (*Handler) LDAPSearchTempl ¶
func (h *Handler) LDAPSearchTempl(w http.ResponseWriter, r *http.Request)
LDAPSearchTempl renders the LDAP search page.
func (*Handler) LDAPWriteModeToggle ¶
func (h *Handler) LDAPWriteModeToggle(w http.ResponseWriter, r *http.Request)
LDAPWriteModeToggle toggles write mode for LDAP browser.
func (*Handler) LicenseActivate ¶
func (h *Handler) LicenseActivate(w http.ResponseWriter, r *http.Request)
LicenseActivate handles license key activation via JWT.
func (*Handler) LicenseDeactivate ¶
func (h *Handler) LicenseDeactivate(w http.ResponseWriter, r *http.Request)
LicenseDeactivate handles license deactivation (reverts to CE).
func (*Handler) LicenseTempl ¶
func (h *Handler) LicenseTempl(w http.ResponseWriter, r *http.Request)
LicenseTempl renders the license management page.
func (*Handler) LifecyclePoliciesTempl ¶
func (h *Handler) LifecyclePoliciesTempl(w http.ResponseWriter, r *http.Request)
LifecyclePoliciesTempl renders the lifecycle policies page.
func (*Handler) LifecyclePolicyCreate ¶
func (h *Handler) LifecyclePolicyCreate(w http.ResponseWriter, r *http.Request)
LifecyclePolicyCreate creates a new lifecycle policy.
func (*Handler) LifecyclePolicyDelete ¶
func (h *Handler) LifecyclePolicyDelete(w http.ResponseWriter, r *http.Request)
LifecyclePolicyDelete deletes a lifecycle policy.
func (*Handler) LifecyclePolicyExecute ¶
func (h *Handler) LifecyclePolicyExecute(w http.ResponseWriter, r *http.Request)
LifecyclePolicyExecute executes a lifecycle policy immediately.
func (*Handler) LifecyclePolicyToggle ¶
func (h *Handler) LifecyclePolicyToggle(w http.ResponseWriter, r *http.Request)
LifecyclePolicyToggle toggles a policy enabled/disabled.
func (*Handler) LogManagement ¶
func (h *Handler) LogManagement(w http.ResponseWriter, r *http.Request)
LogManagement renders the log management page. GET /logs/management
func (*Handler) LogSearchAPI ¶
func (h *Handler) LogSearchAPI(w http.ResponseWriter, r *http.Request)
LogSearchAPI handles log search requests. GET /api/logs/search
TODO(session 16): wire this through a real search backend (logagg.Service.Search with models.LogSearchOptions). The current implementation fetches container logs directly and filters them in memory, ignoring time_range entirely. The time-range parsing block was previously here but unused; restore it together with the repository-backed search.
func (*Handler) LogSearchJSON ¶
func (h *Handler) LogSearchJSON(w http.ResponseWriter, r *http.Request)
LogSearchJSON handles log search requests.
func (*Handler) LogStatsJSON ¶
func (h *Handler) LogStatsJSON(w http.ResponseWriter, r *http.Request)
LogStatsJSON returns log aggregation statistics.
func (*Handler) LogUpload ¶
func (h *Handler) LogUpload(w http.ResponseWriter, r *http.Request)
LogUpload handles log file uploads. POST /logs/uploads
func (*Handler) LogUploadAnalyze ¶
func (h *Handler) LogUploadAnalyze(w http.ResponseWriter, r *http.Request)
LogUploadAnalyze shows analysis of an uploaded log file. GET /logs/uploads/{id}
func (*Handler) LogUploadDelete ¶
func (h *Handler) LogUploadDelete(w http.ResponseWriter, r *http.Request)
LogUploadDelete deletes an uploaded log file. DELETE /logs/uploads/{id}
func (*Handler) LoginPageTempl ¶
func (h *Handler) LoginPageTempl(w http.ResponseWriter, r *http.Request)
LoginPageTempl renders the login page using Templ.
func (*Handler) LoginSubmit ¶
func (h *Handler) LoginSubmit(w http.ResponseWriter, r *http.Request)
LoginSubmit handles login form submission.
func (*Handler) Logout ¶
func (h *Handler) Logout(w http.ResponseWriter, r *http.Request)
Logout handles user logout.
func (*Handler) LogsPageTempl ¶
func (h *Handler) LogsPageTempl(w http.ResponseWriter, r *http.Request)
LogsPageTempl renders the centralized multi-container logs viewer.
func (*Handler) MaintenanceCreate ¶
func (h *Handler) MaintenanceCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) MaintenanceDelete ¶
func (h *Handler) MaintenanceDelete(w http.ResponseWriter, r *http.Request)
MaintenanceDelete deletes a maintenance window.
func (*Handler) MaintenanceExecute ¶
func (h *Handler) MaintenanceExecute(w http.ResponseWriter, r *http.Request)
MaintenanceExecute manually triggers a maintenance window.
func (*Handler) MaintenanceTempl ¶
func (h *Handler) MaintenanceTempl(w http.ResponseWriter, r *http.Request)
MaintenanceTempl renders the maintenance windows page.
func (*Handler) MaintenanceToggle ¶
func (h *Handler) MaintenanceToggle(w http.ResponseWriter, r *http.Request)
MaintenanceToggle toggles a maintenance window enabled/disabled.
func (*Handler) ManifestBuilderPageTempl ¶
func (h *Handler) ManifestBuilderPageTempl(w http.ResponseWriter, r *http.Request)
ManifestBuilderPageTempl renders the manifest builder page.
func (*Handler) ManifestComponentsJSON ¶
func (h *Handler) ManifestComponentsJSON(w http.ResponseWriter, r *http.Request)
ManifestComponentsJSON returns available builder components.
func (*Handler) ManifestGenerateJSON ¶
func (h *Handler) ManifestGenerateJSON(w http.ResponseWriter, r *http.Request)
ManifestGenerateJSON generates a manifest from service blocks.
func (*Handler) ManifestSeedJSON ¶
func (h *Handler) ManifestSeedJSON(w http.ResponseWriter, r *http.Request)
ManifestSeedJSON seeds builtin templates and components.
func (*Handler) ManifestSessionCreate ¶
func (h *Handler) ManifestSessionCreate(w http.ResponseWriter, r *http.Request)
ManifestSessionCreate creates a new builder session.
func (*Handler) ManifestSessionDelete ¶
func (h *Handler) ManifestSessionDelete(w http.ResponseWriter, r *http.Request)
ManifestSessionDelete deletes a builder session.
func (*Handler) ManifestSessionGet ¶
func (h *Handler) ManifestSessionGet(w http.ResponseWriter, r *http.Request)
ManifestSessionGet returns a single builder session.
func (*Handler) ManifestSessionSave ¶
func (h *Handler) ManifestSessionSave(w http.ResponseWriter, r *http.Request)
ManifestSessionSave marks a builder session as saved.
func (*Handler) ManifestSessionUpdate ¶
func (h *Handler) ManifestSessionUpdate(w http.ResponseWriter, r *http.Request)
ManifestSessionUpdate updates a builder session's canvas state and services.
func (*Handler) ManifestSessionsJSON ¶
func (h *Handler) ManifestSessionsJSON(w http.ResponseWriter, r *http.Request)
ManifestSessionsJSON returns all builder sessions for the current user.
func (*Handler) ManifestTemplateCategoriesJSON ¶
func (h *Handler) ManifestTemplateCategoriesJSON(w http.ResponseWriter, r *http.Request)
ManifestTemplateCategoriesJSON returns available template categories.
func (*Handler) ManifestTemplateCreate ¶
func (h *Handler) ManifestTemplateCreate(w http.ResponseWriter, r *http.Request)
ManifestTemplateCreate creates a new manifest template.
func (*Handler) ManifestTemplateDelete ¶
func (h *Handler) ManifestTemplateDelete(w http.ResponseWriter, r *http.Request)
ManifestTemplateDelete deletes a manifest template.
func (*Handler) ManifestTemplateGet ¶
func (h *Handler) ManifestTemplateGet(w http.ResponseWriter, r *http.Request)
ManifestTemplateGet returns a single manifest template.
func (*Handler) ManifestTemplateRender ¶
func (h *Handler) ManifestTemplateRender(w http.ResponseWriter, r *http.Request)
ManifestTemplateRender renders a template with provided variables.
func (*Handler) ManifestTemplatesJSON ¶
func (h *Handler) ManifestTemplatesJSON(w http.ResponseWriter, r *http.Request)
ManifestTemplatesJSON returns all manifest templates.
func (*Handler) ManifestValidateJSON ¶
func (h *Handler) ManifestValidateJSON(w http.ResponseWriter, r *http.Request)
ManifestValidateJSON validates a manifest.
func (*Handler) MarketplaceDetailTempl ¶
func (h *Handler) MarketplaceDetailTempl(w http.ResponseWriter, r *http.Request)
MarketplaceDetailTempl renders the app detail page.
func (*Handler) MarketplaceInstallCreateTempl ¶
func (h *Handler) MarketplaceInstallCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) MarketplaceInstallTempl ¶
func (h *Handler) MarketplaceInstallTempl(w http.ResponseWriter, r *http.Request)
MarketplaceInstallTempl renders the per-app install form.
func (*Handler) MarketplaceInstalledTempl ¶
func (h *Handler) MarketplaceInstalledTempl(w http.ResponseWriter, r *http.Request)
MarketplaceInstalledTempl renders the installed apps page.
func (*Handler) MarketplaceListTempl ¶
func (h *Handler) MarketplaceListTempl(w http.ResponseWriter, r *http.Request)
MarketplaceListTempl renders the marketplace browse page.
func (*Handler) MarketplaceReviewCreateTempl ¶
func (h *Handler) MarketplaceReviewCreateTempl(w http.ResponseWriter, r *http.Request)
MarketplaceReviewCreateTempl handles the review form submission.
func (*Handler) MarketplaceReviewTempl ¶
func (h *Handler) MarketplaceReviewTempl(w http.ResponseWriter, r *http.Request)
MarketplaceReviewTempl renders the leave-a-review form.
func (*Handler) MarketplaceSubmitCreateTempl ¶
func (h *Handler) MarketplaceSubmitCreateTempl(w http.ResponseWriter, r *http.Request)
MarketplaceSubmitCreateTempl handles the submit app form submission.
func (*Handler) MarketplaceSubmitTempl ¶
func (h *Handler) MarketplaceSubmitTempl(w http.ResponseWriter, r *http.Request)
MarketplaceSubmitTempl renders the submit app form.
func (*Handler) MarketplaceUninstallTempl ¶
func (h *Handler) MarketplaceUninstallTempl(w http.ResponseWriter, r *http.Request)
MarketplaceUninstallTempl handles uninstalling an app.
func (*Handler) MetadataDownloadStripped ¶
func (h *Handler) MetadataDownloadStripped(w http.ResponseWriter, r *http.Request)
MetadataDownloadStripped streams the stripped bytes for an artifact.
func (*Handler) MetadataJobDetailTempl ¶
func (h *Handler) MetadataJobDetailTempl(w http.ResponseWriter, r *http.Request)
MetadataJobDetailTempl renders /recon/metadata/jobs/{id}.
func (*Handler) MetadataUploadSubmit ¶
func (h *Handler) MetadataUploadSubmit(w http.ResponseWriter, r *http.Request)
MetadataUploadSubmit handles POST /recon/metadata/jobs (multipart). Returns the upload_result partial when called via HTMX, or a JSON shape for regular form consumers. The canonical JSON-API equivalent lives at POST /api/v1/metadata/jobs and is owned by internal/api/handlers/metadata.go.
func (*Handler) MetadataUploadTempl ¶
func (h *Handler) MetadataUploadTempl(w http.ResponseWriter, r *http.Request)
MetadataUploadTempl renders /recon/metadata — drag-drop upload page.
func (*Handler) MonitoringContainerPage ¶
func (h *Handler) MonitoringContainerPage(w http.ResponseWriter, r *http.Request)
MonitoringContainerPage renders the detail monitoring page for a single container.
func (*Handler) MonitoringContainersPartial ¶
func (h *Handler) MonitoringContainersPartial(w http.ResponseWriter, r *http.Request)
MonitoringContainersPartial returns per-container stats as HTMX partial or JSON.
func (*Handler) MonitoringHistoryJSON ¶
func (h *Handler) MonitoringHistoryJSON(w http.ResponseWriter, r *http.Request)
MonitoringHistoryJSON returns time-series data for Chart.js rendering. Query params: type=host|container, container_id=xxx, range=1h|6h|24h|7d, interval=1m|5m|1h|1d
func (*Handler) MonitoringHostPartial ¶
func (h *Handler) MonitoringHostPartial(w http.ResponseWriter, r *http.Request)
MonitoringHostPartial returns host stats as HTMX partial or JSON.
func (*Handler) MonitoringPage ¶
func (h *Handler) MonitoringPage(w http.ResponseWriter, r *http.Request)
MonitoringPage renders the main monitoring dashboard.
func (*Handler) MonitoringTempl ¶
func (h *Handler) MonitoringTempl(w http.ResponseWriter, r *http.Request)
MonitoringTempl renders the main monitoring page with current host + container stats. Phase 8 will add Templ templates; for now returns JSON.
func (*Handler) NetworkConnect ¶
func (h *Handler) NetworkConnect(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworkCreate ¶
func (h *Handler) NetworkCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworkDetailTempl ¶
func (h *Handler) NetworkDetailTempl(w http.ResponseWriter, r *http.Request)
NetworkDetailTempl renders the network detail page using templ
func (*Handler) NetworkDisconnect ¶
func (h *Handler) NetworkDisconnect(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworkNewTempl ¶
func (h *Handler) NetworkNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworkRemove ¶
func (h *Handler) NetworkRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworksPrune ¶
func (h *Handler) NetworksPrune(w http.ResponseWriter, r *http.Request)
func (*Handler) NetworksTempl ¶
func (h *Handler) NetworksTempl(w http.ResponseWriter, r *http.Request)
NetworksTempl lists all networks using Templ.
func (*Handler) NotificationChannelCreate ¶
func (h *Handler) NotificationChannelCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) NotificationChannelDelete ¶
func (h *Handler) NotificationChannelDelete(w http.ResponseWriter, r *http.Request)
NotificationChannelDelete deletes a notification channel.
func (*Handler) NotificationChannelEditTempl ¶
func (h *Handler) NotificationChannelEditTempl(w http.ResponseWriter, r *http.Request)
NotificationChannelEditTempl renders the notification channel edit page.
func (*Handler) NotificationChannelTest ¶
func (h *Handler) NotificationChannelTest(w http.ResponseWriter, r *http.Request)
NotificationChannelTest sends a test notification to a channel.
func (*Handler) NotificationChannelsTempl ¶
func (h *Handler) NotificationChannelsTempl(w http.ResponseWriter, r *http.Request)
NotificationChannelsTempl renders the notification channels configuration page.
func (*Handler) NotificationDelete ¶
func (h *Handler) NotificationDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) NotificationMarkRead ¶
func (h *Handler) NotificationMarkRead(w http.ResponseWriter, r *http.Request)
func (*Handler) NotificationsMarkAllRead ¶
func (h *Handler) NotificationsMarkAllRead(w http.ResponseWriter, r *http.Request)
func (*Handler) NotificationsPartialTempl ¶
func (h *Handler) NotificationsPartialTempl(w http.ResponseWriter, r *http.Request)
NotificationsPartialTempl renders notifications dropdown content (from alert events).
func (*Handler) NotificationsTempl ¶
func (h *Handler) NotificationsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) OAuthCallbackHandler ¶
func (h *Handler) OAuthCallbackHandler(w http.ResponseWriter, r *http.Request)
OAuthCallbackHandler handles the OAuth provider's callback after user authorization.
func (*Handler) OAuthLogin ¶
func (h *Handler) OAuthLogin(w http.ResponseWriter, r *http.Request)
OAuthLogin initiates the OAuth login flow by redirecting to the provider's authorization URL.
func (*Handler) OAuthProviderCreate ¶
func (h *Handler) OAuthProviderCreate(w http.ResponseWriter, r *http.Request)
OAuthProviderCreate handles creating a new OAuth provider.
func (*Handler) OAuthProviderDelete ¶
func (h *Handler) OAuthProviderDelete(w http.ResponseWriter, r *http.Request)
OAuthProviderDelete handles deleting an OAuth provider.
func (*Handler) OAuthProviderDisable ¶
func (h *Handler) OAuthProviderDisable(w http.ResponseWriter, r *http.Request)
OAuthProviderDisable handles disabling an OAuth provider.
func (*Handler) OAuthProviderEditTempl ¶
func (h *Handler) OAuthProviderEditTempl(w http.ResponseWriter, r *http.Request)
OAuthProviderEditTempl renders the OAuth provider edit page.
func (*Handler) OAuthProviderEnable ¶
func (h *Handler) OAuthProviderEnable(w http.ResponseWriter, r *http.Request)
OAuthProviderEnable handles enabling an OAuth provider.
func (*Handler) OAuthProviderUpdate ¶
func (h *Handler) OAuthProviderUpdate(w http.ResponseWriter, r *http.Request)
OAuthProviderUpdate handles updating an OAuth provider.
func (*Handler) OAuthProvidersTempl ¶
func (h *Handler) OAuthProvidersTempl(w http.ResponseWriter, r *http.Request)
OAuthProvidersTempl renders the OAuth providers list page.
func (*Handler) OPAPoliciesJSON ¶
func (h *Handler) OPAPoliciesJSON(w http.ResponseWriter, r *http.Request)
OPAPoliciesJSON returns OPA policies as JSON.
func (*Handler) OPAPoliciesPageTempl ¶
func (h *Handler) OPAPoliciesPageTempl(w http.ResponseWriter, r *http.Request)
OPAPoliciesPageTempl renders the OPA policies management page.
func (*Handler) OPAPolicyEvaluateContainer ¶
func (h *Handler) OPAPolicyEvaluateContainer(w http.ResponseWriter, r *http.Request)
OPAPolicyEvaluateContainer evaluates OPA policies against a container.
func (*Handler) OPAPolicySeed ¶
func (h *Handler) OPAPolicySeed(w http.ResponseWriter, r *http.Request)
OPAPolicySeed seeds default OPA policies.
func (*Handler) OnboardingCompleted ¶
OnboardingCompleted is the nil-safe form of OnboardingSvc().IsCompleted(). When the service isn't wired, we report completed so the wizard pages don't render — same fail-open behaviour as the middleware.
func (*Handler) OnboardingDoneTempl ¶
func (h *Handler) OnboardingDoneTempl(w http.ResponseWriter, r *http.Request)
OnboardingDoneTempl renders the "you're set" step. The redirect to here only happens after a successful password write, so reaching it implies the mandatory step is satisfied.
func (*Handler) OnboardingFinish ¶
func (h *Handler) OnboardingFinish(w http.ResponseWriter, r *http.Request)
OnboardingFinish handles POST /onboarding/finish — flips the onboarding_completed flag and sends the operator to the dashboard. The middleware stops redirecting after the flag flips, so future requests skip the wizard.
func (*Handler) OnboardingSvc ¶
func (h *Handler) OnboardingSvc() OnboardingService
OnboardingSvc returns the wired onboarding service, or nil if the dependency was never injected (e.g., in tests).
func (*Handler) OnboardingWelcomeSubmit ¶
func (h *Handler) OnboardingWelcomeSubmit(w http.ResponseWriter, r *http.Request)
OnboardingWelcomeSubmit handles POST /onboarding/welcome — it validates and writes the new admin password, then renders the "done" step. It does NOT call MarkComplete yet; the operator has to explicitly click "Finish setup" on the done page.
func (*Handler) OnboardingWelcomeTempl ¶
func (h *Handler) OnboardingWelcomeTempl(w http.ResponseWriter, r *http.Request)
OnboardingWelcomeTempl renders the mandatory password-change form.
func (*Handler) OpenAPIDocsTempl ¶
func (h *Handler) OpenAPIDocsTempl(w http.ResponseWriter, r *http.Request)
OpenAPIDocsTempl serves a Swagger UI page that loads the OpenAPI spec.
func (*Handler) OverviewTempl ¶
func (h *Handler) OverviewTempl(w http.ResponseWriter, r *http.Request)
OverviewTempl renders the multi-node aggregate dashboard.
func (*Handler) PacketCapture ¶
func (h *Handler) PacketCapture(w http.ResponseWriter, r *http.Request)
PacketCapture renders the packet capture page. GET /tools/capture
func (*Handler) PacketCaptureAnalyze ¶
func (h *Handler) PacketCaptureAnalyze(w http.ResponseWriter, r *http.Request)
PacketCaptureAnalyze returns PCAP analysis results as JSON. GET /tools/capture/{id}/analyze
func (*Handler) PacketCaptureDelete ¶
func (h *Handler) PacketCaptureDelete(w http.ResponseWriter, r *http.Request)
PacketCaptureDelete deletes a capture. DELETE /tools/capture/{id}
func (*Handler) PacketCaptureDetail ¶
func (h *Handler) PacketCaptureDetail(w http.ResponseWriter, r *http.Request)
PacketCaptureDetail shows capture details. GET /tools/capture/{id}
func (*Handler) PacketCaptureDownload ¶
func (h *Handler) PacketCaptureDownload(w http.ResponseWriter, r *http.Request)
PacketCaptureDownload downloads the PCAP file. GET /tools/capture/{id}/download
func (*Handler) PacketCaptureStart ¶
func (h *Handler) PacketCaptureStart(w http.ResponseWriter, r *http.Request)
PacketCaptureStart starts a new packet capture. POST /tools/capture/start
func (*Handler) PacketCaptureStop ¶
func (h *Handler) PacketCaptureStop(w http.ResponseWriter, r *http.Request)
PacketCaptureStop stops a running capture. POST /tools/capture/{id}/stop
func (*Handler) PortsTempl ¶
func (h *Handler) PortsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ProfilePage ¶
func (h *Handler) ProfilePage(w http.ResponseWriter, r *http.Request)
ProfilePage renders the user profile page.
func (*Handler) ProfileTempl ¶
func (h *Handler) ProfileTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) PrometheusMetrics ¶
func (h *Handler) PrometheusMetrics(w http.ResponseWriter, r *http.Request)
PrometheusMetrics returns metrics in Prometheus text exposition format. Public endpoint (no auth), suitable for Prometheus scraping.
func (*Handler) ProxyDetailTempl ¶
func (h *Handler) ProxyDetailTempl(w http.ResponseWriter, r *http.Request)
ProxyDetailTempl renders proxy host detail page.
func (*Handler) ProxyEditTempl ¶
func (h *Handler) ProxyEditTempl(w http.ResponseWriter, r *http.Request)
ProxyEditTempl renders the edit proxy host form.
func (*Handler) ProxyHostCreateTempl ¶
func (h *Handler) ProxyHostCreateTempl(w http.ResponseWriter, r *http.Request)
ProxyHostCreateTempl handles POST /proxy/hosts to create a new proxy host.
func (*Handler) ProxyHostDeleteTempl ¶
func (h *Handler) ProxyHostDeleteTempl(w http.ResponseWriter, r *http.Request)
ProxyHostDeleteTempl handles DELETE /proxy/hosts/{id}.
func (*Handler) ProxyHostDisableTempl ¶
func (h *Handler) ProxyHostDisableTempl(w http.ResponseWriter, r *http.Request)
ProxyHostDisableTempl handles POST /proxy/hosts/{id}/disable.
func (*Handler) ProxyHostEnableTempl ¶
func (h *Handler) ProxyHostEnableTempl(w http.ResponseWriter, r *http.Request)
ProxyHostEnableTempl handles POST /proxy/hosts/{id}/enable.
func (*Handler) ProxyHostUpdateTempl ¶
func (h *Handler) ProxyHostUpdateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ProxyNewTempl ¶
func (h *Handler) ProxyNewTempl(w http.ResponseWriter, r *http.Request)
ProxyNewTempl renders the new proxy host form.
func (*Handler) ProxySetupDeleteTempl ¶
func (h *Handler) ProxySetupDeleteTempl(w http.ResponseWriter, r *http.Request)
ProxySetupDeleteTempl handles POST /proxy/setup/delete to remove NPM connection.
func (*Handler) ProxySetupSaveTempl ¶
func (h *Handler) ProxySetupSaveTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) ProxySetupTempl ¶
func (h *Handler) ProxySetupTempl(w http.ResponseWriter, r *http.Request)
ProxySetupTempl renders the NPM connection setup page.
func (*Handler) ProxySetupTestTempl ¶
func (h *Handler) ProxySetupTestTempl(w http.ResponseWriter, r *http.Request)
ProxySetupTestTempl handles POST /proxy/setup/test to test NPM connection.
func (*Handler) ProxySyncTempl ¶
func (h *Handler) ProxySyncTempl(w http.ResponseWriter, r *http.Request)
ProxySyncTempl handles POST /proxy/sync to trigger NPM sync.
func (*Handler) ProxyTempl ¶
func (h *Handler) ProxyTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) QuotaCreate ¶
func (h *Handler) QuotaCreate(w http.ResponseWriter, r *http.Request)
QuotaCreate creates a new resource quota.
func (*Handler) QuotaDelete ¶
func (h *Handler) QuotaDelete(w http.ResponseWriter, r *http.Request)
QuotaDelete deletes a resource quota.
func (*Handler) QuotaToggle ¶
func (h *Handler) QuotaToggle(w http.ResponseWriter, r *http.Request)
QuotaToggle toggles a quota enabled/disabled.
func (*Handler) QuotasTempl ¶
func (h *Handler) QuotasTempl(w http.ResponseWriter, r *http.Request)
QuotasTempl renders the resource quotas page.
func (*Handler) RDPConnectionCreate ¶
func (h *Handler) RDPConnectionCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) RDPConnectionDelete ¶
func (h *Handler) RDPConnectionDelete(w http.ResponseWriter, r *http.Request)
RDPConnectionDelete deletes an RDP connection.
func (*Handler) RDPConnectionDetailTempl ¶
func (h *Handler) RDPConnectionDetailTempl(w http.ResponseWriter, r *http.Request)
RDPConnectionDetailTempl renders the RDP connection detail page.
func (*Handler) RDPConnectionDownload ¶
func (h *Handler) RDPConnectionDownload(w http.ResponseWriter, r *http.Request)
RDPConnectionDownload generates and serves a .rdp file for the connection.
func (*Handler) RDPConnectionNewTempl ¶
func (h *Handler) RDPConnectionNewTempl(w http.ResponseWriter, r *http.Request)
RDPConnectionNewTempl renders the new RDP connection form.
func (*Handler) RDPConnectionTest ¶
func (h *Handler) RDPConnectionTest(w http.ResponseWriter, r *http.Request)
RDPConnectionTest tests an RDP connection via TCP dial to the specified host:port.
func (*Handler) RDPConnectionUpdate ¶
func (h *Handler) RDPConnectionUpdate(w http.ResponseWriter, r *http.Request)
RDPConnectionUpdate updates an RDP connection.
func (*Handler) RDPConnectionsTempl ¶
func (h *Handler) RDPConnectionsTempl(w http.ResponseWriter, r *http.Request)
RDPConnectionsTempl renders the RDP connections list page.
func (*Handler) RDPSessionTempl ¶
func (h *Handler) RDPSessionTempl(w http.ResponseWriter, r *http.Request)
RDPSessionTempl renders the RDP session page with the web client.
func (*Handler) ReconAck ¶
func (h *Handler) ReconAck(w http.ResponseWriter, r *http.Request)
ReconAck handles the POST /recon/ack form (mirrors POST /api/v1/recon/_ack for the in-page modal). Returns the dashboard fragment for HTMX or redirects on a normal form submit.
func (*Handler) ReconConnectorsTempl ¶
func (h *Handler) ReconConnectorsTempl(w http.ResponseWriter, r *http.Request)
ReconConnectorsTempl renders /recon/connectors.
func (*Handler) ReconDashboardTempl ¶
func (h *Handler) ReconDashboardTempl(w http.ResponseWriter, r *http.Request)
ReconDashboardTempl renders /recon/dashboard.
func (*Handler) ReconReportsTempl ¶
func (h *Handler) ReconReportsTempl(w http.ResponseWriter, r *http.Request)
ReconReportsTempl renders /recon/reports.
func (*Handler) ReconScanDetailTempl ¶
func (h *Handler) ReconScanDetailTempl(w http.ResponseWriter, r *http.Request)
ReconScanDetailTempl renders /recon/scans/{id}.
func (*Handler) ReconScanFindingsPartial ¶
func (h *Handler) ReconScanFindingsPartial(w http.ResponseWriter, r *http.Request)
ReconScanFindingsPartial renders the findings table as an HTMX partial. Supports ?severity= and ?module= filters; reuses the same target id used by the full page so swap targets stay stable.
func (*Handler) ReconScanProgressPartial ¶
func (h *Handler) ReconScanProgressPartial(w http.ResponseWriter, r *http.Request)
ReconScanProgressPartial renders the live progress bar for a scan. The partial subscribes to /api/v1/events for SSE updates.
func (*Handler) ReconScansListTempl ¶
func (h *Handler) ReconScansListTempl(w http.ResponseWriter, r *http.Request)
ReconScansListTempl renders /recon/scans.
func (*Handler) ReconTargetDetailTempl ¶
func (h *Handler) ReconTargetDetailTempl(w http.ResponseWriter, r *http.Request)
ReconTargetDetailTempl renders /recon/targets/{id}.
func (*Handler) ReconTargetsListTempl ¶
func (h *Handler) ReconTargetsListTempl(w http.ResponseWriter, r *http.Request)
ReconTargetsListTempl renders /recon/targets.
func (*Handler) RedirCreate ¶
func (h *Handler) RedirCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) RedirDelete ¶
func (h *Handler) RedirDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) RedirEditTempl ¶
func (h *Handler) RedirEditTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) RedirListTempl ¶
func (h *Handler) RedirListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) RedirNewTempl ¶
func (h *Handler) RedirNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) RedirUpdate ¶
func (h *Handler) RedirUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) RegistriesTempl ¶
func (h *Handler) RegistriesTempl(w http.ResponseWriter, r *http.Request)
RegistriesTempl renders the registries management page.
func (*Handler) RegistryBrowse ¶
func (h *Handler) RegistryBrowse(w http.ResponseWriter, r *http.Request)
RegistryBrowse renders the registry browsing page showing repositories.
func (*Handler) RegistryCreate ¶
func (h *Handler) RegistryCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) RegistryDelete ¶
func (h *Handler) RegistryDelete(w http.ResponseWriter, r *http.Request)
RegistryDelete handles deletion of a registry.
func (*Handler) RegistryRepoTags ¶
func (h *Handler) RegistryRepoTags(w http.ResponseWriter, r *http.Request)
RegistryRepoTags renders the tag list for a specific repository.
func (*Handler) RegistryTagManifest ¶
func (h *Handler) RegistryTagManifest(w http.ResponseWriter, r *http.Request)
RegistryTagManifest renders manifest details for a specific tag.
func (*Handler) RegistryUpdate ¶
func (h *Handler) RegistryUpdate(w http.ResponseWriter, r *http.Request)
RegistryUpdate handles updating a registry.
func (*Handler) RenderError ¶
func (h *Handler) RenderError(w http.ResponseWriter, r *http.Request, code int, title, message string)
RenderError renders an error page using Templ.
func (*Handler) RenderErrorTempl ¶
func (h *Handler) RenderErrorTempl(w http.ResponseWriter, r *http.Request, code int, title, message string)
RenderErrorTempl renders an error page using Templ.
func (*Handler) RenderServiceNotConfigured ¶
func (h *Handler) RenderServiceNotConfigured(w http.ResponseWriter, r *http.Request, serviceName, configHint string)
RenderServiceNotConfigured renders a user-friendly "service not configured" page using the reusable templ component. Use this for full-page HTML handlers where a service is nil; for JSON/API endpoints use renderJSONError instead.
func (*Handler) ResetPreferences ¶
func (h *Handler) ResetPreferences(w http.ResponseWriter, r *http.Request)
func (*Handler) RoleCreate ¶
func (h *Handler) RoleCreate(w http.ResponseWriter, r *http.Request)
RoleCreate handles creating a new role.
func (*Handler) RoleDelete ¶
func (h *Handler) RoleDelete(w http.ResponseWriter, r *http.Request)
RoleDelete handles deleting a role.
func (*Handler) RoleDisable ¶
func (h *Handler) RoleDisable(w http.ResponseWriter, r *http.Request)
RoleDisable handles disabling a role.
func (*Handler) RoleEditTempl ¶
func (h *Handler) RoleEditTempl(w http.ResponseWriter, r *http.Request)
RoleEditTempl renders the role edit page.
func (*Handler) RoleEnable ¶
func (h *Handler) RoleEnable(w http.ResponseWriter, r *http.Request)
RoleEnable handles enabling a role.
func (*Handler) RoleUpdate ¶
func (h *Handler) RoleUpdate(w http.ResponseWriter, r *http.Request)
RoleUpdate handles updating a role.
func (*Handler) RolesTempl ¶
func (h *Handler) RolesTempl(w http.ResponseWriter, r *http.Request)
RolesTempl renders the roles list page.
func (*Handler) RollbackAuditTempl ¶
func (h *Handler) RollbackAuditTempl(w http.ResponseWriter, r *http.Request)
RollbackAuditTempl renders the audit log.
func (*Handler) RollbackCreateTempl ¶
func (h *Handler) RollbackCreateTempl(w http.ResponseWriter, r *http.Request)
RollbackCreateTempl handles POST /rollback.
func (*Handler) RollbackDeleteTempl ¶
func (h *Handler) RollbackDeleteTempl(w http.ResponseWriter, r *http.Request)
RollbackDeleteTempl handles POST /rollback/{id}/delete.
func (*Handler) RollbackDetailTempl ¶
func (h *Handler) RollbackDetailTempl(w http.ResponseWriter, r *http.Request)
RollbackDetailTempl renders a single policy view.
func (*Handler) RollbackDryRunGetTempl ¶
func (h *Handler) RollbackDryRunGetTempl(w http.ResponseWriter, r *http.Request)
RollbackDryRunGetTempl renders the dry-run form.
func (*Handler) RollbackDryRunPostTempl ¶
func (h *Handler) RollbackDryRunPostTempl(w http.ResponseWriter, r *http.Request)
RollbackDryRunPostTempl handles POST /rollback/{id}/dry-run — runs the preview and renders the result inline.
func (*Handler) RollbackEditTempl ¶
func (h *Handler) RollbackEditTempl(w http.ResponseWriter, r *http.Request)
RollbackEditTempl renders the edit form.
func (*Handler) RollbackExecutionDetailTempl ¶
func (h *Handler) RollbackExecutionDetailTempl(w http.ResponseWriter, r *http.Request)
RollbackExecutionDetailTempl renders a single execution row.
func (*Handler) RollbackExecutionsTempl ¶
func (h *Handler) RollbackExecutionsTempl(w http.ResponseWriter, r *http.Request)
RollbackExecutionsTempl renders the execution log.
func (*Handler) RollbackListTempl ¶
func (h *Handler) RollbackListTempl(w http.ResponseWriter, r *http.Request)
RollbackListTempl renders the policy list page.
func (*Handler) RollbackNewTempl ¶
func (h *Handler) RollbackNewTempl(w http.ResponseWriter, r *http.Request)
RollbackNewTempl renders the new-policy form.
func (*Handler) RollbackUpdateTempl ¶
func (h *Handler) RollbackUpdateTempl(w http.ResponseWriter, r *http.Request)
RollbackUpdateTempl handles POST /rollback/{id}/update.
func (*Handler) RunbookCreate ¶
func (h *Handler) RunbookCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) RunbookDelete ¶
func (h *Handler) RunbookDelete(w http.ResponseWriter, r *http.Request)
RunbookDelete handles deletion of a runbook.
func (*Handler) RunbookExecute ¶
func (h *Handler) RunbookExecute(w http.ResponseWriter, r *http.Request)
RunbookExecute triggers manual execution of a runbook. If the scheduler is available, execution is performed asynchronously via a background job. Otherwise, falls back to synchronous execution.
func (*Handler) RunbooksTempl ¶
func (h *Handler) RunbooksTempl(w http.ResponseWriter, r *http.Request)
RunbooksTempl renders the runbooks management page.
func (*Handler) RuntimeDashboardJSON ¶
func (h *Handler) RuntimeDashboardJSON(w http.ResponseWriter, r *http.Request)
RuntimeDashboardJSON returns the runtime security dashboard data.
func (*Handler) RuntimeEventAcknowledge ¶
func (h *Handler) RuntimeEventAcknowledge(w http.ResponseWriter, r *http.Request)
RuntimeEventAcknowledge acknowledges a runtime event.
func (*Handler) RuntimeEventsJSON ¶
func (h *Handler) RuntimeEventsJSON(w http.ResponseWriter, r *http.Request)
RuntimeEventsJSON lists runtime security events.
func (*Handler) RuntimeMonitorAll ¶
func (h *Handler) RuntimeMonitorAll(w http.ResponseWriter, r *http.Request)
RuntimeMonitorAll triggers runtime monitoring for all containers.
func (*Handler) RuntimeRulesJSON ¶
func (h *Handler) RuntimeRulesJSON(w http.ResponseWriter, r *http.Request)
RuntimeRulesJSON lists runtime detection rules.
func (*Handler) RuntimeSecurityPageTempl ¶
func (h *Handler) RuntimeSecurityPageTempl(w http.ResponseWriter, r *http.Request)
RuntimeSecurityPageTempl renders the runtime security page.
func (*Handler) RuntimeSeedRules ¶
func (h *Handler) RuntimeSeedRules(w http.ResponseWriter, r *http.Request)
RuntimeSeedRules seeds default detection rules.
func (*Handler) SFTPBrowserTempl ¶
func (h *Handler) SFTPBrowserTempl(w http.ResponseWriter, r *http.Request)
SFTPBrowserTempl renders the SFTP file browser.
func (*Handler) SFTPDelete ¶
func (h *Handler) SFTPDelete(w http.ResponseWriter, r *http.Request)
SFTPDelete handles file deletion via SFTP.
func (*Handler) SFTPDownload ¶
func (h *Handler) SFTPDownload(w http.ResponseWriter, r *http.Request)
SFTPDownload handles file downloads via SFTP.
func (*Handler) SFTPListFiles ¶
func (h *Handler) SFTPListFiles(w http.ResponseWriter, r *http.Request)
SFTPListFiles returns directory contents as JSON (for HTMX/JS).
func (*Handler) SFTPMkdir ¶
func (h *Handler) SFTPMkdir(w http.ResponseWriter, r *http.Request)
SFTPMkdir creates a directory via SFTP.
func (*Handler) SFTPRename ¶
func (h *Handler) SFTPRename(w http.ResponseWriter, r *http.Request)
SFTPRename renames a file or directory via SFTP.
func (*Handler) SFTPUpload ¶
func (h *Handler) SFTPUpload(w http.ResponseWriter, r *http.Request)
SFTPUpload handles file uploads via SFTP.
func (*Handler) SSHConnectionCreate ¶
func (h *Handler) SSHConnectionCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) SSHConnectionDelete ¶
func (h *Handler) SSHConnectionDelete(w http.ResponseWriter, r *http.Request)
SSHConnectionDelete handles deleting an SSH connection.
func (*Handler) SSHConnectionDetailTempl ¶
func (h *Handler) SSHConnectionDetailTempl(w http.ResponseWriter, r *http.Request)
SSHConnectionDetailTempl renders the SSH connection detail page.
func (*Handler) SSHConnectionDuplicate ¶
func (h *Handler) SSHConnectionDuplicate(w http.ResponseWriter, r *http.Request)
SSHConnectionDuplicate duplicates an existing SSH connection.
func (*Handler) SSHConnectionNewTempl ¶
func (h *Handler) SSHConnectionNewTempl(w http.ResponseWriter, r *http.Request)
SSHConnectionNewTempl renders the new SSH connection form.
func (*Handler) SSHConnectionTerminalTempl ¶
func (h *Handler) SSHConnectionTerminalTempl(w http.ResponseWriter, r *http.Request)
SSHConnectionTerminalTempl renders the SSH terminal page.
func (*Handler) SSHConnectionTest ¶
func (h *Handler) SSHConnectionTest(w http.ResponseWriter, r *http.Request)
SSHConnectionTest tests an SSH connection.
func (*Handler) SSHConnectionUpdate ¶
func (h *Handler) SSHConnectionUpdate(w http.ResponseWriter, r *http.Request)
SSHConnectionUpdate handles updating an SSH connection.
func (*Handler) SSHConnectionsTempl ¶
func (h *Handler) SSHConnectionsTempl(w http.ResponseWriter, r *http.Request)
SSHConnectionsTempl renders the SSH connections list.
func (*Handler) SSHKeyCreate ¶
func (h *Handler) SSHKeyCreate(w http.ResponseWriter, r *http.Request)
SSHKeyCreate handles creating/generating a new SSH key.
func (*Handler) SSHKeyDelete ¶
func (h *Handler) SSHKeyDelete(w http.ResponseWriter, r *http.Request)
SSHKeyDelete handles deleting an SSH key.
func (*Handler) SSHKeyDetailTempl ¶
func (h *Handler) SSHKeyDetailTempl(w http.ResponseWriter, r *http.Request)
SSHKeyDetailTempl renders the SSH key detail page.
func (*Handler) SSHKeyDownload ¶
func (h *Handler) SSHKeyDownload(w http.ResponseWriter, r *http.Request)
SSHKeyDownload downloads the public key.
func (*Handler) SSHKeyNewTempl ¶
func (h *Handler) SSHKeyNewTempl(w http.ResponseWriter, r *http.Request)
SSHKeyNewTempl renders the new SSH key form.
func (*Handler) SSHKeysTempl ¶
func (h *Handler) SSHKeysTempl(w http.ResponseWriter, r *http.Request)
SSHKeysTempl renders the SSH keys list.
func (*Handler) SSHTerminalTempl ¶
func (h *Handler) SSHTerminalTempl(w http.ResponseWriter, r *http.Request)
SSHTerminalTempl renders the SSH terminal page.
func (*Handler) SSHTunnelCreate ¶
func (h *Handler) SSHTunnelCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) SSHTunnelDelete ¶
func (h *Handler) SSHTunnelDelete(w http.ResponseWriter, r *http.Request)
SSHTunnelDelete deletes an SSH tunnel.
func (*Handler) SSHTunnelToggle ¶
func (h *Handler) SSHTunnelToggle(w http.ResponseWriter, r *http.Request)
SSHTunnelToggle toggles an SSH tunnel on/off.
func (*Handler) SSHTunnelsTempl ¶
func (h *Handler) SSHTunnelsTempl(w http.ResponseWriter, r *http.Request)
SSHTunnelsTempl renders the SSH tunnels page.
func (*Handler) SSLDashboardTempl ¶
func (h *Handler) SSLDashboardTempl(w http.ResponseWriter, r *http.Request)
SSLDashboardTempl renders the SSL observatory dashboard.
func (*Handler) SSLScanAllTempl ¶
func (h *Handler) SSLScanAllTempl(w http.ResponseWriter, r *http.Request)
SSLScanAllTempl handles POST /ssl/scan-all.
func (*Handler) SSLScanTargetTempl ¶
func (h *Handler) SSLScanTargetTempl(w http.ResponseWriter, r *http.Request)
SSLScanTargetTempl handles POST /ssl/targets/{id}/scan.
func (*Handler) SSLTargetCreateTempl ¶
func (h *Handler) SSLTargetCreateTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) SSLTargetDeleteTempl ¶
func (h *Handler) SSLTargetDeleteTempl(w http.ResponseWriter, r *http.Request)
SSLTargetDeleteTempl handles DELETE /ssl/targets/{id}.
func (*Handler) SSLTargetDetailTempl ¶
func (h *Handler) SSLTargetDetailTempl(w http.ResponseWriter, r *http.Request)
SSLTargetDetailTempl renders the SSL target detail page.
func (*Handler) SSLTargetEditTempl ¶
func (h *Handler) SSLTargetEditTempl(w http.ResponseWriter, r *http.Request)
SSLTargetEditTempl renders the edit form.
func (*Handler) SSLTargetListTempl ¶
func (h *Handler) SSLTargetListTempl(w http.ResponseWriter, r *http.Request)
SSLTargetListTempl renders the SSL targets list page.
func (*Handler) SSLTargetNewTempl ¶
func (h *Handler) SSLTargetNewTempl(w http.ResponseWriter, r *http.Request)
SSLTargetNewTempl renders the new SSL target form.
func (*Handler) SSLTargetUpdateTempl ¶
func (h *Handler) SSLTargetUpdateTempl(w http.ResponseWriter, r *http.Request)
SSLTargetUpdateTempl handles POST /ssl/targets/{id}/edit.
func (*Handler) ScheduledJobCreate ¶
func (h *Handler) ScheduledJobCreate(w http.ResponseWriter, r *http.Request)
ScheduledJobCreate handles creation of a new scheduled job.
func (*Handler) ScheduledJobDelete ¶
func (h *Handler) ScheduledJobDelete(w http.ResponseWriter, r *http.Request)
ScheduledJobDelete handles deletion of a scheduled job.
func (*Handler) ScheduledJobRunNow ¶
func (h *Handler) ScheduledJobRunNow(w http.ResponseWriter, r *http.Request)
ScheduledJobRunNow triggers immediate execution of a scheduled job.
func (*Handler) ScheduledJobsTempl ¶
func (h *Handler) ScheduledJobsTempl(w http.ResponseWriter, r *http.Request)
ScheduledJobsTempl renders the scheduled jobs management page.
func (*Handler) SearchPartialTempl ¶
func (h *Handler) SearchPartialTempl(w http.ResponseWriter, r *http.Request)
SearchPartialTempl handles search results for the header search.
func (*Handler) SecretCreate ¶
func (h *Handler) SecretCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) SecretDelete ¶
func (h *Handler) SecretDelete(w http.ResponseWriter, r *http.Request)
SecretDelete deletes a managed secret.
func (*Handler) SecretRotate ¶
func (h *Handler) SecretRotate(w http.ResponseWriter, r *http.Request)
SecretRotate generates a new value for a secret.
func (*Handler) SecretsTempl ¶
func (h *Handler) SecretsTempl(w http.ResponseWriter, r *http.Request)
SecretsTempl renders the secret management page.
func (*Handler) SecurityContainerTempl ¶
func (h *Handler) SecurityContainerTempl(w http.ResponseWriter, r *http.Request)
SecurityContainerTempl renders the security detail page for a container.
func (*Handler) SecurityIssueIgnore ¶
func (h *Handler) SecurityIssueIgnore(w http.ResponseWriter, r *http.Request)
func (*Handler) SecurityIssueIgnoreTempl ¶
func (h *Handler) SecurityIssueIgnoreTempl(w http.ResponseWriter, r *http.Request)
SecurityIssueIgnoreTempl marks an issue as ignored.
func (*Handler) SecurityIssueResolve ¶
func (h *Handler) SecurityIssueResolve(w http.ResponseWriter, r *http.Request)
func (*Handler) SecurityIssueResolveTempl ¶
func (h *Handler) SecurityIssueResolveTempl(w http.ResponseWriter, r *http.Request)
SecurityIssueResolveTempl marks an issue as resolved.
func (*Handler) SecurityReportTempl ¶
func (h *Handler) SecurityReportTempl(w http.ResponseWriter, r *http.Request)
SecurityReportTempl generates and serves a security report.
func (*Handler) SecurityScan ¶
func (h *Handler) SecurityScan(w http.ResponseWriter, r *http.Request)
func (*Handler) SecurityScanContainer ¶
func (h *Handler) SecurityScanContainer(w http.ResponseWriter, r *http.Request)
func (*Handler) SecurityScanContainerTempl ¶
func (h *Handler) SecurityScanContainerTempl(w http.ResponseWriter, r *http.Request)
SecurityScanContainerTempl scans a specific container and redirects.
func (*Handler) SecurityScanTempl ¶
func (h *Handler) SecurityScanTempl(w http.ResponseWriter, r *http.Request)
SecurityScanTempl triggers a full security scan and redirects.
func (*Handler) SecurityTempl ¶
func (h *Handler) SecurityTempl(w http.ResponseWriter, r *http.Request)
SecurityTempl renders the security overview page.
func (*Handler) SecurityTrendsTempl ¶
func (h *Handler) SecurityTrendsTempl(w http.ResponseWriter, r *http.Request)
SecurityTrendsTempl renders the security trends page.
func (*Handler) SessionReplayData ¶
func (h *Handler) SessionReplayData(w http.ResponseWriter, r *http.Request)
SessionReplayData serves the recording data (decompressed asciicast). GET /session-replay/{id}/data
func (*Handler) SessionReplayPage ¶
func (h *Handler) SessionReplayPage(w http.ResponseWriter, r *http.Request)
SessionReplayPage renders the session replay player page. GET /session-replay/{id}
func (*Handler) SettingsTempl ¶
func (h *Handler) SettingsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) SettingsUpdate ¶
func (h *Handler) SettingsUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) ShortcutCreate ¶
func (h *Handler) ShortcutCreate(w http.ResponseWriter, r *http.Request)
ShortcutCreate handles creating a new web shortcut.
func (*Handler) ShortcutDelete ¶
func (h *Handler) ShortcutDelete(w http.ResponseWriter, r *http.Request)
ShortcutDelete handles deleting a web shortcut.
func (*Handler) ShortcutEditTempl ¶
func (h *Handler) ShortcutEditTempl(w http.ResponseWriter, r *http.Request)
ShortcutEditTempl renders the edit shortcut form.
func (*Handler) ShortcutNewTempl ¶
func (h *Handler) ShortcutNewTempl(w http.ResponseWriter, r *http.Request)
ShortcutNewTempl renders the new shortcut form.
func (*Handler) ShortcutUpdate ¶
func (h *Handler) ShortcutUpdate(w http.ResponseWriter, r *http.Request)
ShortcutUpdate handles updating a web shortcut.
func (*Handler) ShortcutsTempl ¶
func (h *Handler) ShortcutsTempl(w http.ResponseWriter, r *http.Request)
ShortcutsTempl renders the web shortcuts list.
func (*Handler) SnippetCreate ¶
func (h *Handler) SnippetCreate(w http.ResponseWriter, r *http.Request)
SnippetCreate creates a new snippet. POST /api/snippets
func (*Handler) SnippetDelete ¶
func (h *Handler) SnippetDelete(w http.ResponseWriter, r *http.Request)
SnippetDelete deletes a snippet. DELETE /api/snippets/{id}
func (*Handler) SnippetGet ¶
func (h *Handler) SnippetGet(w http.ResponseWriter, r *http.Request)
SnippetGet returns a single snippet with content. GET /api/snippets/{id}
func (*Handler) SnippetList ¶
func (h *Handler) SnippetList(w http.ResponseWriter, r *http.Request)
SnippetList returns user's snippets. GET /api/snippets
func (*Handler) SnippetPaths ¶
func (h *Handler) SnippetPaths(w http.ResponseWriter, r *http.Request)
SnippetPaths returns unique folder paths for navigation. GET /api/snippets/paths
func (*Handler) SnippetUpdate ¶
func (h *Handler) SnippetUpdate(w http.ResponseWriter, r *http.Request)
SnippetUpdate updates a snippet. PUT /api/snippets/{id}
func (*Handler) StackCatalogDeploySubmit ¶
func (h *Handler) StackCatalogDeploySubmit(w http.ResponseWriter, r *http.Request)
func (*Handler) StackCatalogDeployTempl ¶
func (h *Handler) StackCatalogDeployTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StackCatalogTempl ¶
func (h *Handler) StackCatalogTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StackDeploy ¶
func (h *Handler) StackDeploy(w http.ResponseWriter, r *http.Request)
func (*Handler) StackDetailTempl ¶
func (h *Handler) StackDetailTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StackEditTempl ¶
func (h *Handler) StackEditTempl(w http.ResponseWriter, r *http.Request)
StackEditTempl redirects to the stack detail page with the compose editor tab active.
func (*Handler) StackNewTempl ¶
func (h *Handler) StackNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StackRemove ¶
func (h *Handler) StackRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) StackRestart ¶
func (h *Handler) StackRestart(w http.ResponseWriter, r *http.Request)
func (*Handler) StackStart ¶
func (h *Handler) StackStart(w http.ResponseWriter, r *http.Request)
func (*Handler) StacksTempl ¶
func (h *Handler) StacksTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StatsPartial ¶
func (h *Handler) StatsPartial(w http.ResponseWriter, r *http.Request)
func (*Handler) StorageAuditTempl ¶
func (h *Handler) StorageAuditTempl(w http.ResponseWriter, r *http.Request)
StorageAuditTempl renders audit log page for a connection.
func (*Handler) StorageBrowserTempl ¶
func (h *Handler) StorageBrowserTempl(w http.ResponseWriter, r *http.Request)
StorageBrowserTempl renders the object browser for a bucket.
func (*Handler) StorageBucketsTempl ¶
func (h *Handler) StorageBucketsTempl(w http.ResponseWriter, r *http.Request)
StorageBucketsTempl renders the bucket list for a connection.
func (*Handler) StorageCreateBucket ¶
func (h *Handler) StorageCreateBucket(w http.ResponseWriter, r *http.Request)
StorageCreateBucket handles POST /storage/{connID}/buckets.
func (*Handler) StorageCreateConnection ¶
func (h *Handler) StorageCreateConnection(w http.ResponseWriter, r *http.Request)
func (*Handler) StorageCreateFolder ¶
func (h *Handler) StorageCreateFolder(w http.ResponseWriter, r *http.Request)
StorageCreateFolder handles POST /storage/{connID}/buckets/{bucket}/create-folder.
func (*Handler) StorageDeleteBucket ¶
func (h *Handler) StorageDeleteBucket(w http.ResponseWriter, r *http.Request)
StorageDeleteBucket handles POST /storage/{connID}/buckets/{bucket}/delete.
func (*Handler) StorageDeleteConnection ¶
func (h *Handler) StorageDeleteConnection(w http.ResponseWriter, r *http.Request)
StorageDeleteConnection handles POST /storage/{connID}/delete.
func (*Handler) StorageDeleteObject ¶
func (h *Handler) StorageDeleteObject(w http.ResponseWriter, r *http.Request)
StorageDeleteObject handles POST /storage/{connID}/buckets/{bucket}/delete-object.
func (*Handler) StorageDownloadObject ¶
func (h *Handler) StorageDownloadObject(w http.ResponseWriter, r *http.Request)
StorageDownloadObject handles GET /storage/{connID}/buckets/{bucket}/download.
func (*Handler) StoragePresignUpload ¶
func (h *Handler) StoragePresignUpload(w http.ResponseWriter, r *http.Request)
StoragePresignUpload handles GET /storage/{connID}/buckets/{bucket}/presign-upload.
func (*Handler) StorageTempl ¶
func (h *Handler) StorageTempl(w http.ResponseWriter, r *http.Request)
StorageTempl renders the storage connections list page.
func (*Handler) StorageTestConnection ¶
func (h *Handler) StorageTestConnection(w http.ResponseWriter, r *http.Request)
StorageTestConnection handles POST /storage/{connID}/test.
func (*Handler) StorageUpdateConnection ¶
func (h *Handler) StorageUpdateConnection(w http.ResponseWriter, r *http.Request)
StorageUpdateConnection handles POST /storage/{connID}/update.
func (*Handler) StorageUploadObject ¶
func (h *Handler) StorageUploadObject(w http.ResponseWriter, r *http.Request)
StorageUploadObject handles POST /storage/{connID}/buckets/{bucket}/upload.
func (*Handler) StreamCreate ¶
func (h *Handler) StreamCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) StreamDelete ¶
func (h *Handler) StreamDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) StreamEditTempl ¶
func (h *Handler) StreamEditTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StreamListTempl ¶
func (h *Handler) StreamListTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StreamNewTempl ¶
func (h *Handler) StreamNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) StreamUpdate ¶
func (h *Handler) StreamUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) SwarmClusterTempl ¶
func (h *Handler) SwarmClusterTempl(w http.ResponseWriter, r *http.Request)
SwarmClusterTempl renders the Swarm cluster page.
func (*Handler) SwarmConvertContainerTempl ¶
func (h *Handler) SwarmConvertContainerTempl(w http.ResponseWriter, r *http.Request)
SwarmConvertContainerTempl handles POST /swarm/convert - converts container to HA service.
func (*Handler) SwarmInitTempl ¶
func (h *Handler) SwarmInitTempl(w http.ResponseWriter, r *http.Request)
SwarmInitTempl handles POST /swarm/init - initializes Docker Swarm.
func (*Handler) SwarmLeaveTempl ¶
func (h *Handler) SwarmLeaveTempl(w http.ResponseWriter, r *http.Request)
SwarmLeaveTempl handles POST /swarm/leave - leaves the Swarm cluster.
func (*Handler) SwarmNodeRemoveTempl ¶
func (h *Handler) SwarmNodeRemoveTempl(w http.ResponseWriter, r *http.Request)
SwarmNodeRemoveTempl handles DELETE /swarm/nodes/{nodeID}.
func (*Handler) SwarmServiceCreateFormTempl ¶
func (h *Handler) SwarmServiceCreateFormTempl(w http.ResponseWriter, r *http.Request)
SwarmServiceCreateFormTempl renders the create service form.
func (*Handler) SwarmServiceCreateTempl ¶
func (h *Handler) SwarmServiceCreateTempl(w http.ResponseWriter, r *http.Request)
SwarmServiceCreateTempl handles POST /swarm/services/create.
func (*Handler) SwarmServiceRemoveTempl ¶
func (h *Handler) SwarmServiceRemoveTempl(w http.ResponseWriter, r *http.Request)
SwarmServiceRemoveTempl handles DELETE /swarm/services/{serviceID}.
func (*Handler) SwarmServiceScaleTempl ¶
func (h *Handler) SwarmServiceScaleTempl(w http.ResponseWriter, r *http.Request)
SwarmServiceScaleTempl handles POST /swarm/services/{serviceID}/scale.
func (*Handler) SwitchHost ¶
func (h *Handler) SwitchHost(w http.ResponseWriter, r *http.Request)
SwitchHost handles GET /switch-host/{id} - switches the active host in the session.
func (*Handler) TOTPDisableSubmit ¶
func (h *Handler) TOTPDisableSubmit(w http.ResponseWriter, r *http.Request)
TOTPDisableSubmit handles disabling 2FA.
func (*Handler) TOTPSetupPageTempl ¶
func (h *Handler) TOTPSetupPageTempl(w http.ResponseWriter, r *http.Request)
TOTPSetupPageTempl renders the 2FA setup/manage page.
func (*Handler) TOTPVerifyPageTempl ¶
func (h *Handler) TOTPVerifyPageTempl(w http.ResponseWriter, r *http.Request)
TOTPVerifyPageTempl renders the TOTP code input page during login.
func (*Handler) TOTPVerifySetupSubmit ¶
func (h *Handler) TOTPVerifySetupSubmit(w http.ResponseWriter, r *http.Request)
TOTPVerifySetupSubmit handles verifying the first TOTP code to enable 2FA.
func (*Handler) TOTPVerifySubmit ¶
func (h *Handler) TOTPVerifySubmit(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamAddMember ¶
func (h *Handler) TeamAddMember(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamCreate ¶
func (h *Handler) TeamCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamDelete ¶
func (h *Handler) TeamDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamDetailTempl ¶
func (h *Handler) TeamDetailTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamEditTempl ¶
func (h *Handler) TeamEditTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamGrantPermission ¶
func (h *Handler) TeamGrantPermission(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamNewTempl ¶
func (h *Handler) TeamNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamRemoveMember ¶
func (h *Handler) TeamRemoveMember(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamRevokePermission ¶
func (h *Handler) TeamRevokePermission(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamUpdate ¶
func (h *Handler) TeamUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) TeamsTempl ¶
func (h *Handler) TeamsTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) TerminalHubTempl ¶
func (h *Handler) TerminalHubTempl(w http.ResponseWriter, r *http.Request)
TerminalHubTempl renders the multi-tab terminal interface.
func (*Handler) TerminalPickerTempl ¶
func (h *Handler) TerminalPickerTempl(w http.ResponseWriter, r *http.Request)
TerminalPickerTempl renders the container picker for the new tab modal.
func (*Handler) ToggleTheme ¶
func (h *Handler) ToggleTheme(w http.ResponseWriter, r *http.Request)
func (*Handler) TopologyTempl ¶
func (h *Handler) TopologyTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdateApplyTempl ¶
func (h *Handler) UpdateApplyTempl(w http.ResponseWriter, r *http.Request)
UpdateApplyTempl applies an update to a specific container.
func (*Handler) UpdateBatch ¶
func (h *Handler) UpdateBatch(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdateChangelog ¶
func (h *Handler) UpdateChangelog(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdateManual ¶
func (h *Handler) UpdateManual(w http.ResponseWriter, r *http.Request)
UpdateManual handles manual update of a container to a specific version.
func (*Handler) UpdatePassword ¶
func (h *Handler) UpdatePassword(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdatePreferences ¶
func (h *Handler) UpdatePreferences(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdateProfile ¶
func (h *Handler) UpdateProfile(w http.ResponseWriter, r *http.Request)
func (*Handler) UpdateRollbackTempl ¶
func (h *Handler) UpdateRollbackTempl(w http.ResponseWriter, r *http.Request)
UpdateRollbackTempl rolls back a previous update.
func (*Handler) UpdateSidebarPrefs ¶
func (h *Handler) UpdateSidebarPrefs(w http.ResponseWriter, r *http.Request)
UpdateSidebarPrefs handles sidebar collapse/visibility state updates. Accepts JSON body with optional "collapsed" and/or "hidden" maps. Merges incoming values into existing preferences.
func (*Handler) UpdatesCheckTempl ¶
func (h *Handler) UpdatesCheckTempl(w http.ResponseWriter, r *http.Request)
UpdatesCheckTempl triggers a check for all available updates.
func (*Handler) UpdatesTempl ¶
func (h *Handler) UpdatesTempl(w http.ResponseWriter, r *http.Request)
UpdatesTempl renders the updates list page with available updates and history.
func (*Handler) UserCreate ¶
func (h *Handler) UserCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) UserDelete ¶
func (h *Handler) UserDelete(w http.ResponseWriter, r *http.Request)
func (*Handler) UserDisable ¶
func (h *Handler) UserDisable(w http.ResponseWriter, r *http.Request)
func (*Handler) UserEditTempl ¶
func (h *Handler) UserEditTempl(w http.ResponseWriter, r *http.Request)
UserEditTempl shows user edit page using Templ.
func (*Handler) UserEnable ¶
func (h *Handler) UserEnable(w http.ResponseWriter, r *http.Request)
func (*Handler) UserNewTempl ¶
func (h *Handler) UserNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) UserUpdate ¶
func (h *Handler) UserUpdate(w http.ResponseWriter, r *http.Request)
func (*Handler) UsersTempl ¶
func (h *Handler) UsersTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) VolumeBrowseAPI ¶
func (h *Handler) VolumeBrowseAPI(w http.ResponseWriter, r *http.Request)
VolumeBrowseAPI returns files inside a volume as JSON (for frontend AJAX).
func (*Handler) VolumeCreate ¶
func (h *Handler) VolumeCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) VolumeDetailTempl ¶
func (h *Handler) VolumeDetailTempl(w http.ResponseWriter, r *http.Request)
VolumeDetailTempl renders the volume detail page using templ
func (*Handler) VolumeNewTempl ¶
func (h *Handler) VolumeNewTempl(w http.ResponseWriter, r *http.Request)
func (*Handler) VolumeRemove ¶
func (h *Handler) VolumeRemove(w http.ResponseWriter, r *http.Request)
func (*Handler) VolumesPrune ¶
func (h *Handler) VolumesPrune(w http.ResponseWriter, r *http.Request)
func (*Handler) VolumesTempl ¶
func (h *Handler) VolumesTempl(w http.ResponseWriter, r *http.Request)
VolumesTempl lists all volumes using Templ.
func (*Handler) VulnAcceptRisk ¶
func (h *Handler) VulnAcceptRisk(w http.ResponseWriter, r *http.Request)
VulnAcceptRisk marks a vulnerability as accepted risk.
func (*Handler) VulnAcknowledge ¶
func (h *Handler) VulnAcknowledge(w http.ResponseWriter, r *http.Request)
VulnAcknowledge starts working on a vulnerability.
func (*Handler) VulnAssign ¶
func (h *Handler) VulnAssign(w http.ResponseWriter, r *http.Request)
VulnAssign assigns a vulnerability to a user.
func (*Handler) VulnAssignAPI ¶
func (h *Handler) VulnAssignAPI(w http.ResponseWriter, r *http.Request)
VulnAssignAPI handles JSON-based assignment for AJAX calls.
func (*Handler) VulnDashboardAPI ¶
func (h *Handler) VulnDashboardAPI(w http.ResponseWriter, r *http.Request)
VulnDashboardAPI returns JSON dashboard KPIs for AJAX polling.
func (*Handler) VulnMgmtTempl ¶
func (h *Handler) VulnMgmtTempl(w http.ResponseWriter, r *http.Request)
VulnMgmtTempl renders the vulnerability management page.
func (*Handler) VulnResolve ¶
func (h *Handler) VulnResolve(w http.ResponseWriter, r *http.Request)
VulnResolve marks a vulnerability as resolved. Accepts optional resolution_notes.
func (*Handler) VulnResolveAPI ¶
func (h *Handler) VulnResolveAPI(w http.ResponseWriter, r *http.Request)
VulnResolveAPI handles JSON-based resolution with evidence for AJAX calls.
func (*Handler) VulnScan ¶
func (h *Handler) VulnScan(w http.ResponseWriter, r *http.Request)
VulnScan triggers a vulnerability scan using the existing security service.
func (*Handler) WSContainerExec ¶
func (h *Handler) WSContainerExec(w http.ResponseWriter, r *http.Request)
func (*Handler) WSContainerLogs ¶
func (h *Handler) WSContainerLogs(w http.ResponseWriter, r *http.Request)
func (*Handler) WSContainerStats ¶
func (h *Handler) WSContainerStats(w http.ResponseWriter, r *http.Request)
func (*Handler) WSEditorNvim ¶
func (h *Handler) WSEditorNvim(w http.ResponseWriter, r *http.Request)
WSEditorNvim handles the WebSocket connection for the nvim editor.
Flow (git mode):
- Fetch file from Gitea → write to temp dir
- Create FIFO for commit signaling
- Inject BufWritePost autocmd that writes to FIFO on :w
- Spawn nvim on a pty via creack/pty
- Bridge pty ↔ WebSocket
- FIFO goroutine: on signal → read file → commit to Gitea
Flow (scratch mode - no repo):
- Create empty temp file
- Spawn nvim without commit hook
- Bridge pty ↔ WebSocket
GET /ws/editor/nvim?repo={id}&file={path}&ref={branch}&cols=N&rows=N GET /ws/editor/nvim?file=scratch&cols=N&rows=N (scratch mode)
func (*Handler) WSHostExec ¶
func (h *Handler) WSHostExec(w http.ResponseWriter, r *http.Request)
WSHostExec opens an interactive terminal on the Docker host via nsenter.
How it works:
- usulnet container must run with pid:"host" + cap_add:[SYS_PTRACE,SYS_ADMIN]
- We detect our own container ID
- We docker exec into ourselves with: nsenter --target 1 --mount --uts --ipc --net --pid -- su - <user>
- nsenter enters the host namespaces, su drops to the unprivileged user
- The user gets a standard shell on the host, no sudo, no root
func (*Handler) WSJobProgress ¶
func (h *Handler) WSJobProgress(w http.ResponseWriter, r *http.Request)
func (*Handler) WSMetrics ¶
func (h *Handler) WSMetrics(w http.ResponseWriter, r *http.Request)
WSMetrics streams live host + container metrics over WebSocket. Sends a JSON message every N seconds (default 5s, configurable via ?interval=).
func (*Handler) WSRDPExec ¶
func (h *Handler) WSRDPExec(w http.ResponseWriter, r *http.Request)
WSRDPExec handles WebSocket connections for RDP via Apache Guacamole daemon. The handler establishes a TCP connection to guacd, performs the Guacamole protocol handshake, and relays traffic bidirectionally between the browser (WebSocket) and guacd (TCP).
func (*Handler) WSSSHExec ¶
func (h *Handler) WSSSHExec(w http.ResponseWriter, r *http.Request)
WSSSHExec handles WebSocket connections for SSH terminal.
func (*Handler) WebhookCreate ¶
func (h *Handler) WebhookCreate(w http.ResponseWriter, r *http.Request)
func (*Handler) WebhookDelete ¶
func (h *Handler) WebhookDelete(w http.ResponseWriter, r *http.Request)
WebhookDelete handles deletion of an outgoing webhook.
func (*Handler) WebhookUpdate ¶
func (h *Handler) WebhookUpdate(w http.ResponseWriter, r *http.Request)
WebhookUpdate handles updating an existing outgoing webhook.
func (*Handler) WebhooksTempl ¶
func (h *Handler) WebhooksTempl(w http.ResponseWriter, r *http.Request)
WebhooksTempl renders the webhooks & auto-deploy management page.
func (*Handler) WireGuardCreateTempl ¶
func (h *Handler) WireGuardCreateTempl(w http.ResponseWriter, r *http.Request)
WireGuardCreateTempl handles POST /wireguard — creates a new interface.
func (*Handler) WireGuardDeleteTempl ¶
func (h *Handler) WireGuardDeleteTempl(w http.ResponseWriter, r *http.Request)
WireGuardDeleteTempl deletes an interface (and cascade-deletes peers).
func (*Handler) WireGuardDetailTempl ¶
func (h *Handler) WireGuardDetailTempl(w http.ResponseWriter, r *http.Request)
WireGuardDetailTempl renders an interface detail page with its peers.
func (*Handler) WireGuardListTempl ¶
func (h *Handler) WireGuardListTempl(w http.ResponseWriter, r *http.Request)
WireGuardListTempl renders the WireGuard interfaces list page.
func (*Handler) WireGuardMeshTempl ¶
func (h *Handler) WireGuardMeshTempl(w http.ResponseWriter, r *http.Request)
WireGuardMeshTempl renders the mesh-status page (all peer×agent rows).
func (*Handler) WireGuardNewTempl ¶
func (h *Handler) WireGuardNewTempl(w http.ResponseWriter, r *http.Request)
WireGuardNewTempl renders the new-interface form.
func (*Handler) WireGuardPeerCreateTempl ¶
func (h *Handler) WireGuardPeerCreateTempl(w http.ResponseWriter, r *http.Request)
WireGuardPeerCreateTempl handles POST /wireguard/{id}/peers.
func (*Handler) WireGuardPeerDeleteTempl ¶
func (h *Handler) WireGuardPeerDeleteTempl(w http.ResponseWriter, r *http.Request)
WireGuardPeerDeleteTempl deletes a peer.
func (*Handler) WireGuardPeerDetailTempl ¶
func (h *Handler) WireGuardPeerDetailTempl(w http.ResponseWriter, r *http.Request)
WireGuardPeerDetailTempl renders a peer detail page with the one-time QR widget and (in mesh mode) the propagation status.
func (*Handler) WireGuardPeerListTempl ¶
func (h *Handler) WireGuardPeerListTempl(w http.ResponseWriter, r *http.Request)
WireGuardPeerListTempl renders the global peer list.
func (*Handler) WireGuardPeerNewTempl ¶
func (h *Handler) WireGuardPeerNewTempl(w http.ResponseWriter, r *http.Request)
WireGuardPeerNewTempl renders the new-peer form.
func (*Handler) WsMonitoringContainer ¶
func (h *Handler) WsMonitoringContainer(w http.ResponseWriter, r *http.Request)
WsMonitoringContainer handles WebSocket connections for a single container's monitoring. Endpoint: /ws/monitoring/container/{id}
func (*Handler) WsMonitoringStats ¶
func (h *Handler) WsMonitoringStats(w http.ResponseWriter, r *http.Request)
WsMonitoringStats handles WebSocket connections for the global monitoring dashboard. Endpoint: /ws/monitoring/stats
func (*Handler) YARAScanTempl ¶
func (h *Handler) YARAScanTempl(w http.ResponseWriter, r *http.Request)
YARAScanTempl renders /scan/yara. GET shows the form; POST submits a scan and renders the result inline.
type HandlerDeps ¶
type HandlerDeps struct {
Services Services
Version string
Commit string
BuildTime string
Mode string
SessionStore SessionStore
TOTPSigningKey []byte
BaseURL string
// Repositories (optional, nil-safe)
UserRepo UserRepository
PrefsRepo PreferencesRepository
SessionRepo SessionRepository
SnippetRepo SnippetRepository
OAuthConfigRepo OAuthConfigRepository
LDAPConfigRepo LDAPConfigRepository
RoleRepo RoleRepository
TerminalSessionRepo TerminalSessionRepository
NotificationConfigRepo NotificationConfigRepository
CustomLogUploadRepo CustomLogUploadRepository
RegistryRepo RegistryRepo
WebhookRepo WebhookRepo
RunbookRepo RunbookRepo
AutoDeployRepo AutoDeployRepo
ComplianceRepo ComplianceRepo
ManagedSecretRepo ManagedSecretRepo
LifecycleRepo LifecycleRepo
MaintenanceRepo MaintenanceRepo
GitOpsRepo GitOpsRepo
ResourceQuotaRepo ResourceQuotaRepo
ContainerTemplateRepo ContainerTemplateRepo
TrackedVulnRepo TrackedVulnRepo
// Services (optional, nil-safe)
Encryptor Encryptor
Logger Logger
SSHService SSHService
ShortcutsService ShortcutsService
DatabaseService DatabaseService
LDAPBrowserService LDAPBrowserService
RDPService RDPService
CaptureService CaptureService
DeployService DeployService
SwarmService *swarmsvc.Service
LicenseProvider LicenseProviderWeb
// Enterprise Phase 2
ComplianceFrameworkSvc *compliancesvc.Service
OPASvc *opasvc.Service
LogAggSvc *logaggsvc.Service
ImageSignSvc *imagesignsvc.Service
RuntimeSecSvc *runtimesvc.Service
// Phase 3: GitOps
GitSvcFull *gitsvc.Service
GitSyncSvc *gitsyncsvc.Service
EphemeralSvc *ephemeralsvc.Service
ManifestSvc *manifestsvc.Service
// Phase 3 Enterprise: Change Management Audit Trail
ChangesSvc *changessvc.Service
// Phase 3 Enterprise: Drift Detection
DriftSvc *driftsvc.Service
// Cost/Resource Optimization
CostOptSvc *costoptsvc.Service
// Phase 4: Custom dashboards
DashboardSvc *dashboardsvc.Service
// Phase 7.2: Session recording replay
RecordingSvc *recordingsvc.Service
// Phase 6: Registry browsing
RegistryBrowseSvc *registrysvc.Service
// Notification sender for runbooks/alerts
NotificationSvc NotificationSender
// Host terminal config
TerminalEnabled bool
TerminalUser string
TerminalShell string
// Guacd config for web-based RDP
GuacdEnabled bool
GuacdHost string
GuacdPort int
// First-run onboarding wizard (v26.5.2 session 04b).
OnboardingSvc OnboardingService
// About page / system probes (nil-safe)
DB DatabaseProber
RedisProber RedisProber
NATSProber NATSProber
RedisURL string
DBSSLMode string
BackupEncryptor BackupEncryptor
}
HandlerDeps holds all dependencies for Handler constructor injection. Optional fields can be left nil if the corresponding feature is disabled.
type HistoryResponse ¶
type HostFileContent ¶
type HostFileContent struct {
Path string `json:"path"`
Content string `json:"content"`
Size int64 `json:"size"`
Truncated bool `json:"truncated"`
Binary bool `json:"binary"`
}
HostFileContent represents file content from the host.
type HostFileEntry ¶
type HostFileEntry struct {
Name string `json:"name"`
Path string `json:"path"`
IsDir bool `json:"is_dir"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Mode string `json:"mode"`
ModTime string `json:"mod_time"`
ModTimeAgo string `json:"mod_time_ago"`
Owner string `json:"owner"`
Group string `json:"group"`
LinkTarget string `json:"link_target,omitempty"`
IsSymlink bool `json:"is_symlink"`
}
HostFileEntry represents a file or directory on the host.
type HostMetricsView ¶
type HostMetricsView struct {
CPUPercent float64
MemoryUsed int64
MemoryPercent float64
MemoryUsedStr string
DiskPercent float64
DiskUsedStr string
DiskTotalStr string
NetworkRxStr string
NetworkTxStr string
}
HostMetricsView contains host resource metrics for templates.
type HostService ¶
type HostService interface {
List(ctx context.Context) ([]HostView, error)
Get(ctx context.Context, id string) (*HostView, error)
GetDockerInfo(ctx context.Context) (*DockerInfoView, error)
GetMetrics(ctx context.Context, id string) (*HostMetricsView, error)
Create(ctx context.Context, h *HostView) (string, error) // returns host ID
Update(ctx context.Context, h *HostView) error
Remove(ctx context.Context, id string) error
Test(ctx context.Context, id string) error
GenerateAgentToken(ctx context.Context, id string) (string, error)
}
type HostStatsData ¶
type HostStatsData struct {
CPUPercent float64 `json:"cpu_percent"`
MemoryUsed string `json:"memory_used"`
MemoryTotal string `json:"memory_total"`
MemoryPercent float64 `json:"memory_percent"`
DiskUsed string `json:"disk_used"`
DiskTotal string `json:"disk_total"`
DiskPercent float64 `json:"disk_percent"`
NetworkRx string `json:"network_rx"`
NetworkTx string `json:"network_tx"`
ContainersRunning int `json:"containers_running"`
ContainersTotal int `json:"containers_total"`
ContainersStopped int `json:"containers_stopped"`
ImagesTotal int `json:"images_total"`
VolumesTotal int `json:"volumes_total"`
}
type HostTerminalConfig ¶
type HostTerminalConfig struct {
Enabled bool // HOST_TERMINAL_ENABLED (default: true)
User string // HOST_TERMINAL_USER (default: nobody_usulnet)
Shell string // HOST_TERMINAL_SHELL (default: /bin/bash)
}
HostTerminalConfig holds host terminal settings from environment variables.
type HostView ¶
type HostView struct {
ID string `json:"id"`
Name string `json:"name"`
DisplayName string `json:"display_name,omitempty"`
Endpoint string `json:"endpoint"`
EndpointType string `json:"endpoint_type"`
Status string `json:"status"`
DockerVersion string `json:"docker_version"`
KernelVersion string `json:"kernel_version"`
OS string `json:"os"`
Arch string `json:"arch"`
CPUs int `json:"cpus"`
Memory int64 `json:"memory"`
MemoryHuman string `json:"memory_human"`
Containers int `json:"containers"`
ContainersRunning int `json:"containers_running"`
Images int `json:"images"`
LastSeen time.Time `json:"last_seen"`
LastSeenHuman string `json:"last_seen_human"`
TLSEnabled bool `json:"tls_enabled,omitempty"`
}
HostView for hosts list.
type ImageService ¶
type ImageService interface {
List(ctx context.Context) ([]ImageView, error)
Get(ctx context.Context, id string) (*ImageView, error)
Remove(ctx context.Context, id string, force bool) error
Prune(ctx context.Context) (int64, error)
Pull(ctx context.Context, reference string) error
PullWithAuth(ctx context.Context, reference string, auth *models.RegistryAuthConfig) error
}
type ImageView ¶
type ImageView struct {
ID string `json:"id"`
ShortID string `json:"short_id"`
Tags []string `json:"tags"`
PrimaryTag string `json:"primary_tag"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
InUse bool `json:"in_use"`
Containers int `json:"containers"`
Architecture string `json:"architecture,omitempty"`
OS string `json:"os,omitempty"`
}
ImageView for image list templates.
type IssueView ¶
type IssueView struct {
ID string `json:"id"`
ContainerID string `json:"container_id,omitempty"`
Severity string `json:"severity"`
Category string `json:"category"`
Title string `json:"title"`
Message string `json:"message"`
FixCommand string `json:"fix_command"`
Documentation string `json:"documentation"`
Status string `json:"status"`
CVEID string `json:"cve_id,omitempty"`
CVSSScore float64 `json:"cvss_score,omitempty"`
Recommendation string `json:"recommendation,omitempty"`
}
IssueView for security issue display.
type JobView ¶
type JobView struct {
ID string `json:"id"`
Type string `json:"type"`
Status string `json:"status"`
Progress int `json:"progress"`
Message string `json:"message"`
StartedAt time.Time `json:"started_at"`
CompletedAt time.Time `json:"completed_at,omitempty"`
Duration string `json:"duration,omitempty"`
}
JobView for background jobs.
type LDAPBrowserService ¶
type LDAPBrowserService interface {
CreateConnection(ctx context.Context, input models.CreateLDAPConnectionInput, userID uuid.UUID) (*models.LDAPConnection, error)
GetConnection(ctx context.Context, id uuid.UUID) (*models.LDAPConnection, error)
ListConnections(ctx context.Context, userID uuid.UUID) ([]*models.LDAPConnection, error)
UpdateConnection(ctx context.Context, id uuid.UUID, input models.UpdateLDAPConnectionInput) error
DeleteConnection(ctx context.Context, id uuid.UUID) error
TestConnection(ctx context.Context, id uuid.UUID) (models.LDAPTestResulter, error)
ListEntries(ctx context.Context, id uuid.UUID, baseDN string, scope int) ([]models.LDAPEntry, error)
GetEntry(ctx context.Context, id uuid.UUID, dn string) (*models.LDAPEntry, error)
Search(ctx context.Context, id uuid.UUID, baseDN, filter string, scope int, attributes []string) (*models.LDAPSearchResult, error)
}
LDAPBrowserService interface for managing LDAP connections.
type LDAPConfigRepository ¶
type LDAPConfigRepository interface {
Create(ctx context.Context, input *postgres.CreateLDAPConfigInput) (*models.LDAPConfig, error)
GetByID(ctx context.Context, id uuid.UUID) (*models.LDAPConfig, error)
GetByName(ctx context.Context, name string) (*models.LDAPConfig, error)
List(ctx context.Context) ([]*models.LDAPConfig, error)
ListEnabled(ctx context.Context) ([]*models.LDAPConfig, error)
Update(ctx context.Context, id uuid.UUID, input *postgres.UpdateLDAPConfigInput) (*models.LDAPConfig, error)
Delete(ctx context.Context, id uuid.UUID) error
Count(ctx context.Context) (int64, error)
CountEnabled(ctx context.Context) (int64, error)
}
LDAPConfigRepository defines the interface for LDAP config operations.
type LicenseProviderWeb ¶
type LicenseProviderWeb interface {
GetInfo() *license.Info
Activate(licenseKey string) error
Deactivate() error
InstanceID() string
Edition() license.Edition
}
LicenseProviderWeb provides license state to web handlers.
type LifecycleHistoryRecord ¶
type LifecycleHistoryRecord = models.LifecycleHistoryRecord
type LifecyclePolicyRecord ¶
type LifecyclePolicyRecord = models.LifecyclePolicyRecord
type LifecycleRepo ¶
type LifecycleRepo interface {
CreatePolicy(ctx context.Context, p *LifecyclePolicyRecord) error
GetPolicy(ctx context.Context, id uuid.UUID) (*LifecyclePolicyRecord, error)
ListPolicies(ctx context.Context) ([]*LifecyclePolicyRecord, error)
DeletePolicy(ctx context.Context, id uuid.UUID) error
TogglePolicy(ctx context.Context, id uuid.UUID) (bool, error)
UpdateLastExecution(ctx context.Context, id uuid.UUID, executedAt time.Time, result string) error
CreateHistoryEntry(ctx context.Context, h *LifecycleHistoryRecord) error
ListHistory(ctx context.Context, limit int) ([]*LifecycleHistoryRecord, error)
TotalSpaceReclaimed(ctx context.Context) (int64, error)
}
LifecycleRepo defines the interface for lifecycle policy persistence.
type LogLineCount ¶
type LogLineCount int
LogLineCount represents how many log lines to show by default.
const ( LogLines100 LogLineCount = 100 LogLines250 LogLineCount = 250 LogLines500 LogLineCount = 500 LogLines1000 LogLineCount = 1000 LogLines5000 LogLineCount = 5000 )
type Logger ¶
type Logger interface {
Error(msg string, args ...interface{})
Info(msg string, args ...interface{})
Debug(msg string, args ...interface{})
Warn(msg string, args ...interface{})
}
Logger defines the interface for logging operations.
type MaintenanceRepo ¶
type MaintenanceRepo interface {
Create(ctx context.Context, mw *MaintenanceWindowRecord) error
GetByID(ctx context.Context, id uuid.UUID) (*MaintenanceWindowRecord, error)
List(ctx context.Context) ([]*MaintenanceWindowRecord, error)
Delete(ctx context.Context, id uuid.UUID) error
Toggle(ctx context.Context, id uuid.UUID) (bool, error)
SetActive(ctx context.Context, id uuid.UUID, active bool) error
UpdateLastRun(ctx context.Context, id uuid.UUID, runAt time.Time, status string) error
}
MaintenanceRepo defines the interface for maintenance window persistence.
type MaintenanceWindowRecord ¶
type MaintenanceWindowRecord = models.MaintenanceWindowRecord
type ManagedSecretRecord ¶
type ManagedSecretRecord = models.ManagedSecretRecord
type ManagedSecretRepo ¶
type ManagedSecretRepo interface {
Create(ctx context.Context, s *ManagedSecretRecord) error
GetByID(ctx context.Context, id uuid.UUID) (*ManagedSecretRecord, error)
List(ctx context.Context) ([]*ManagedSecretRecord, error)
Update(ctx context.Context, s *ManagedSecretRecord) error
Delete(ctx context.Context, id uuid.UUID) error
}
ManagedSecretRepo defines the interface for managed secret persistence.
type MetadataArtifactView ¶
type MetadataArtifactView struct {
ID string
JobID string
Filename string
MIME string
SizeBytes int64
SizeHuman string
SHA256Hex string
StrippedSHA256Hex string
StrippedAvailable bool
DownloadURL string
Extracted []MetadataField
ExtractedJSON string
CreatedAt string
}
MetadataArtifactView is one processed file.
type MetadataCreateJobInput ¶
type MetadataCreateJobInput struct {
Source string
SourceRef string
Mode string
CreatedBy *uuid.UUID
Files []MetadataUploadedFile
}
MetadataCreateJobInput is the web-layer input passed by the upload handler. Files are streamed by the caller to keep this struct lean.
type MetadataField ¶
MetadataField is one key/value pair extracted from a file.
type MetadataJobDetailView ¶
type MetadataJobDetailView struct {
Job MetadataJobView
Artifacts []MetadataArtifactView
}
MetadataJobDetailView wraps a job with its per-file artifact results.
type MetadataJobView ¶
type MetadataJobView struct {
ID string
Source string
SourceRef string
Mode string
Status string
ArtifactCount int
Error string
StartedAt string
FinishedAt string
Duration string
CreatedAt string
CreatedBy string
}
MetadataJobView is one row in the jobs list / upload-result partial.
type MetadataService ¶
type MetadataService interface {
IsEnabled() bool
CreateJob(ctx context.Context, in MetadataCreateJobInput) (*MetadataJobView, error)
GetJob(ctx context.Context, id uuid.UUID) (*MetadataJobDetailView, error)
ListJobs(ctx context.Context, limit int) ([]MetadataJobView, error)
OpenStripped(ctx context.Context, artifactID uuid.UUID) (io.ReadCloser, string, error)
}
MetadataService is the web-layer abstraction over the metadata hygiene backend. Handlers depend on this interface so they remain decoupled from internal/services/metadata for testability.
type MetadataUploadedFile ¶
MetadataUploadedFile is one element of an upload-mode job.
type MetricsServiceFull ¶
type MetricsServiceFull interface {
// Live collection (from scheduler worker interface)
CollectHostMetrics(ctx context.Context, hostID uuid.UUID) (*workers.HostMetrics, error)
CollectContainerMetrics(ctx context.Context, hostID uuid.UUID) ([]*workers.ContainerMetrics, error)
StoreMetrics(ctx context.Context, metrics *workers.MetricsSnapshot) error
// Current (with cache)
GetCurrentHostMetrics(ctx context.Context, hostID uuid.UUID) (*workers.HostMetrics, error)
GetCurrentContainerMetrics(ctx context.Context, hostID uuid.UUID) ([]*workers.ContainerMetrics, error)
// History
GetHostHistory(ctx context.Context, hostID uuid.UUID, from, to time.Time, interval string) ([]*models.MetricsSnapshot, error)
GetContainerHistory(ctx context.Context, containerID string, from, to time.Time, interval string) ([]*models.MetricsSnapshot, error)
// Retention
CleanupOldMetrics(ctx context.Context, retentionDays int) (int64, error)
// Prometheus
GetPrometheusMetrics(ctx context.Context) (string, error)
}
MetricsServiceFull defines the interface for metrics collection, storage, and querying.
type Middleware ¶
type Middleware struct {
// contains filtered or unexported fields
}
Middleware contains middleware dependencies.
func NewMiddleware ¶
func NewMiddleware( sessionStore SessionStore, authService AuthService, statsService StatsService, config MiddlewareConfig, ) *Middleware
NewMiddleware creates a new Middleware instance.
func (*Middleware) AdminRequired ¶
func (m *Middleware) AdminRequired(next http.Handler) http.Handler
AdminRequired middleware ensures user is admin.
func (*Middleware) AuthRequired ¶
func (m *Middleware) AuthRequired(next http.Handler) http.Handler
AuthRequired middleware ensures the user is authenticated. Redirects to login page if not authenticated.
func (*Middleware) CSRFMiddleware ¶
func (m *Middleware) CSRFMiddleware(next http.Handler) http.Handler
CSRFMiddleware validates CSRF token on POST/PUT/DELETE requests.
func (*Middleware) FlashMiddleware ¶
func (m *Middleware) FlashMiddleware(next http.Handler) http.Handler
FlashMiddleware handles flash messages from session. Reuses session cached by AuthRequired to avoid a second Redis roundtrip.
func (*Middleware) InjectCommonData ¶
func (m *Middleware) InjectCommonData(next http.Handler) http.Handler
InjectCommonData middleware injects common data needed by all pages.
func (*Middleware) OperatorRequired ¶
func (m *Middleware) OperatorRequired(next http.Handler) http.Handler
OperatorRequired middleware ensures user is admin or operator.
func (*Middleware) RequireAnyPermission ¶
RequireAnyPermission creates a middleware that checks for any of the specified permissions.
func (*Middleware) RequirePermission ¶
RequirePermission creates a middleware that checks for a specific permission. If the user doesn't have the permission, returns 403 Forbidden.
func (*Middleware) ResourceScopeMiddleware ¶
func (m *Middleware) ResourceScopeMiddleware(next http.Handler) http.Handler
ResourceScopeMiddleware computes and injects the ResourceScope into context. Must run AFTER AuthRequired (needs UserContext in context).
func (*Middleware) RoleRequired ¶
RoleRequired middleware ensures user has required role.
func (*Middleware) SetRoleProvider ¶
func (m *Middleware) SetRoleProvider(rp RoleProvider)
SetRoleProvider sets the role provider on the middleware. Thread-safe: may be called while middleware goroutines read roleProvider.
func (*Middleware) SetScopeProvider ¶
func (m *Middleware) SetScopeProvider(sp ScopeProvider)
SetScopeProvider sets the scope provider on the middleware. Thread-safe: may be called while middleware goroutines read scopeProvider.
func (*Middleware) ThemeMiddleware ¶
func (m *Middleware) ThemeMiddleware(next http.Handler) http.Handler
ThemeMiddleware extracts and applies theme preference.
type MiddlewareConfig ¶
MiddlewareConfig contains middleware configuration.
type MonitoringPageResponse ¶
type MonitoringPageResponse struct {
Host HostStatsData `json:"host"`
Containers []ContainerStatsData `json:"containers"`
Timestamp string `json:"timestamp"`
}
type MountView ¶
type MountView struct {
Type string `json:"type"`
Source string `json:"source"`
Destination string `json:"destination"`
Mode string `json:"mode"`
RW bool `json:"rw"`
}
MountView for mount display.
type NATSProber ¶
NATSProber provides NATS connection status.
type NetworkAttachmentView ¶
type NetworkAttachmentView struct {
NetworkID string `json:"network_id"`
NetworkName string `json:"network_name"`
IPAddress string `json:"ip_address"`
Gateway string `json:"gateway"`
MacAddress string `json:"mac_address"`
Aliases []string `json:"aliases"`
}
NetworkAttachmentView for container network detail display.
type NetworkService ¶
type NetworkService interface {
List(ctx context.Context) ([]NetworkView, error)
Get(ctx context.Context, id string) (*NetworkView, error)
GetModel(ctx context.Context, id string) (*models.Network, error)
Create(ctx context.Context, name, driver string, opts map[string]string) error
Remove(ctx context.Context, id string) error
Connect(ctx context.Context, networkID, containerID string) error
Disconnect(ctx context.Context, networkID, containerID string) error
Prune(ctx context.Context) (int64, error)
GetTopology(ctx context.Context) (*TopologyData, error)
}
type NetworkView ¶
type NetworkView struct {
ID string `json:"id"`
ShortID string `json:"short_id"`
Name string `json:"name"`
Driver string `json:"driver"`
Scope string `json:"scope"`
Internal bool `json:"internal"`
Attachable bool `json:"attachable"`
Subnet string `json:"subnet"`
Gateway string `json:"gateway"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
ContainerCount int `json:"container_count"`
Containers []string `json:"containers"`
}
NetworkView for network list templates.
type NotificationConfigRepository ¶
type NotificationConfigRepository interface {
SaveChannelConfig(ctx context.Context, config *channels.ChannelConfig) error
GetChannelConfigs(ctx context.Context) ([]*channels.ChannelConfig, error)
GetChannelConfig(ctx context.Context, name string) (*channels.ChannelConfig, error)
DeleteChannelConfig(ctx context.Context, name string) error
}
NotificationConfigRepository defines the interface for notification config storage.
type NotificationSender ¶
type NotificationSender interface {
SendRunbookNotification(ctx context.Context, runbookName, stepName, channel, message string) error
}
NotificationSender abstracts the notification service for sending messages from web handlers (runbooks, alerts, etc.) without importing the full service.
type NullSessionStore ¶
type NullSessionStore struct{}
NullSessionStore is a no-op session store for when Redis is not available.
func NewNullSessionStore ¶
func NewNullSessionStore() *NullSessionStore
NewNullSessionStore creates a new null session store.
func (*NullSessionStore) Delete ¶
func (s *NullSessionStore) Delete(r *http.Request, w http.ResponseWriter, name string) error
Delete does nothing.
func (*NullSessionStore) Save ¶
func (s *NullSessionStore) Save(r *http.Request, w http.ResponseWriter, session *Session) error
Save does nothing.
type OAuthConfigRepository ¶
type OAuthConfigRepository interface {
Create(ctx context.Context, input *postgres.CreateOAuthConfigInput) (*models.OAuthConfig, error)
GetByID(ctx context.Context, id uuid.UUID) (*models.OAuthConfig, error)
GetByName(ctx context.Context, name string) (*models.OAuthConfig, error)
List(ctx context.Context) ([]*models.OAuthConfig, error)
ListEnabled(ctx context.Context) ([]*models.OAuthConfig, error)
Update(ctx context.Context, id uuid.UUID, input *postgres.UpdateOAuthConfigInput) (*models.OAuthConfig, error)
Delete(ctx context.Context, id uuid.UUID) error
Count(ctx context.Context) (int64, error)
CountEnabled(ctx context.Context) (int64, error)
}
OAuthConfigRepository defines the interface for OAuth config operations.
type OnboardingService ¶
OnboardingService is the narrow contract the wizard handler needs. Implemented by *services/onboarding.Service.
type PageData ¶
type PageData struct {
// Page metadata
Title string `json:"title"`
Description string `json:"description,omitempty"`
Active string `json:"active"` // Active nav item
// Breadcrumb navigation
Breadcrumb []BreadcrumbItem `json:"breadcrumb,omitempty"`
// User context (injected by middleware)
User *UserContext `json:"user,omitempty"`
// Global stats (for sidebar badges)
Stats *GlobalStats `json:"stats,omitempty"`
// Notifications count
NotificationsCount int `json:"notifications_count,omitempty"`
// Flash messages
Flash *FlashMessage `json:"flash,omitempty"`
// CSRF token
CSRFToken string `json:"csrf_token,omitempty"`
// Theme preference
Theme string `json:"theme,omitempty"`
// Version info
Version string `json:"version,omitempty"`
// Page-specific data
Data interface{} `json:"data,omitempty"`
Containers interface{} `json:"containers,omitempty"`
Container interface{} `json:"container,omitempty"`
Images interface{} `json:"images,omitempty"`
Volumes interface{} `json:"volumes,omitempty"`
Volume interface{} `json:"volume,omitempty"`
Networks interface{} `json:"networks,omitempty"`
Network interface{} `json:"network,omitempty"`
Stacks interface{} `json:"stacks,omitempty"`
Backups interface{} `json:"backups,omitempty"`
Variables interface{} `json:"variables,omitempty"`
ConfigTemplates interface{} `json:"config_templates,omitempty"`
AuditLogs interface{} `json:"audit_logs,omitempty"`
SecurityScans interface{} `json:"security_scans,omitempty"`
SecurityIssues interface{} `json:"security_issues,omitempty"`
SecurityOverview interface{} `json:"security_overview,omitempty"`
Updates interface{} `json:"updates,omitempty"`
UpdateHistory interface{} `json:"update_history,omitempty"`
Hosts interface{} `json:"hosts,omitempty"`
Host interface{} `json:"host,omitempty"`
Events interface{} `json:"events,omitempty"`
Ports interface{} `json:"ports,omitempty"`
Jobs interface{} `json:"jobs,omitempty"`
UsersData interface{} `json:"users_data,omitempty"`
Notifications interface{} `json:"notifications,omitempty"`
Settings interface{} `json:"settings,omitempty"`
License interface{} `json:"license,omitempty"`
Topology interface{} `json:"topology,omitempty"`
Trends interface{} `json:"trends,omitempty"`
Recommendations interface{} `json:"recommendations,omitempty"`
ProxyHosts interface{} `json:"proxy_hosts,omitempty"`
Logs interface{} `json:"logs,omitempty"`
LogContainers interface{} `json:"log_containers,omitempty"`
// Templ layout fields (populated by preparePageData, used by ToTemplPageData)
TemplHosts []types.HostSelectorItem `json:"-"`
TemplActiveHostID string `json:"-"`
TemplActiveHostName string `json:"-"`
TemplEdition string `json:"-"`
TemplEditionName string `json:"-"`
TemplSidebarPrefs *types.SidebarPreferences `json:"-"`
// Pagination
Pagination *PaginationData `json:"pagination,omitempty"`
// Filters
Filters map[string]string `json:"filters,omitempty"`
// Sort
SortBy string `json:"sort_by,omitempty"`
SortOrder string `json:"sort_order,omitempty"`
// Error
Error string `json:"error,omitempty"`
ErrorCode int `json:"error_code,omitempty"`
// Available options for dropdowns
AvailableNetworks []string `json:"available_networks,omitempty"`
AvailableStacks []string `json:"available_stacks,omitempty"`
AvailableHosts []string `json:"available_hosts,omitempty"`
}
PageData contains all data passed to page templates.
type PaginationData ¶
type PaginationData struct {
CurrentPage int `json:"current_page"`
TotalPages int `json:"total_pages"`
TotalItems int64 `json:"total_items"`
ItemsPerPage int `json:"items_per_page"`
HasPrev bool `json:"has_prev"`
HasNext bool `json:"has_next"`
}
PaginationData contains pagination info.
func NewPagination ¶
func NewPagination(totalItems int64, currentPage, perPage int) *PaginationData
NewPagination creates pagination data.
type PortAnalysisView ¶
type PortAnalysisView struct {
ContainerID string `json:"container_id"`
ContainerName string `json:"container_name"`
InternalPort int `json:"internal_port"`
ExternalPort int `json:"external_port"`
HostIP string `json:"host_ip"`
Protocol string `json:"protocol"`
ExposureLevel string `json:"exposure_level"`
IsRisky bool `json:"is_risky"`
RiskReason string `json:"risk_reason,omitempty"`
}
PortAnalysisView for ports page.
type PortView ¶
type PortView struct {
ContainerPort int `json:"container_port"`
HostPort int `json:"host_port"`
HostIP string `json:"host_ip"`
Protocol string `json:"protocol"`
Display string `json:"display"`
}
PortView for port display.
type PreferencesLoader ¶
type PreferencesLoader interface {
GetUserPreferences(ctx context.Context, userID string) (string, error) // returns JSON string
}
PreferencesLoader is the interface for loading user preferences from storage. Implement this with your repository layer (e.g., PostgreSQL, SQLite).
type PreferencesRepository ¶
type PreferencesRepository interface {
PreferencesLoader // embeds GetUserPreferences
SaveUserPreferences(userID string, prefsJSON string) error
DeleteUserPreferences(userID string) error
GetSidebarPrefs(ctx context.Context, userID string) (string, error)
SaveSidebarPrefs(ctx context.Context, userID string, prefsJSON string) error
}
PreferencesRepository defines operations for user preferences.
type ProxyBackendSupport ¶
type ProxyBackendSupport struct {
Mode string
AccessLists bool
DeadHosts bool
Locations bool
Redirections bool
Streams bool
}
ProxyBackendSupport mirrors proxysvc.FeatureSupport at the web layer so the adapter interface does not import the service package.
type ProxyHostView ¶
type ProxyHostView struct {
ID int `json:"id"`
DomainNames []string `json:"domain_names,omitempty"`
Domain string `json:"domain"`
ForwardScheme string `json:"forward_scheme"`
ForwardHost string `json:"forward_host"`
ForwardPort int `json:"forward_port"`
CertificateID int `json:"certificate_id,omitempty"`
SSLEnabled bool `json:"ssl_enabled"`
SSLForced bool `json:"ssl_forced"`
HSTSEnabled bool `json:"hsts_enabled"`
HSTSSubdomains bool `json:"hsts_subdomains"`
HTTP2Support bool `json:"http2_support"`
BlockExploits bool `json:"block_exploits"`
CachingEnabled bool `json:"caching_enabled"`
AllowWebsocketUpgrade bool `json:"allow_websocket_upgrade"`
AccessListID int `json:"access_list_id,omitempty"`
AdvancedConfig string `json:"advanced_config,omitempty"`
Enabled bool `json:"enabled"`
ContainerID string `json:"container_id,omitempty"`
Container string `json:"container,omitempty"`
CreatedOn string `json:"created_on,omitempty"`
ModifiedOn string `json:"modified_on,omitempty"`
}
ProxyHostView for NPM proxy hosts.
type ProxyService ¶
type ProxyService interface {
// Proxy Hosts
ListHosts(ctx context.Context) ([]ProxyHostView, error)
GetHost(ctx context.Context, id int) (*ProxyHostView, error)
CreateHost(ctx context.Context, h *ProxyHostView) error
UpdateHost(ctx context.Context, h *ProxyHostView) error
RemoveHost(ctx context.Context, id int) error
EnableHost(ctx context.Context, id int) error
DisableHost(ctx context.Context, id int) error
Sync(ctx context.Context) error
// Redirection Hosts
ListRedirections(ctx context.Context) ([]RedirectionHostView, error)
CreateRedirection(ctx context.Context, r *RedirectionHostView) error
UpdateRedirection(ctx context.Context, r *RedirectionHostView) error
DeleteRedirection(ctx context.Context, id int) error
GetRedirection(ctx context.Context, id int) (*RedirectionHostView, error)
// Streams
ListStreams(ctx context.Context) ([]StreamView, error)
CreateStream(ctx context.Context, s *StreamView) error
UpdateStream(ctx context.Context, s *StreamView) error
DeleteStream(ctx context.Context, id int) error
GetStream(ctx context.Context, id int) (*StreamView, error)
// Dead Hosts
ListDeadHosts(ctx context.Context) ([]DeadHostView, error)
CreateDeadHost(ctx context.Context, d *DeadHostView) error
DeleteDeadHost(ctx context.Context, id int) error
// Certificates
ListCertificates(ctx context.Context) ([]CertificateView, error)
GetCertificate(ctx context.Context, id int) (*CertificateView, error)
RequestLECertificate(ctx context.Context, domains []string, email string, agree bool, dnsChallenge bool, dnsProvider, dnsCredentials string, propagation int) error
UploadCustomCertificate(ctx context.Context, niceName string, cert, key, intermediate []byte) error
RenewCertificate(ctx context.Context, id int) error
DeleteCertificate(ctx context.Context, id int) error
// Access Lists
ListAccessLists(ctx context.Context) ([]AccessListView, error)
GetAccessList(ctx context.Context, id int) (*AccessListDetailView, error)
CreateAccessList(ctx context.Context, a *AccessListDetailView) error
UpdateAccessList(ctx context.Context, a *AccessListDetailView) error
DeleteAccessList(ctx context.Context, id int) error
// Audit
ListAuditLogs(ctx context.Context, limit, offset int) ([]AuditLogView, int, error)
// Connection management
GetConnection(ctx context.Context) (*models.NPMConnection, error)
SetupConnection(ctx context.Context, baseURL, email, password, userID string) error
UpdateConnectionConfig(ctx context.Context, connID string, baseURL, email, password *string, enabled *bool, userID string) error
DeleteConnection(ctx context.Context, connID string) error
// IsConnected
IsConnected(ctx context.Context) bool
// Mode returns the proxy backend type: "caddy" or "npm"
Mode() string
// BackendSupport returns the active backend's extended-feature
// support matrix. The UI renders this so the operator can see
// which features the active backend can actually apply.
BackendSupport() ProxyBackendSupport
}
type RDPService ¶
type RDPService interface {
CreateConnection(ctx context.Context, input models.CreateRDPConnectionInput, userID uuid.UUID) (*models.RDPConnection, error)
GetConnection(ctx context.Context, id uuid.UUID) (*models.RDPConnection, error)
ListConnections(ctx context.Context, userID uuid.UUID) ([]*models.RDPConnection, error)
UpdateConnection(ctx context.Context, id uuid.UUID, input models.UpdateRDPConnectionInput) error
DeleteConnection(ctx context.Context, id uuid.UUID) error
TestConnection(ctx context.Context, id uuid.UUID) (bool, string, time.Duration, error)
}
RDPService interface for managing RDP connections.
type ReconConnectorView ¶
type ReconConnectorView struct {
Kind string
Name string
Enabled bool
Configured bool
Description string
DocsURL string
}
ReconConnectorView lists one optional API connector (HIBP, Shodan…).
type ReconDashboardData ¶
type ReconDashboardData struct {
TotalTargets int
TotalScans int
RunningScans int
CompletedScans int
FailedScans int
FindingsBySev map[string]int
RecentScans []ReconScanView
TopFindings []ReconFindingView
}
ReconDashboardData is the bundle rendered on /recon/dashboard.
type ReconFindingFilter ¶
ReconFindingFilter narrows a findings query.
type ReconFindingView ¶
type ReconFindingView struct {
ID string
ScanID string
TargetID string
Module string
Category string
Severity string
Value string
Source string
Confidence int
FirstSeen string
LastSeen string
}
ReconFindingView is one normalized finding row.
type ReconOwnershipProofView ¶
type ReconOwnershipProofView struct {
ID string
Method string
Status string
Challenge string
VerifiedAt string
CreatedAt string
}
ReconOwnershipProofView renders one ownership verification record.
type ReconProfileView ¶
type ReconProfileView struct {
ID string
Name string
Description string
Kind string
TargetTypes []string
Modules []string
}
ReconProfileView lists a built-in or user-defined profile.
type ReconReportView ¶
type ReconReportView struct {
ID string
ScanID string
TargetValue string
Format string
SizeBytes int64
CreatedAt string
DownloadURL string
}
ReconReportView is one generated report.
type ReconSandboxToolGroup ¶
ReconSandboxToolGroup is one labelled section of the sandbox tool panel rendered at /recon/connectors.
type ReconScanDetailView ¶
type ReconScanDetailView struct {
Scan ReconScanView
Summary *ReconScanSummaryView
Findings []ReconFindingView
Modules []string
}
ReconScanDetailView wraps a scan with its findings and summary.
type ReconScanFilter ¶
ReconScanFilter narrows the scans list.
type ReconScanSummaryView ¶
ReconScanSummaryView shows aggregate counts and grade.
type ReconScanView ¶
type ReconScanView struct {
ID string
TargetID string
TargetValue string
TargetType string
ProfileID string
ProfileName string
Status string
Engine string
Error string
StartedAt string
FinishedAt string
Duration string
Progress int
CreatedAt string
}
ReconScanView is one row in the scans list.
type ReconService ¶
type ReconService interface {
IsEnabled() bool
IsAcknowledged(ctx context.Context) (bool, error)
Acknowledge(ctx context.Context, actorID *uuid.UUID, ip string) error
GetDashboard(ctx context.Context) (*ReconDashboardData, error)
ListTargets(ctx context.Context) ([]ReconTargetView, error)
GetTarget(ctx context.Context, id uuid.UUID) (*ReconTargetDetailView, error)
DeleteTarget(ctx context.Context, id uuid.UUID) error
ListProfiles(ctx context.Context) ([]ReconProfileView, error)
ListScans(ctx context.Context, filter ReconScanFilter) ([]ReconScanView, error)
GetScan(ctx context.Context, id uuid.UUID) (*ReconScanDetailView, error)
ListFindings(ctx context.Context, scanID uuid.UUID, filter ReconFindingFilter) ([]ReconFindingView, error)
CancelScan(ctx context.Context, id uuid.UUID) error
ListConnectors(ctx context.Context) ([]ReconConnectorView, error)
ListReports(ctx context.Context) ([]ReconReportView, error)
// ListSandboxTools surfaces the toolset shipped inside the
// recon-toolkit container, grouped by category. The data is static
// per binary build (the canonical manifest lives at
// images/recon-toolkit/tools.list and is mirrored into the
// sandboxtools package at build time) so this method never errs
// and never blocks on Docker.
ListSandboxTools(ctx context.Context) []ReconSandboxToolGroup
}
ReconService is the web-layer abstraction over the recon backend. The concrete implementation lives in reconAdapter; handlers stay decoupled from internal/services/recon so tests can substitute fakes.
type ReconTargetDetailView ¶
type ReconTargetDetailView struct {
Target ReconTargetView
OwnershipProofs []ReconOwnershipProofView
Scans []ReconScanView
Findings []ReconFindingView
}
ReconTargetDetailView is the per-target dossier view.
type ReconTargetView ¶
type ReconTargetView struct {
ID string
Type string
Value string
ValueHashPrefix string
Label string
OwnershipStatus string
OwnershipMethod string
OwnershipVerified bool
LastScanAt string
ScanCount int
CreatedAt string
CreatedBy string
}
ReconTargetView is one row in the targets list.
type RedirectionHostView ¶
type RedirectionHostView struct {
ID int `json:"id"`
DomainNames []string `json:"domain_names"`
Domain string `json:"domain"`
ForwardScheme string `json:"forward_scheme"`
ForwardDomain string `json:"forward_domain"`
ForwardHTTPCode int `json:"forward_http_code"`
PreservePath bool `json:"preserve_path"`
SSLForced bool `json:"ssl_forced"`
CertificateID int `json:"certificate_id"`
Enabled bool `json:"enabled"`
}
RedirectionHostView for NPM redirections.
type RedisProber ¶
type RedisProber interface {
Ping(ctx context.Context) error
GetVersion(ctx context.Context) (string, error)
}
RedisProber provides Redis connectivity checks.
type RefreshInterval ¶
type RefreshInterval int
RefreshInterval represents the dashboard auto-refresh interval in seconds.
const ( RefreshOff RefreshInterval = 0 Refresh5s RefreshInterval = 5 Refresh10s RefreshInterval = 10 Refresh30s RefreshInterval = 30 Refresh60s RefreshInterval = 60 )
type RegistryRepo ¶
type RegistryRepo interface {
Create(ctx context.Context, input models.CreateRegistryInput) (*models.Registry, error)
GetByID(ctx context.Context, id uuid.UUID) (*models.Registry, error)
List(ctx context.Context) ([]*models.Registry, error)
Update(ctx context.Context, id uuid.UUID, input models.CreateRegistryInput) (*models.Registry, error)
Delete(ctx context.Context, id uuid.UUID) error
}
RegistryRepo defines the interface for registry persistence.
type ResourceQuotaRecord ¶
type ResourceQuotaRecord = models.ResourceQuotaRecord
type ResourceQuotaRepo ¶
type ResourceQuotaRepo interface {
Create(ctx context.Context, q *ResourceQuotaRecord) error
List(ctx context.Context) ([]*ResourceQuotaRecord, error)
Delete(ctx context.Context, id uuid.UUID) error
Toggle(ctx context.Context, id uuid.UUID) (bool, error)
}
ResourceQuotaRepo defines the interface for resource quota persistence.
type RoleProvider ¶
RoleProvider fetches a role by ID.
type RoleRepository ¶
type RoleRepository interface {
Create(ctx context.Context, role *models.Role) error
GetByID(ctx context.Context, id uuid.UUID) (*models.Role, error)
GetByName(ctx context.Context, name string) (*models.Role, error)
Update(ctx context.Context, role *models.Role) error
Delete(ctx context.Context, id uuid.UUID) error
List(ctx context.Context, opts postgres.RoleListOptions) ([]*models.Role, int, error)
GetAll(ctx context.Context) ([]*models.Role, error)
GetSystemRoles(ctx context.Context) ([]*models.Role, error)
CountUsersWithRole(ctx context.Context, roleID uuid.UUID) (int, error)
CountCustomRoles(ctx context.Context) (int, error)
}
RoleRepository defines the interface for role operations.
type RunbookRepo ¶
type RunbookRepo interface {
Create(ctx context.Context, rb *models.Runbook) error
GetByID(ctx context.Context, id uuid.UUID) (*models.Runbook, error)
List(ctx context.Context, opts models.RunbookListOptions) ([]*models.Runbook, int64, error)
Update(ctx context.Context, rb *models.Runbook) error
Delete(ctx context.Context, id uuid.UUID) error
CreateExecution(ctx context.Context, exec *models.RunbookExecution) error
UpdateExecution(ctx context.Context, exec *models.RunbookExecution) error
GetExecution(ctx context.Context, id uuid.UUID) (*models.RunbookExecution, error)
ListExecutions(ctx context.Context, runbookID uuid.UUID, limit int) ([]*models.RunbookExecution, error)
ListRecentExecutions(ctx context.Context, limit int) ([]*models.RunbookExecution, error)
GetCategories(ctx context.Context) ([]string, error)
}
RunbookRepo defines the interface for runbook persistence.
type SSHService ¶
type SSHService interface {
Connect(ctx context.Context, connID uuid.UUID, userID uuid.UUID, clientIP string) (*ssh.Client, *models.SSHSession, error)
EndSession(ctx context.Context, sessionID uuid.UUID) error
GetConnection(ctx context.Context, id uuid.UUID) (*models.SSHConnection, error)
SaveConnectionOptions(ctx context.Context, conn *models.SSHConnection) error
CreateSession(ctx context.Context, session *models.SSHSession) error
}
SSHService interface for handler
type SSHTerminalMessage ¶
type SSHTerminalMessage struct {
Type string `json:"type"` // "input", "output", "resize", "error", "connected", "disconnected", "credential_request", "credential_response"
Data string `json:"data,omitempty"`
Cols int `json:"cols,omitempty"`
Rows int `json:"rows,omitempty"`
Field string `json:"field,omitempty"` // "username" or "password" for credential prompts
Username string `json:"username,omitempty"` // for credential_response
Password string `json:"password,omitempty"` // for credential_response
}
SSHTerminalMessage represents a WebSocket message for SSH terminal.
type ScopeProvider ¶
type ScopeProvider interface {
GetUserScope(ctx context.Context, userID string, userRole string) (*models.ResourceScope, error)
}
ScopeProvider computes user resource scope. Implemented by the team service.
type SecurityOverviewData ¶
type SecurityOverviewData struct {
TotalScanned int `json:"total_scanned"`
AverageScore float64 `json:"average_score"`
GradeA int `json:"grade_a"`
GradeB int `json:"grade_b"`
GradeC int `json:"grade_c"`
GradeD int `json:"grade_d"`
GradeF int `json:"grade_f"`
CriticalCount int `json:"critical_count"`
HighCount int `json:"high_count"`
MediumCount int `json:"medium_count"`
LowCount int `json:"low_count"`
TrivyAvailable bool `json:"trivy_available"`
}
SecurityOverviewData for security dashboard.
type SecurityScanView ¶
type SecurityScanView struct {
ContainerID string `json:"container_id"`
ContainerName string `json:"container_name"`
Image string `json:"image"`
Score int `json:"score"`
Grade string `json:"grade"`
Issues []IssueView `json:"issues"`
IssueCount int `json:"issue_count"`
CriticalCount int `json:"critical_count"`
HighCount int `json:"high_count"`
MediumCount int `json:"medium_count"`
LowCount int `json:"low_count"`
ScannedAt time.Time `json:"scanned_at"`
ScannedHuman string `json:"scanned_human"`
CVECount int `json:"cve_count"`
IncludedCVE bool `json:"included_cve"`
}
SecurityScanView for security scan results.
type SecurityService ¶
type SecurityService interface {
GetOverview(ctx context.Context) (*SecurityOverviewData, error)
ListScans(ctx context.Context) ([]SecurityScanView, error)
ListContainersWithSecurity(ctx context.Context) ([]ContainerSecurityView, error)
GetScan(ctx context.Context, containerID string) (*SecurityScanView, error)
Scan(ctx context.Context, containerID string) (*SecurityScanView, error)
ScanAll(ctx context.Context) error
ListIssues(ctx context.Context) ([]IssueView, error)
IgnoreIssue(ctx context.Context, id string) error
ResolveIssue(ctx context.Context, id string) error
GetTrends(ctx context.Context, days int) (*SecurityTrendsViewData, error)
GenerateReport(ctx context.Context, format string) ([]byte, string, error) // data, contentType, error
IsTrivyAvailable() bool
}
type SecurityTrendsViewData ¶
type SecurityTrendsViewData struct {
Overview SecurityOverviewData `json:"overview"`
ScoreHistory []TrendPointView `json:"score_history"`
ContainerTrends []ContainerTrendViewData `json:"container_trends"`
Days int `json:"days"`
}
SecurityTrendsViewData for the trends page.
type SelectOption ¶
func AvailableLanguages ¶
func AvailableLanguages() []SelectOption
AvailableLanguages returns supported UI languages.
func AvailableTimezones ¶
func AvailableTimezones() []SelectOption
AvailableTimezones returns common IANA timezones for the preferences UI.
type ServiceRegistry ¶
type ServiceRegistry struct {
// contains filtered or unexported fields
}
ServiceRegistry holds all backend services and provides adapted interfaces for the web layer.
func NewServiceRegistry ¶
func NewServiceRegistry(deps ServiceRegistryDeps) *ServiceRegistry
NewServiceRegistry creates a new service registry with all dependencies injected.
func (*ServiceRegistry) Alerts ¶
func (r *ServiceRegistry) Alerts() AlertsService
Alerts returns the alert monitoring service, or nil if not configured.
func (*ServiceRegistry) Auth ¶
func (r *ServiceRegistry) Auth() AuthService
func (*ServiceRegistry) BackupVerify ¶
func (r *ServiceRegistry) BackupVerify() *backupverifysvc.Service
BackupVerify returns the backup verification service, or nil if not configured. Web handlers must check for nil before use; the standalone-mode app wires this in every install (no edition gate).
func (*ServiceRegistry) Backups ¶
func (r *ServiceRegistry) Backups() BackupService
func (*ServiceRegistry) Calendar ¶
func (r *ServiceRegistry) Calendar() *calendarsvc.Service
Calendar returns the operations calendar service, or nil if not configured. v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) Config ¶
func (r *ServiceRegistry) Config() ConfigService
func (*ServiceRegistry) Containers ¶
func (r *ServiceRegistry) Containers() ContainerService
func (*ServiceRegistry) Crontab ¶
func (r *ServiceRegistry) Crontab() *crontabsvc.Service
Crontab returns the crontab service, or nil if not configured. Web handlers must check for nil before use; the standalone-mode app wires this in every install (no edition gate).
func (*ServiceRegistry) DockerEngine ¶
func (r *ServiceRegistry) DockerEngine() *dockerconfigsvc.Service
DockerEngine returns the docker engine config service, or nil if not configured. The web handler renders an "unavailable" page when nil — typically because the operator did not mount /etc/docker into the container.
func (*ServiceRegistry) Egress ¶
func (r *ServiceRegistry) Egress() *egresssvc.Service
Egress returns the L7 egress filter service, or nil if not configured (typically because cfg.EgressProxy.Enabled is false). v26.5.2 wires this in every install — no biz gate.
func (*ServiceRegistry) Events ¶
func (r *ServiceRegistry) Events() EventService
func (*ServiceRegistry) Firewall ¶
func (r *ServiceRegistry) Firewall() *firewallsvc.Service
Firewall returns the firewall service, or nil if not configured. Web handlers must check for nil before use; the standalone-mode app wires this in every install (no edition gate), but installs that disable migration 050_firewall would observe a nil here.
func (*ServiceRegistry) Git ¶
func (r *ServiceRegistry) Git() GitService
Git returns the unified Git service, or nil if not configured.
func (*ServiceRegistry) Gitea ¶
func (r *ServiceRegistry) Gitea() GiteaService
Gitea returns the Gitea integration service, or nil if not configured.
func (*ServiceRegistry) Hosts ¶
func (r *ServiceRegistry) Hosts() HostService
func (*ServiceRegistry) ImageBuilder ¶
func (r *ServiceRegistry) ImageBuilder() *imagebuildersvc.Service
ImageBuilder returns the image builder service, or nil if not configured. v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) Images ¶
func (r *ServiceRegistry) Images() ImageService
func (*ServiceRegistry) Marketplace ¶
func (r *ServiceRegistry) Marketplace() *marketplacesvc.Service
Marketplace returns the curated app marketplace service, or nil if not configured. v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) Metadata ¶
func (r *ServiceRegistry) Metadata() MetadataService
Metadata returns the metadata hygiene adapter. Always non-nil for the same reason as Recon().
func (*ServiceRegistry) Metrics ¶
func (r *ServiceRegistry) Metrics() MetricsServiceFull
Metrics returns the metrics service, or nil if not configured.
func (*ServiceRegistry) Networks ¶
func (r *ServiceRegistry) Networks() NetworkService
func (*ServiceRegistry) Proxy ¶
func (r *ServiceRegistry) Proxy() ProxyService
func (*ServiceRegistry) Recon ¶
func (r *ServiceRegistry) Recon() ReconService
Recon returns the recon module adapter. It always returns a non-nil pointer so handlers can call methods without nil-checks; IsEnabled() reflects whether the underlying service is wired.
func (*ServiceRegistry) Rollback ¶
func (r *ServiceRegistry) Rollback() *rollbacksvc.Service
Rollback returns the automated rollback service, or nil if not configured. v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) SSH ¶
func (r *ServiceRegistry) SSH() *sshsvc.Service
SSH returns the SSH service, or nil if not configured.
func (*ServiceRegistry) SSLObservatory ¶
func (r *ServiceRegistry) SSLObservatory() *sslobssvc.Service
SSLObservatory returns the SSL observatory service, or nil if not configured. v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) Scheduler ¶
func (r *ServiceRegistry) Scheduler() *scheduler.Scheduler
Scheduler returns the scheduler service, or nil if not configured.
func (*ServiceRegistry) Security ¶
func (r *ServiceRegistry) Security() SecurityService
func (*ServiceRegistry) Stacks ¶
func (r *ServiceRegistry) Stacks() StackService
func (*ServiceRegistry) Stats ¶
func (r *ServiceRegistry) Stats() StatsService
func (*ServiceRegistry) Storage ¶
func (r *ServiceRegistry) Storage() StorageService
func (*ServiceRegistry) Teams ¶
func (r *ServiceRegistry) Teams() TeamService
func (*ServiceRegistry) Updates ¶
func (r *ServiceRegistry) Updates() UpdateService
func (*ServiceRegistry) Users ¶
func (r *ServiceRegistry) Users() UserService
func (*ServiceRegistry) Volumes ¶
func (r *ServiceRegistry) Volumes() VolumeService
func (*ServiceRegistry) WireGuard ¶
func (r *ServiceRegistry) WireGuard() *wireguardsvc.Service
WireGuard returns the wireguard service, or nil if not configured (typically because the data encryption key is unset). v26.5.1 wires this in every install — no biz gate.
func (*ServiceRegistry) YARA ¶
func (r *ServiceRegistry) YARA() *yarasvc.Service
YARA returns the YARA scanner service, or nil if not configured (typically because recon is disabled and the toolkit image isn't available). v26.5.2 wires this in every install — no biz gate.
type ServiceRegistryDeps ¶
type ServiceRegistryDeps struct {
DefaultHostID uuid.UUID
ContainerService *containersvc.Service
ImageService *imagesvc.Service
VolumeService *volumesvc.Service
NetworkService *networksvc.Service
StackService *stacksvc.Service
BackupService *backupsvc.Service
ConfigService *configsvc.Service
SecurityService *securitysvc.Service
UpdateService *updatesvc.Service
HostService *hostsvc.Service
AuthService *authsvc.Service
NPMService *npm.Service // Optional: requires npm.enabled
ProxyService *proxysvc.Service // Optional: requires nginx.enabled or caddy.enabled
StorageService *storagesvc.Service // Optional: requires minio.enabled
TeamService *teamsvc.Service
GiteaService *giteapkg.Service // Optional: requires Gitea integration
GitService *gitsvc.Service // Optional: requires Git integration
SSHService *sshsvc.Service // Optional: requires SSH service
MetricsService MetricsServiceFull
AlertService *monitoring.AlertService
SchedulerService *scheduler.Scheduler // Optional: set after scheduler init
FirewallService *firewallsvc.Service // Optional: firewall rule management (v26.5.1)
CrontabService *crontabsvc.Service // Optional: managed cron jobs (v26.5.1)
BackupVerifyService *backupverifysvc.Service // Optional: backup verification (v26.5.1)
RollbackService *rollbacksvc.Service // Optional: automated rollback (v26.5.1)
SSLObservatoryService *sslobssvc.Service // Optional: SSL observatory (v26.5.1)
DockerEngineService *dockerconfigsvc.Service // Optional: docker engine config (v26.5.1)
WireGuardService *wireguardsvc.Service // Optional: WireGuard mesh (v26.5.1)
WireGuardProbe wireguardsvc.ProbeResult // Optional: local wg/wg-quick availability
ImageBuilderService *imagebuildersvc.Service // Optional: image builder (v26.5.1)
DNSService *dnssvc.Service // Optional: DNS provider plugins (v26.5.1)
CalendarService *calendarsvc.Service // Optional: operations calendar (v26.5.1)
MarketplaceService *marketplacesvc.Service // Optional: curated app marketplace (v26.5.1)
EgressService *egresssvc.Service // Optional: L7 egress forward proxy (v26.5.2)
EgressListenAddr string // Optional: proxy listener address for the UI info panel
YARAService *yarasvc.Service // Optional: one-shot YARA scanner (v26.5.2)
YARAToolkitImage string // Optional: toolkit image name for the UI info panel
UserRepository *postgres.UserRepository
AuditLogRepo *postgres.AuditLogRepository // Optional: for recent events feed
Encryptor *crypto.AESEncryptor // Optional: requires encryption key
SessionStore *WebSessionStore // Optional: requires Redis
DockerClient docker.ClientAPI // Optional: set after Docker init
// Recon module (v26.5.0). Pass the service implementations and the
// in-memory or Postgres-backed acknowledgement recorder. Leave nil
// when cfg.Recon.Enabled is false.
ReconService reconsvc.Service
MetadataService metadatasvc.Service
ReconAck AckRecorder
ReconEnabled bool
}
ServiceRegistryDeps holds all dependencies for ServiceRegistry constructor injection. Optional fields (nil-safe) can be left nil if the corresponding feature is disabled.
type Services ¶
type Services interface {
Containers() ContainerService
Images() ImageService
Volumes() VolumeService
Networks() NetworkService
Stacks() StackService
Backups() BackupService
Config() ConfigService
Security() SecurityService
Updates() UpdateService
Hosts() HostService
Events() EventService
Proxy() ProxyService
Storage() StorageService
Auth() AuthService
Stats() StatsService
Users() UserService
Teams() TeamService
Gitea() GiteaService
Git() GitService
Metrics() MetricsServiceFull
Alerts() AlertsService
Scheduler() *scheduler.Scheduler
}
Services interface aggregates all service interfaces needed by handlers.
type Session ¶
type Session struct {
ID string
UserID string
Username string
Role string
Theme string
CSRFToken string
CreatedAt time.Time
ExpiresAt time.Time
Values map[string]interface{}
}
Session represents a user session.
type SessionRepository ¶
type SessionRepository interface {
GetUserSessions(userID string) ([]profile.SessionInfo, error)
DeleteSession(sessionID string) error
DeleteAllSessionsExcept(userID string, currentSessionID string) error
GetCurrentSessionID(r *http.Request) string
}
SessionRepository defines operations for user sessions.
type SessionStore ¶
type SessionStore interface {
Get(r *http.Request, name string) (*Session, error)
Save(r *http.Request, w http.ResponseWriter, session *Session) error
Delete(r *http.Request, w http.ResponseWriter, name string) error
}
SessionStore interface for session management.
type ShortcutsService ¶
type ShortcutsService interface {
Create(ctx context.Context, input models.CreateWebShortcutInput, userID uuid.UUID) (*models.WebShortcut, error)
Get(ctx context.Context, id uuid.UUID) (*models.WebShortcut, error)
List(ctx context.Context, userID uuid.UUID) ([]*models.WebShortcut, error)
ListByCategory(ctx context.Context, userID uuid.UUID, category string) ([]*models.WebShortcut, error)
Update(ctx context.Context, id uuid.UUID, input models.UpdateWebShortcutInput) (*models.WebShortcut, error)
Delete(ctx context.Context, id uuid.UUID) error
GetCategories(ctx context.Context, userID uuid.UUID) ([]string, error)
FetchAndSetFavicon(ctx context.Context, shortcutID uuid.UUID) error
}
ShortcutsService interface for managing web shortcuts.
type SnippetRepository ¶
type SnippetRepository interface {
Create(ctx context.Context, userID uuid.UUID, input *models.CreateSnippetInput) (*models.UserSnippet, error)
Get(ctx context.Context, userID, snippetID uuid.UUID) (*models.UserSnippet, error)
Update(ctx context.Context, userID, snippetID uuid.UUID, input *models.UpdateSnippetInput) (*models.UserSnippet, error)
Delete(ctx context.Context, userID, snippetID uuid.UUID) error
List(ctx context.Context, userID uuid.UUID, opts *models.SnippetListOptions) ([]*models.UserSnippetListItem, error)
ListPaths(ctx context.Context, userID uuid.UUID) ([]string, error)
Count(ctx context.Context, userID uuid.UUID) (int, error)
}
SnippetRepository defines the interface for snippet storage.
type StackService ¶
type StackService interface {
List(ctx context.Context) ([]StackView, error)
Get(ctx context.Context, name string) (*StackView, error)
GetServices(ctx context.Context, name string) ([]StackServiceView, error)
GetComposeConfig(ctx context.Context, name string) (string, error)
Deploy(ctx context.Context, name, composeFile string) error
Start(ctx context.Context, name string) error
Stop(ctx context.Context, name string) error
Restart(ctx context.Context, name string) error
Remove(ctx context.Context, name string) error
ListVersions(ctx context.Context, name string) ([]StackVersionView, error)
}
type StackServiceView ¶
type StackServiceView struct {
Name string `json:"name"`
Image string `json:"image"`
ContainerID string `json:"container_id"`
ContainerName string `json:"container_name"`
Status string `json:"status"`
State string `json:"state"`
Replicas string `json:"replicas"`
Ports []string `json:"ports"`
}
StackServiceView represents a service within a stack for templates.
type StackVersionView ¶
type StackVersionView struct {
Version int
Comment string
CreatedAt string
CreatedBy string
IsDeployed bool
}
StackVersionView represents a stack version for the web UI.
type StackView ¶
type StackView struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"` // compose or swarm
HostID string `json:"host_id"`
Status string `json:"status"`
ServiceCount int `json:"service_count"`
RunningCount int `json:"running_count"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
UpdatedHuman string `json:"updated_human"`
Path string `json:"path"`
ComposeFile string `json:"compose_file"`
ContainerNames []string `json:"container_names"`
IsExternal bool `json:"is_external"` // true if discovered from Docker, not managed by usulnet
GitRepo string `json:"git_repo,omitempty"`
GitBranch string `json:"git_branch,omitempty"`
GitCommit string `json:"git_commit,omitempty"`
}
StackView for stack/compose list templates.
type StatsService ¶
type StatsService interface {
GetGlobalStats(ctx context.Context) (*GlobalStats, error)
}
StatsService interface for fetching global stats.
type StorageAuditView ¶
type StorageAuditView struct {
Action string `json:"action"`
ResourceType string `json:"resource_type"`
ResourceName string `json:"resource_name"`
UserID string `json:"user_id"`
CreatedAt string `json:"created_at"`
}
StorageAuditView represents an audit entry for the UI.
type StorageBucketView ¶
type StorageBucketView struct {
Name string `json:"name"`
Region string `json:"region"`
SizeBytes int64 `json:"size_bytes"`
SizeHuman string `json:"size_human"`
ObjectCount int64 `json:"object_count"`
IsPublic bool `json:"is_public"`
Versioning bool `json:"versioning"`
CreatedAt string `json:"created_at"`
LastSynced string `json:"last_synced,omitempty"`
}
StorageBucketView represents a bucket for the UI.
type StorageConnectionView ¶
type StorageConnectionView struct {
ID string `json:"id"`
Name string `json:"name"`
Endpoint string `json:"endpoint"`
Region string `json:"region"`
UsePathStyle bool `json:"use_path_style"`
UseSSL bool `json:"use_ssl"`
IsDefault bool `json:"is_default"`
Status string `json:"status"`
StatusMsg string `json:"status_message,omitempty"`
CreatedAt string `json:"created_at"`
LastChecked string `json:"last_checked,omitempty"`
BucketCount int64 `json:"bucket_count"`
TotalSize int64 `json:"total_size"`
TotalObjects int64 `json:"total_objects"`
}
StorageConnectionView represents a storage connection for the UI.
type StorageObjectView ¶
type StorageObjectView struct {
Key string `json:"key"`
Name string `json:"name"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
LastModified string `json:"last_modified,omitempty"`
ETag string `json:"etag,omitempty"`
ContentType string `json:"content_type,omitempty"`
StorageClass string `json:"storage_class,omitempty"`
IsDir bool `json:"is_dir"`
}
StorageObjectView represents an object or folder for the UI.
type StorageService ¶
type StorageService interface {
// Connections
ListConnections(ctx context.Context) ([]StorageConnectionView, error)
GetConnection(connID string) (*StorageConnectionView, error)
CreateConnection(ctx context.Context, name, endpoint, region, accessKey, secretKey string, usePathStyle, useSSL, isDefault bool, userID string) (*StorageConnectionView, error)
UpdateConnection(ctx context.Context, connID string, name, endpoint, region, accessKey, secretKey *string, usePathStyle, useSSL, isDefault *bool, userID string) error
DeleteConnection(ctx context.Context, connID, userID string) error
TestConnection(ctx context.Context, connID string) error
// Buckets
ListBuckets(ctx context.Context, connID string) ([]StorageBucketView, error)
CreateBucket(ctx context.Context, connID, name, region string, isPublic, versioning bool, userID string) error
DeleteBucket(ctx context.Context, connID, name, userID string) error
// Objects
ListObjects(ctx context.Context, connID, bucket, prefix string) ([]StorageObjectView, error)
UploadObject(ctx context.Context, connID, bucket, key string, reader io.Reader, size int64, contentType, userID string) error
DeleteObject(ctx context.Context, connID, bucket, key, userID string) error
CreateFolder(ctx context.Context, connID, bucket, prefix, userID string) error
PresignDownload(ctx context.Context, connID, bucket, key string) (string, error)
PresignUpload(ctx context.Context, connID, bucket, key string) (string, error)
// Audit
ListAuditLogs(ctx context.Context, connID string, limit, offset int) ([]StorageAuditView, int64, error)
}
StorageService provides S3-compatible storage operations for the web layer.
type StreamView ¶
type StreamView struct {
ID int `json:"id"`
IncomingPort int `json:"incoming_port"`
ForwardingHost string `json:"forwarding_host"`
ForwardingPort int `json:"forwarding_port"`
TCPForwarding bool `json:"tcp_forwarding"`
UDPForwarding bool `json:"udp_forwarding"`
Enabled bool `json:"enabled"`
}
StreamView for NPM TCP/UDP streams.
type SystemInfoView ¶
type SystemInfoView struct {
DockerVersion string
APIVersion string
OS string
Arch string
CPUs int
Memory int64
MemoryHuman string
Hostname string
}
SystemInfoView contains Docker system information
type TeamService ¶
type TeamService interface {
CreateTeam(ctx context.Context, name, description string, createdBy uuid.UUID) (*models.Team, error)
GetTeam(ctx context.Context, id uuid.UUID) (*models.Team, error)
ListTeams(ctx context.Context) ([]*models.Team, error)
UpdateTeam(ctx context.Context, id uuid.UUID, name, description string) (*models.Team, error)
DeleteTeam(ctx context.Context, id uuid.UUID) error
AddMember(ctx context.Context, teamID, userID uuid.UUID, role models.TeamRole, addedBy uuid.UUID) error
RemoveMember(ctx context.Context, teamID, userID uuid.UUID) error
ListMembers(ctx context.Context, teamID uuid.UUID) ([]*models.TeamMember, error)
ListTeamsForUser(ctx context.Context, userID uuid.UUID) ([]*models.Team, error)
GrantAccess(ctx context.Context, teamID uuid.UUID, resourceType models.ResourceType, resourceID string, level models.AccessLevel, grantedBy uuid.UUID) error
RevokeAccess(ctx context.Context, teamID uuid.UUID, resourceType models.ResourceType, resourceID string) error
RevokeAccessByID(ctx context.Context, permID uuid.UUID) error
ListPermissions(ctx context.Context, teamID uuid.UUID) ([]*models.ResourcePermission, error)
TeamsExist(ctx context.Context) (bool, error)
TeamCount(ctx context.Context) (int, error)
}
TeamService provides team management operations.
type TemplateHelpers ¶
type TemplateHelpers struct{}
TemplateHelpers provides helper functions for use in templates.
func NewTemplateHelpers ¶
func NewTemplateHelpers() *TemplateHelpers
NewTemplateHelpers creates a new TemplateHelpers instance.
func (*TemplateHelpers) BuildURL ¶
func (h *TemplateHelpers) BuildURL(base string, params map[string]string) string
BuildURL builds a URL with query parameters.
func (*TemplateHelpers) Contains ¶
func (h *TemplateHelpers) Contains(slice []string, item string) bool
Contains checks if slice contains string.
func (*TemplateHelpers) First ¶
func (h *TemplateHelpers) First(items []string) string
First returns first element of slice or empty string.
func (*TemplateHelpers) FormatBytes ¶
func (h *TemplateHelpers) FormatBytes(bytes int64) string
FormatBytes formats bytes as human-readable string.
func (*TemplateHelpers) FormatDuration ¶
func (h *TemplateHelpers) FormatDuration(seconds int) string
FormatDuration formats seconds as human-readable duration.
func (*TemplateHelpers) GradeColor ¶
func (h *TemplateHelpers) GradeColor(grade string) string
GradeColor returns CSS classes for security grade.
func (*TemplateHelpers) HealthColor ¶
func (h *TemplateHelpers) HealthColor(health string) string
HealthColor returns CSS class for health status.
func (*TemplateHelpers) Join ¶
func (h *TemplateHelpers) Join(items []string, sep string) string
Join joins strings with separator.
func (*TemplateHelpers) MaskSecret ¶
func (h *TemplateHelpers) MaskSecret(value string) string
MaskSecret masks a secret value showing first/last 4 chars.
func (*TemplateHelpers) Mul ¶
func (h *TemplateHelpers) Mul(a, b int) int
Mul multiplies two integers.
func (*TemplateHelpers) Percentage ¶
func (h *TemplateHelpers) Percentage(value float64, decimals int) string
Percentage formats a float as percentage.
func (*TemplateHelpers) Pluralize ¶
func (h *TemplateHelpers) Pluralize(count int, singular, plural string) string
Pluralize returns plural suffix if count != 1.
func (*TemplateHelpers) PortDisplay ¶
func (h *TemplateHelpers) PortDisplay(hostIP string, hostPort, containerPort int, protocol string) string
PortDisplay formats a port mapping for display.
func (*TemplateHelpers) QueryEscape ¶
func (h *TemplateHelpers) QueryEscape(s string) string
QueryEscape URL-encodes a string.
func (*TemplateHelpers) SafeHTML ¶
func (h *TemplateHelpers) SafeHTML(s string) template.HTML
SafeHTML marks string as safe HTML (use with caution).
func (*TemplateHelpers) SafeURL ¶
func (h *TemplateHelpers) SafeURL(s string) template.URL
SafeURL marks string as safe URL.
func (*TemplateHelpers) Seq ¶
func (h *TemplateHelpers) Seq(start, end int) []int
Seq generates a sequence of integers from start to end.
func (*TemplateHelpers) SeverityBadge ¶
func (h *TemplateHelpers) SeverityBadge(severity string) string
SeverityBadge returns badge CSS for severity.
func (*TemplateHelpers) SeverityColor ¶
func (h *TemplateHelpers) SeverityColor(severity string) string
SeverityColor returns CSS classes for severity level.
func (*TemplateHelpers) ShortID ¶
func (h *TemplateHelpers) ShortID(id string) string
ShortID returns first 12 characters of a Docker ID.
func (*TemplateHelpers) ShortImage ¶
func (h *TemplateHelpers) ShortImage(image string) string
ShortImage returns shortened image name (without registry prefix).
func (*TemplateHelpers) Split ¶
func (h *TemplateHelpers) Split(s, sep string) []string
Split splits string by separator.
func (*TemplateHelpers) StatusBadge ¶
func (h *TemplateHelpers) StatusBadge(status string) string
StatusBadge returns badge CSS classes for container status.
func (*TemplateHelpers) StatusColor ¶
func (h *TemplateHelpers) StatusColor(status string) string
StatusColor returns CSS class for container status.
func (*TemplateHelpers) TimeAgo ¶
func (h *TemplateHelpers) TimeAgo(t time.Time) string
TimeAgo returns human-readable relative time.
func (*TemplateHelpers) TruncateString ¶
func (h *TemplateHelpers) TruncateString(s string, maxLen int) string
TruncateString truncates a string to max length with ellipsis.
func (*TemplateHelpers) YesNo ¶
func (h *TemplateHelpers) YesNo(b bool) string
YesNo returns "Yes" or "No" based on boolean.
type TerminalSession ¶
type TerminalSession struct {
ID uuid.UUID `json:"id"`
UserID uuid.UUID `json:"user_id"`
Username string `json:"username"`
TargetType string `json:"target_type"`
TargetID string `json:"target_id"`
TargetName string `json:"target_name"`
HostID *uuid.UUID `json:"host_id,omitempty"`
Shell string `json:"shell"`
TermCols int `json:"term_cols"`
TermRows int `json:"term_rows"`
ClientIP string `json:"client_ip"`
StartedAt time.Time `json:"started_at"`
EndedAt *time.Time `json:"ended_at,omitempty"`
DurationMs *int64 `json:"duration_ms,omitempty"`
DurationHuman string `json:"duration_human,omitempty"`
Status string `json:"status"`
ErrorMessage string `json:"error_message,omitempty"`
}
TerminalSession represents a terminal session for the web layer.
type TerminalSessionListOptions ¶
type TerminalSessionListOptions struct {
UserID *uuid.UUID
TargetType *string
TargetID *string
HostID *uuid.UUID
Status *string
Since *time.Time
Until *time.Time
Limit int
Offset int
}
TerminalSessionListOptions contains options for listing terminal sessions.
type TerminalSessionRepository ¶
type TerminalSessionRepository interface {
Create(ctx context.Context, input *CreateTerminalSessionInput) (uuid.UUID, error)
End(ctx context.Context, sessionID uuid.UUID, status, errorMsg string) error
UpdateResize(ctx context.Context, sessionID uuid.UUID, cols, rows int) error
Get(ctx context.Context, sessionID uuid.UUID) (*TerminalSession, error)
List(ctx context.Context, opts TerminalSessionListOptions) ([]*TerminalSession, int, error)
GetByTarget(ctx context.Context, targetType, targetID string, limit int) ([]*TerminalSession, error)
GetByUser(ctx context.Context, userID uuid.UUID, limit int) ([]*TerminalSession, error)
GetActiveSessions(ctx context.Context) ([]*TerminalSession, error)
}
TerminalSessionRepository defines the interface for terminal session storage.
type TimeFormat ¶
type TimeFormat string
TimeFormat represents 12h vs 24h clock.
const ( TimeFormat24h TimeFormat = "15:04" // 24h TimeFormat12h TimeFormat = "03:04 PM" // 12h )
type TopologyData ¶
type TopologyData struct {
Nodes []TopologyNode `json:"nodes"`
Edges []TopologyEdge `json:"edges"`
}
TopologyData for network visualization.
type TopologyEdge ¶
type TopologyEdge struct {
From string `json:"from"`
To string `json:"to"`
Label string `json:"label,omitempty"`
}
TopologyEdge represents a connection.
type TopologyNode ¶
type TopologyNode struct {
ID string `json:"id"`
Label string `json:"label"`
Type string `json:"type"`
State string `json:"state,omitempty"`
Data map[string]interface{} `json:"data,omitempty"`
}
TopologyNode represents a node.
type TrackedVulnRecord ¶
type TrackedVulnRecord = models.TrackedVulnRecord
type TrackedVulnRepo ¶
type TrackedVulnRepo interface {
Create(ctx context.Context, v *TrackedVulnRecord) error
Upsert(ctx context.Context, v *TrackedVulnRecord) error
GetByID(ctx context.Context, id uuid.UUID) (*TrackedVulnRecord, error)
List(ctx context.Context) ([]*TrackedVulnRecord, error)
UpdateStatus(ctx context.Context, id uuid.UUID, status string) error
Resolve(ctx context.Context, id uuid.UUID, notes string, scanID *uuid.UUID) error
Assign(ctx context.Context, id uuid.UUID, assigneeID *uuid.UUID, assigneeName string) error
ListSLABreached(ctx context.Context) ([]*TrackedVulnRecord, error)
WeeklyTrend(ctx context.Context) ([]models.VulnWeeklyTrend, error)
TopAffectedImages(ctx context.Context, limit int) ([]models.ImageVulnCount, error)
MTTRBySeverity(ctx context.Context) (map[string]float64, error)
SLACompliancePercent(ctx context.Context) (float64, error)
ExistsByCVE(ctx context.Context, cveID string) (bool, error)
CountSLABreached(ctx context.Context) (int, error)
CountResolvedSince(ctx context.Context, since time.Time) (int, error)
CountBySeverity(ctx context.Context) (map[string]int, error)
CountByStatus(ctx context.Context) (map[string]int, error)
}
TrackedVulnRepo defines the interface for tracked vulnerability persistence.
type TrendPointView ¶
TrendPointView represents a single point in a trends chart.
type UpdateHistoryView ¶
type UpdateHistoryView struct {
ID string `json:"id"`
ContainerName string `json:"container_name"`
FromVersion string `json:"from_version"`
ToVersion string `json:"to_version"`
Status string `json:"status"`
Duration string `json:"duration"`
UpdatedAt string `json:"updated_at"`
CanRollback bool `json:"can_rollback"`
}
UpdateHistoryView for update history list.
type UpdatePolicyView ¶
type UpdatePolicyView struct {
ID string `json:"id"`
TargetType string `json:"target_type"`
TargetID string `json:"target_id"`
TargetName string `json:"target_name"`
IsEnabled bool `json:"is_enabled"`
AutoUpdate bool `json:"auto_update"`
AutoBackup bool `json:"auto_backup"`
IncludePrerelease bool `json:"include_prerelease"`
Schedule string `json:"schedule"`
NotifyOnUpdate bool `json:"notify_on_update"`
NotifyOnFailure bool `json:"notify_on_failure"`
MaxRetries int `json:"max_retries"`
HealthCheckWait int `json:"health_check_wait"`
}
UpdatePolicyView for auto-update policy management.
type UpdateService ¶
type UpdateService interface {
ListAvailable(ctx context.Context) ([]UpdateView, error)
CheckAll(ctx context.Context) error
GetChangelog(ctx context.Context, containerID string) (string, error)
Apply(ctx context.Context, containerID string, backup bool, targetVersion string) error
Rollback(ctx context.Context, updateID string) error
GetHistory(ctx context.Context) ([]UpdateHistoryView, error)
// Policy management for auto-updates
ListPolicies(ctx context.Context) ([]UpdatePolicyView, error)
SetPolicy(ctx context.Context, policy UpdatePolicyView) error
DeletePolicy(ctx context.Context, id string) error
}
type UpdateView ¶
type UpdateView struct {
ContainerID string `json:"container_id"`
ContainerName string `json:"container_name"`
Image string `json:"image"`
CurrentVersion string `json:"current_version"`
LatestVersion string `json:"latest_version"`
Changelog string `json:"changelog"`
ChangelogURL string `json:"changelog_url"`
SecurityImpact string `json:"security_impact"`
CheckedAt string `json:"checked_at"`
}
UpdateView for available updates.
type UserContext ¶
type UserContext struct {
ID string `json:"id"`
Username string `json:"username"`
Email string `json:"email,omitempty"`
Role string `json:"role"`
RoleID string `json:"role_id,omitempty"` // UUID of custom role for permission checking
}
UserContext contains user information.
func GetUserFromContext ¶
func GetUserFromContext(ctx context.Context) *UserContext
GetUserFromContext extracts user from request context.
type UserInfo ¶
type UserInfo struct {
ID string
Username string
Email string
Role string // admin, operator, viewer
IsActive bool
CreatedAt time.Time
}
UserInfo represents the authenticated user data available in request context.
func GetUserInfo ¶
GetUserInfo retrieves UserInfo from the request context. Returns nil if no authenticated user.
type UserPreferences ¶
type UserPreferences struct {
// Appearance
Theme Theme `json:"theme"`
Language string `json:"language"` // ISO 639-1 (en, es, de, fr, pt, ja, zh)
// Regional
Timezone string `json:"timezone"` // IANA timezone (Europe/Madrid, America/New_York, etc.)
DateFormat DateFormat `json:"date_format"` // Date display format
TimeFormat TimeFormat `json:"time_format"` // 12h/24h
// Dashboard & UI
ContainerView ViewMode `json:"container_view"` // table or grid
DefaultLogLines LogLineCount `json:"default_log_lines"`
RefreshInterval RefreshInterval `json:"refresh_interval"` // seconds, 0=off
ShowStoppedContainers bool `json:"show_stopped_containers"`
// Notifications (in-app)
NotifyUpdates bool `json:"notify_updates"` // Update available alerts
NotifySecurity bool `json:"notify_security"` // Security score changes
NotifyBackups bool `json:"notify_backups"` // Backup completion/failure
NotifyContainer bool `json:"notify_container"` // Container state changes
// Editor
EditorMode string `json:"editor_mode"` // monaco or nvim
EditorFontSize int `json:"editor_font_size"` // px
EditorTabSize int `json:"editor_tab_size"`
}
UserPreferences holds all configurable preferences for a user.
func DefaultPreferences ¶
func DefaultPreferences() UserPreferences
DefaultPreferences returns sensible defaults for new users.
func GetPreferences ¶
func GetPreferences(ctx context.Context) UserPreferences
GetPreferences retrieves UserPreferences from the request context. Returns defaults if not present.
func PreferencesFromJSON ¶
func PreferencesFromJSON(data string) UserPreferences
PreferencesFromJSON deserializes preferences from database storage. Returns defaults if data is empty or invalid.
func (UserPreferences) FormatDate ¶
func (p UserPreferences) FormatDate(t time.Time) string
FormatDate formats a time.Time using only the date portion.
func (UserPreferences) FormatTime ¶
func (p UserPreferences) FormatTime(t time.Time) string
FormatTime formats a time.Time using the user's timezone and format preferences.
func (*UserPreferences) Merge ¶
func (p *UserPreferences) Merge(partial UserPreferences)
Merge applies non-zero values from partial onto the receiver. Used when updating preferences from a form (only submitted fields change).
func (UserPreferences) ToJSON ¶
func (p UserPreferences) ToJSON() (string, error)
ToJSON serializes preferences for database storage.
type UserRepository ¶
type UserRepository interface {
GetUserByID(id string) (*UserInfo, error)
UpdateUser(id string, username string, email string) error
UpdatePassword(id string, currentHash string, newHash string) error
GetPasswordHash(id string) (string, error)
DeleteUser(id string) error
}
UserRepository defines operations for user data.
type UserService ¶
type UserService interface {
List(ctx context.Context, search string, role string) ([]UserView, int64, error)
Get(ctx context.Context, id string) (*UserView, error)
Create(ctx context.Context, username, email, password, role string) (*UserView, error)
Update(ctx context.Context, id string, email *string, role *string, isActive *bool) error
Delete(ctx context.Context, id string) error
Enable(ctx context.Context, id string) error
Disable(ctx context.Context, id string) error
Unlock(ctx context.Context, id string) error
ResetPassword(ctx context.Context, id string, newPassword string) error
GetStats(ctx context.Context) (*UserStatsView, error)
// TOTP 2FA
SetupTOTP(ctx context.Context, userID string) (secret string, qrURI string, err error)
VerifyAndEnableTOTP(ctx context.Context, userID string, code string) error
ValidateTOTPCode(ctx context.Context, userID string, code string) (bool, error)
DisableTOTP(ctx context.Context, userID string, code string) error
HasTOTP(ctx context.Context, userID string) (bool, error)
}
type UserStatsView ¶
type UserStatsView struct {
Total int64 `json:"total"`
Active int64 `json:"active"`
Inactive int64 `json:"inactive"`
LDAP int64 `json:"ldap"`
Local int64 `json:"local"`
Locked int64 `json:"locked"`
Admins int64 `json:"admins"`
}
UserStatsView for user stats summary.
type UserView ¶
type UserView struct {
ID string `json:"id"`
Username string `json:"username"`
Email string `json:"email,omitempty"`
Role string `json:"role"`
IsActive bool `json:"is_active"`
IsLDAP bool `json:"is_ldap"`
LDAPDN string `json:"ldap_dn,omitempty"`
IsLocked bool `json:"is_locked"`
HasTOTP bool `json:"has_totp"`
LastLogin *time.Time `json:"last_login_at,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
UserView for user management pages.
type VolumeFileEntry ¶
type VolumeFileEntry struct {
Name string `json:"name"`
Path string `json:"path"`
IsDir bool `json:"is_dir"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Mode string `json:"mode"`
ModTime string `json:"mod_time"`
ModTimeAgo string `json:"mod_time_ago"`
}
VolumeFileEntry represents a file/directory inside a volume for browsing.
type VolumeService ¶
type VolumeService interface {
List(ctx context.Context) ([]VolumeView, error)
Get(ctx context.Context, name string) (*VolumeView, error)
Create(ctx context.Context, name, driver string, labels map[string]string) error
Remove(ctx context.Context, name string, force bool) error
Prune(ctx context.Context) (int64, error)
Browse(ctx context.Context, volumeName, path string) ([]VolumeFileEntry, error)
}
type VolumeView ¶
type VolumeView struct {
Name string `json:"name"`
Driver string `json:"driver"`
Mountpoint string `json:"mountpoint"`
Scope string `json:"scope"`
Created time.Time `json:"created"`
CreatedHuman string `json:"created_human"`
InUse bool `json:"in_use"`
Size int64 `json:"size"`
SizeHuman string `json:"size_human"`
Labels map[string]string `json:"labels"`
UsedBy []string `json:"used_by"`
}
VolumeView for volume list templates.
type WSEventMessage ¶
type WSExecMessage ¶
type WSJobMessage ¶
type WSLogMessage ¶
type WSMessage ¶
type WSMessage struct {
Type string `json:"type"`
Data json.RawMessage `json:"data,omitempty"`
}
type WSMetricsMessage ¶
type WSMetricsMessage struct {
Type string `json:"type"`
Data interface{} `json:"data"`
}
type WSStatsMessage ¶
type WSStatsMessage struct {
Type string `json:"type"`
CPUPercent float64 `json:"cpu_percent"`
MemoryUsage int64 `json:"memory_usage"`
MemoryLimit int64 `json:"memory_limit"`
MemoryPct float64 `json:"memory_percent"`
NetRx int64 `json:"net_rx"`
NetTx int64 `json:"net_tx"`
BlockRead int64 `json:"block_read"`
BlockWrite int64 `json:"block_write"`
PIDs int64 `json:"pids"`
Timestamp string `json:"timestamp"`
}
type WebSessionStore ¶
type WebSessionStore struct {
// contains filtered or unexported fields
}
WebSessionStore adapts redis.SessionStore to the web.SessionStore interface.
func NewWebSessionStore ¶
func NewWebSessionStore(redisStore *redisrepo.SessionStore, ttl time.Duration, cookie CookieConfig) *WebSessionStore
NewWebSessionStore creates a new web session store backed by Redis.
func (*WebSessionStore) CreateSession ¶
func (s *WebSessionStore) CreateSession(ctx context.Context, userID, username, role, userAgent, ipAddress string) (*Session, error)
CreateSession creates a new session for a user (convenience method).
func (*WebSessionStore) Delete ¶
func (s *WebSessionStore) Delete(r *http.Request, w http.ResponseWriter, name string) error
Delete removes a session and clears the cookie.
func (*WebSessionStore) Save ¶
func (s *WebSessionStore) Save(r *http.Request, w http.ResponseWriter, session *Session) error
Save stores a session and sets the cookie.
type WebhookRepo ¶
type WebhookRepo interface {
Create(ctx context.Context, wh *models.OutgoingWebhook) error
GetByID(ctx context.Context, id uuid.UUID) (*models.OutgoingWebhook, error)
List(ctx context.Context) ([]*models.OutgoingWebhook, error)
ListEnabled(ctx context.Context, event string) ([]*models.OutgoingWebhook, error)
Update(ctx context.Context, wh *models.OutgoingWebhook) error
Delete(ctx context.Context, id uuid.UUID) error
CreateDelivery(ctx context.Context, d *models.WebhookDelivery) error
UpdateDelivery(ctx context.Context, d *models.WebhookDelivery) error
GetDelivery(ctx context.Context, id uuid.UUID) (*models.WebhookDelivery, error)
ListDeliveries(ctx context.Context, opts models.WebhookDeliveryListOptions) ([]*models.WebhookDelivery, int64, error)
ListPendingDeliveries(ctx context.Context, limit int) ([]*models.WebhookDelivery, error)
}
WebhookRepo defines the interface for outgoing webhook persistence.
Source Files
¶
- adapter_auth.go
- adapter_backup.go
- adapter_config.go
- adapter_container.go
- adapter_event.go
- adapter_host.go
- adapter_image.go
- adapter_metadata.go
- adapter_network.go
- adapter_proxy_npm.go
- adapter_recon.go
- adapter_security.go
- adapter_stack.go
- adapter_stats.go
- adapter_update.go
- adapter_user.go
- adapter_volume.go
- catalog.go
- config.go
- constants.go
- context.go
- converters.go
- empty_state_catalog.go
- form_validation.go
- handler.go
- handler_about.go
- handler_access_audit.go
- handler_alerts.go
- handler_ansible.go
- handler_auto_update.go
- handler_backup_verify.go
- handler_bulkops.go
- handler_calendar.go
- handler_capture.go
- handler_changes.go
- handler_cheatsheet.go
- handler_compliance.go
- handler_connections.go
- handler_connections_ext.go
- handler_container_templates.go
- handler_cost_optimization.go
- handler_crontab.go
- handler_dependencies.go
- handler_deploy.go
- handler_detail.go
- handler_dns.go
- handler_docker_engine.go
- handler_drift.go
- handler_editor.go
- handler_egress.go
- handler_enterprise.go
- handler_files.go
- handler_firewall.go
- handler_frontend.go
- handler_git.go
- handler_gitea.go
- handler_gitops.go
- handler_gitops_sync.go
- handler_healthdash.go
- handler_host_files.go
- handler_host_terminal.go
- handler_hosts.go
- handler_image_builder.go
- handler_interfaces.go
- handler_ldap_admin.go
- handler_lifecycle.go
- handler_log_management.go
- handler_maintenance.go
- handler_marketplace.go
- handler_metadata.go
- handler_metrics.go
- handler_monitoring.go
- handler_new_pages.go
- handler_notification_admin.go
- handler_oauth_admin.go
- handler_onboarding.go
- handler_openapi.go
- handler_overview.go
- handler_pages.go
- handler_profile.go
- handler_proxy_core.go
- handler_proxy_ext.go
- handler_quotas.go
- handler_rdp_terminal.go
- handler_recon.go
- handler_registries.go
- handler_registry_auth.go
- handler_roles.go
- handler_rollback.go
- handler_runbooks.go
- handler_scheduled_jobs.go
- handler_secrets.go
- handler_session_replay.go
- handler_snippets.go
- handler_ssh_terminal.go
- handler_ssl_observatory.go
- handler_storage.go
- handler_swarm.go
- handler_teams.go
- handler_terminal_sessions.go
- handler_vulnmgmt.go
- handler_webhooks_admin.go
- handler_websocket.go
- handler_wireguard.go
- handler_yara.go
- helpers.go
- helpers_monitoring.go
- middleware.go
- middleware_onboarding.go
- middleware_preferences.go
- preferences.go
- proxy_caddy_adapter.go
- routes_backup_verify.go
- routes_calendar.go
- routes_crontab.go
- routes_dns.go
- routes_docker_engine.go
- routes_egress.go
- routes_firewall.go
- routes_frontend.go
- routes_image_builder.go
- routes_marketplace.go
- routes_recon.go
- routes_rollback.go
- routes_ssl_observatory.go
- routes_wireguard.go
- routes_yara.go
- services.go
- session_adapter.go
- storage_adapter.go
- templ_adapters.go
- ws_editor_nvim.go
- ws_json_pool.go
- ws_monitoring.go
- ws_origin.go
Directories
¶
| Path | Synopsis |
|---|---|
|
templates
|
|
|
components
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
components/recon
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
layouts
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/accessaudit
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/admin
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/alerts
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/backups
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/bulkops
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/compliance
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/config
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/connections
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/containers
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/dependencies
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/dns
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/dockerconfig
Package dockerconfig contains the templ pages for the Docker engine configuration editor (v26.5.1 — ported from v26.2.7 as AGPL feature).
|
Package dockerconfig contains the templ pages for the Docker engine configuration editor (v26.5.1 — ported from v26.2.7 as AGPL feature). |
|
pages/editor
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/gitea
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/gitops
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/healthdash
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/hosts
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/images
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/jobs
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/license
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/lifecycle
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/logs
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/maintenance
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/metadata
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/monitoring
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/networks
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/overview
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/profile
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/proxy
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/quotas
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/recon
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/registries
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/runbooks
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/secrets
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/security
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/sslobservatory
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/stacks
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/storage
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/swarm
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/teams
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/templates
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/tools
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/updates
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/users
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/volumes
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/vulnmgmt
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
pages/webhooks
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
partials
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
partials/recon
templ: version: v0.3.977
|
templ: version: v0.3.977 |
|
types
Package types contains shared types for templates
|
Package types contains shared types for templates |
|
Package testhelpers exposes small utilities used across the web package's tests.
|
Package testhelpers exposes small utilities used across the web package's tests. |