handlers

package
v1.19.4 Latest Latest
Warning

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

Go to latest
Published: May 18, 2026 License: BSD-3-Clause Imports: 78 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterApiKeys

func RegisterApiKeys(api huma.API, apiKeyService *services.ApiKeyService)

RegisterApiKeys registers API key management routes using Huma.

func RegisterAppImages

func RegisterAppImages(api huma.API, appImagesService *services.ApplicationImagesService)

RegisterAppImages registers application image routes using Huma.

func RegisterAuth

func RegisterAuth(api huma.API, userService *services.UserService, authService *services.AuthService, oidcService *services.OidcService)

RegisterAuth registers authentication routes using Huma.

func RegisterBuildWorkspaces

func RegisterBuildWorkspaces(api huma.API, workspaceService *services.BuildWorkspaceService)

RegisterBuildWorkspaces registers build workspace file browser routes.

func RegisterContainerRegistries

func RegisterContainerRegistries(api huma.API, registryService *services.ContainerRegistryService, environmentService *services.EnvironmentService)

RegisterContainerRegistries registers all container registry endpoints.

func RegisterContainers

func RegisterContainers(api huma.API, containerSvc *services.ContainerService, dockerSvc *services.DockerClientService, settingsSvc *services.SettingsService)

func RegisterCustomize

func RegisterCustomize(api huma.API, customizeSearchService *services.CustomizeSearchService)

RegisterCustomize registers customization endpoints using Huma.

func RegisterDashboard

func RegisterDashboard(api huma.API, dashboardService *services.DashboardService)

func RegisterEnvironments

func RegisterEnvironments(api huma.API, environmentService *services.EnvironmentService, settingsService *services.SettingsService, apiKeyService *services.ApiKeyService, eventService *services.EventService, cfg *config.Config)

RegisterEnvironments registers all environment management endpoints.

func RegisterEvents

func RegisterEvents(api huma.API, eventService *services.EventService, apiKeySvc *services.ApiKeyService)

RegisterEvents registers all event management endpoints.

func RegisterFonts

func RegisterFonts(api huma.API, fontService *services.FontService)

RegisterFonts registers font routes using Huma.

func RegisterGitOpsSyncs

func RegisterGitOpsSyncs(api huma.API, syncService *services.GitOpsSyncService)

RegisterGitOpsSyncs registers all GitOps sync endpoints.

func RegisterGitRepositories

func RegisterGitRepositories(api huma.API, repoService *services.GitRepositoryService)

RegisterGitRepositories registers all git repository endpoints.

func RegisterHealth

func RegisterHealth(api huma.API)

RegisterHealth registers health check routes using Huma.

func RegisterImageUpdates

func RegisterImageUpdates(api huma.API, imageUpdateSvc *services.ImageUpdateService, imageSvc *services.ImageService)

RegisterImageUpdates registers image update endpoints.

func RegisterImages

func RegisterImages(api huma.API, dockerService *services.DockerClientService, imageService *services.ImageService, imageUpdateService *services.ImageUpdateService, settingsService *services.SettingsService, buildService *services.BuildService)

RegisterImages registers image management routes using Huma.

func RegisterJobSchedules

func RegisterJobSchedules(api huma.API, jobSvc *services.JobService, envSvc *services.EnvironmentService)

func RegisterNetworks

func RegisterNetworks(api huma.API, networkSvc *services.NetworkService, dockerSvc *services.DockerClientService)

RegisterNetworks registers network endpoints.

func RegisterNotifications

func RegisterNotifications(api huma.API, notificationSvc *services.NotificationService, appriseSvc *services.AppriseService, cfg *config.Config)

RegisterNotifications registers notification endpoints.

func RegisterOidc

func RegisterOidc(api huma.API, authService *services.AuthService, oidcService *services.OidcService, cfg *config.Config)

RegisterOidc registers all OIDC authentication endpoints using Huma.

func RegisterPorts

func RegisterPorts(api huma.API, portSvc *services.PortService)

func RegisterProjects

func RegisterProjects(api huma.API, projectService *services.ProjectService)

RegisterProjects registers project management routes using Huma. Note: WebSocket and streaming endpoints remain as Gin handlers.

func RegisterSettings

func RegisterSettings(api huma.API, settingsService *services.SettingsService, settingsSearchService *services.SettingsSearchService, environmentService *services.EnvironmentService, cfg *config.Config)

RegisterSettings registers settings management routes using Huma.

func RegisterSwarm

func RegisterSwarm(api huma.API, swarmSvc *services.SwarmService, environmentSvc *services.EnvironmentService, eventSvc *services.EventService, cfg *config.Config)

RegisterSwarm registers the Docker Swarm HTTP operations on the provided Huma API.

It wires a SwarmHandler with the supplied services and publishes the full swarm route set for services, nodes, tasks, stacks, lifecycle operations, configs, and secrets.

api is the Huma API instance that receives the swarm operations. swarmSvc provides the underlying swarm business logic. environmentSvc provides environment and agent-deployment helpers used by node endpoints. eventSvc records audit events for mutating operations when available. cfg provides application configuration needed by deployment-snippet endpoints.

func RegisterSystem

func RegisterSystem(api huma.API, dockerService *services.DockerClientService, systemService *services.SystemService, upgradeService *services.SystemUpgradeService, cfg *config.Config)

RegisterSystem registers system management endpoints using Huma. Note: WebSocket endpoints (stats) remain in the Gin handler.

func RegisterTemplates

func RegisterTemplates(api huma.API, templateService *services.TemplateService, environmentService *services.EnvironmentService)

RegisterTemplates registers all template management endpoints.

func RegisterUpdater

func RegisterUpdater(api huma.API, updaterService *services.UpdaterService)

RegisterUpdater registers updater management routes using Huma.

func RegisterUsers

func RegisterUsers(api huma.API, userService *services.UserService, authService *services.AuthService)

RegisterUsers registers all user management endpoints.

func RegisterVersion

func RegisterVersion(api huma.API, versionService *services.VersionService)

RegisterVersion registers version endpoints.

func RegisterVolumes

func RegisterVolumes(api huma.API, dockerService *services.DockerClientService, volumeService *services.VolumeService)

RegisterVolumes registers volume management routes using Huma.

func RegisterVulnerability

func RegisterVulnerability(api huma.API, vulnerabilityService *services.VulnerabilityService)

RegisterVulnerability registers vulnerability scanning routes using Huma.

func RegisterWebhooks

func RegisterWebhooks(api huma.API, webhookService *services.WebhookService)

RegisterWebhooks registers the authenticated CRUD routes for webhook management.

Types

type ApiKeyHandler

type ApiKeyHandler struct {
	// contains filtered or unexported fields
}

ApiKeyHandler provides Huma-based API key management endpoints.

func (*ApiKeyHandler) CreateApiKey

func (h *ApiKeyHandler) CreateApiKey(ctx context.Context, input *CreateApiKeyInput) (*CreateApiKeyOutput, error)

CreateApiKey creates a new API key.

func (*ApiKeyHandler) DeleteApiKey

func (h *ApiKeyHandler) DeleteApiKey(ctx context.Context, input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error)

DeleteApiKey deletes an API key.

func (*ApiKeyHandler) GetApiKey

func (h *ApiKeyHandler) GetApiKey(ctx context.Context, input *GetApiKeyInput) (*GetApiKeyOutput, error)

GetApiKey returns details of a specific API key.

func (*ApiKeyHandler) ListApiKeys

func (h *ApiKeyHandler) ListApiKeys(ctx context.Context, input *ListApiKeysInput) (*ListApiKeysOutput, error)

ListApiKeys returns a paginated list of API keys.

func (*ApiKeyHandler) UpdateApiKey

func (h *ApiKeyHandler) UpdateApiKey(ctx context.Context, input *UpdateApiKeyInput) (*UpdateApiKeyOutput, error)

UpdateApiKey updates an existing API key.

type ApiKeyPaginatedResponse

type ApiKeyPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []apikey.ApiKey         `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

ApiKeyPaginatedResponse is the paginated response for API keys.

type AppImagesHandler

type AppImagesHandler struct {
	// contains filtered or unexported fields
}

AppImagesHandler provides Huma-based application image endpoints.

func (*AppImagesHandler) GetDefaultProfile

func (h *AppImagesHandler) GetDefaultProfile(ctx context.Context, input *struct{}) (*GetAppImageOutput, error)

GetDefaultProfile returns the default user profile image.

func (*AppImagesHandler) GetFavicon

func (h *AppImagesHandler) GetFavicon(ctx context.Context, input *struct{}) (*GetAppImageOutput, error)

GetFavicon returns the application favicon image.

GetLogo returns the application logo image.

func (*AppImagesHandler) GetLogoEmail

func (h *AppImagesHandler) GetLogoEmail(ctx context.Context, input *struct{}) (*GetAppImageOutput, error)

GetLogoEmail returns the application logo image for emails (PNG).

func (*AppImagesHandler) GetPWAIcon

func (h *AppImagesHandler) GetPWAIcon(ctx context.Context, input *GetPWAIconInput) (*GetAppImageOutput, error)

GetPWAIcon returns a PWA icon image.

type ArchiveProjectInput

type ArchiveProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type ArchiveProjectOutput

type ArchiveProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type AuthHandler

type AuthHandler struct {
	// contains filtered or unexported fields
}

func (*AuthHandler) ChangePassword

func (h *AuthHandler) ChangePassword(ctx context.Context, input *ChangePasswordInput) (*ChangePasswordOutput, error)

ChangePassword changes the current user's password.

func (*AuthHandler) GetCurrentUser

func (h *AuthHandler) GetCurrentUser(ctx context.Context, input *struct{}) (*GetCurrentUserOutput, error)

GetCurrentUser returns the currently authenticated user's information.

func (*AuthHandler) Login

func (h *AuthHandler) Login(ctx context.Context, input *LoginInput) (*LoginOutput, error)

Login authenticates a user and returns tokens.

func (*AuthHandler) Logout

func (h *AuthHandler) Logout(ctx context.Context, input *struct{}) (*LogoutOutput, error)

Logout clears the authentication session.

func (*AuthHandler) RefreshToken

func (h *AuthHandler) RefreshToken(ctx context.Context, input *RefreshTokenInput) (*RefreshTokenOutput, error)

RefreshToken obtains a new access token using a refresh token.

type BackupHasPathInput

type BackupHasPathInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
	Path          string `query:"path" doc:"Path to check"`
}

type BackupHasPathOutput

type BackupHasPathOutput struct {
	Body base.ApiResponse[BackupHasPathResponse]
}

type BackupHasPathResponse

type BackupHasPathResponse struct {
	Exists bool `json:"exists"`
}

type BrowseBuildsInput

type BrowseBuildsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Path          string `query:"path" default:"/" doc:"Directory path to browse"`
}

type BrowseBuildsOutput

type BrowseBuildsOutput struct {
	Body base.ApiResponse[[]volumetypes.FileEntry]
}

type BrowseDirectoryInput

type BrowseDirectoryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Path          string `query:"path" default:"/" doc:"Directory path to browse"`
}

type BrowseDirectoryOutput

type BrowseDirectoryOutput struct {
	Body base.ApiResponse[[]volumetypes.FileEntry]
}

type BrowseFilesInput

type BrowseFilesInput struct {
	ID     string `path:"id" doc:"Repository ID"`
	Branch string `query:"branch" doc:"Branch to browse"`
	Path   string `query:"path" doc:"Path within repository (optional)"`
}

type BrowseFilesOutput

type BrowseFilesOutput struct {
	Body base.ApiResponse[gitops.BrowseResponse]
}

type BrowseSyncFilesInput

type BrowseSyncFilesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
	Path          string `query:"path" doc:"Path to browse (optional)"`
}

type BrowseSyncFilesOutput

type BrowseSyncFilesOutput struct {
	Body base.ApiResponse[gitops.BrowseResponse]
}

type BuildFileContentResponse

type BuildFileContentResponse struct {
	Content  []byte `json:"content"`
	MimeType string `json:"mimeType"`
}

type BuildImageInput

type BuildImageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          image.BuildRequest
}

type BuildProjectInput

type BuildProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	Body          *struct {
		Services []string `json:"services,omitempty" doc:"Service names to build"`
		Provider string   `json:"provider,omitempty" doc:"Build provider override"`
		Push     *bool    `json:"push,omitempty" doc:"Push images"`
		Load     *bool    `json:"load,omitempty" doc:"Load images into Docker"`
	}
}

type BuildWorkspaceHandler

type BuildWorkspaceHandler struct {
	// contains filtered or unexported fields
}

BuildWorkspaceHandler provides file browsing endpoints for manual build workspaces.

func (*BuildWorkspaceHandler) BrowseDirectory

func (h *BuildWorkspaceHandler) BrowseDirectory(ctx context.Context, input *BrowseBuildsInput) (*BrowseBuildsOutput, error)

func (*BuildWorkspaceHandler) CreateDirectory

func (*BuildWorkspaceHandler) DeleteFile

func (*BuildWorkspaceHandler) DownloadFile

func (*BuildWorkspaceHandler) GetFileContent

func (*BuildWorkspaceHandler) UploadFile

type ChangePasswordInput

type ChangePasswordInput struct {
	Body auth.PasswordChange
}

type ChangePasswordOutput

type ChangePasswordOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type CheckAllImagesInput

type CheckAllImagesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          imageupdate.CheckAllImagesRequest
}

type CheckAllImagesOutput

type CheckAllImagesOutput struct {
	Body base.ApiResponse[imageupdate.BatchResponse]
}

type CheckImageUpdateByIDInput

type CheckImageUpdateByIDInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
}

type CheckImageUpdateByIDOutput

type CheckImageUpdateByIDOutput struct {
	Body base.ApiResponse[imageupdate.Response]
}

type CheckImageUpdateInput

type CheckImageUpdateInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageRef      string `query:"imageRef" doc:"Image reference"`
}

type CheckImageUpdateOutput

type CheckImageUpdateOutput struct {
	Body base.ApiResponse[imageupdate.Response]
}

type CheckMultipleImagesInput

type CheckMultipleImagesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          imageupdate.BatchImageUpdateRequest
}

type CheckMultipleImagesOutput

type CheckMultipleImagesOutput struct {
	Body base.ApiResponse[imageupdate.BatchResponse]
}

type CheckUpgradeInput

type CheckUpgradeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type CheckUpgradeOutput

type CheckUpgradeOutput struct {
	Body UpgradeCheckResultData
}

type ContainerActionInput

type ContainerActionInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ContainerID   string `path:"containerId" doc:"Container ID"`
}

type ContainerActionOutput

type ContainerActionOutput struct {
	Body ContainerActionResponse
}

type ContainerActionResponse

type ContainerActionResponse struct {
	Success bool                 `json:"success"`
	Data    base.MessageResponse `json:"data"`
}

ContainerActionResponse is a dedicated response type

type ContainerCreatedResponse

type ContainerCreatedResponse struct {
	Success bool                   `json:"success"`
	Data    containertypes.Created `json:"data"`
}

ContainerCreatedResponse is a dedicated response type

type ContainerDetailsResponse

type ContainerDetailsResponse struct {
	Success bool                   `json:"success"`
	Data    containertypes.Details `json:"data"`
}

ContainerDetailsResponse is a dedicated response type

type ContainerHandler

type ContainerHandler struct {
	// contains filtered or unexported fields
}

func (*ContainerHandler) CreateContainer

func (*ContainerHandler) DeleteContainer

func (*ContainerHandler) GetContainer

func (h *ContainerHandler) GetContainer(ctx context.Context, input *GetContainerInput) (*GetContainerOutput, error)

func (*ContainerHandler) GetContainerStatusCounts

func (*ContainerHandler) ListContainers

func (*ContainerHandler) RedeployContainer

func (h *ContainerHandler) RedeployContainer(ctx context.Context, input *ContainerActionInput) (*GetContainerOutput, error)

func (*ContainerHandler) RestartContainer

func (h *ContainerHandler) RestartContainer(ctx context.Context, input *ContainerActionInput) (*ContainerActionOutput, error)

func (*ContainerHandler) SetAutoUpdate

func (h *ContainerHandler) SetAutoUpdate(ctx context.Context, input *SetAutoUpdateInput) (*SetAutoUpdateOutput, error)

func (*ContainerHandler) StartContainer

func (*ContainerHandler) StopContainer

type ContainerPaginatedResponse

type ContainerPaginatedResponse struct {
	Success    bool                          `json:"success"`
	Data       []containertypes.Summary      `json:"data"`
	Groups     []containertypes.SummaryGroup `json:"groups,omitempty"`
	Counts     containertypes.StatusCounts   `json:"counts"`
	Pagination base.PaginationResponse       `json:"pagination"`
}

Paginated response

type ContainerRegistryHandler

type ContainerRegistryHandler struct {
	// contains filtered or unexported fields
}

ContainerRegistryHandler handles container registry management endpoints.

func (*ContainerRegistryHandler) CreateRegistry

CreateRegistry creates a new container registry.

func (*ContainerRegistryHandler) DeleteRegistry

DeleteRegistry deletes a container registry.

func (*ContainerRegistryHandler) GetPullUsage

func (h *ContainerRegistryHandler) GetPullUsage(ctx context.Context, input *struct{}) (*GetContainerRegistryPullUsageOutput, error)

GetPullUsage returns pull usage visibility for configured registries.

func (*ContainerRegistryHandler) GetRegistry

GetRegistry returns a container registry by ID.

func (*ContainerRegistryHandler) ListRegistries

ListRegistries returns a paginated list of container registries.

func (*ContainerRegistryHandler) SyncRegistries

SyncRegistries syncs container registries from a remote source.

func (*ContainerRegistryHandler) TestRegistry

TestRegistry tests connectivity to a container registry.

func (*ContainerRegistryHandler) UpdateRegistry

UpdateRegistry updates a container registry.

type ContainerRegistryPaginatedResponse

type ContainerRegistryPaginatedResponse struct {
	Success    bool                                  `json:"success"`
	Data       []containerregistry.ContainerRegistry `json:"data"`
	Pagination base.PaginationResponse               `json:"pagination"`
}

ContainerRegistryPaginatedResponse is the paginated response for container registries.

type ContainerStatusCountsResponse

type ContainerStatusCountsResponse struct {
	Success bool                        `json:"success"`
	Data    containertypes.StatusCounts `json:"data"`
}

ContainerStatusCountsResponse is a dedicated response type to avoid schema name collision

type ConvertDockerRunInput

type ConvertDockerRunInput struct {
	EnvironmentID string                         `path:"id" doc:"Environment ID"`
	Body          system.ConvertDockerRunRequest `doc:"Docker run command"`
}

type ConvertDockerRunOutput

type ConvertDockerRunOutput struct {
	Body system.ConvertDockerRunResponse
}

type CreateApiKeyInput

type CreateApiKeyInput struct {
	Body apikey.CreateApiKey
}

type CreateApiKeyOutput

type CreateApiKeyOutput struct {
	Body base.ApiResponse[apikey.ApiKeyCreatedDto]
}

type CreateBackupInput

type CreateBackupInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
}

type CreateBackupOutput

type CreateBackupOutput struct {
	Body base.ApiResponse[*models.VolumeBackup]
}

type CreateBuildDirectoryInput

type CreateBuildDirectoryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Path          string `query:"path" doc:"Directory path to create"`
}

type CreateContainerInput

type CreateContainerInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          containertypes.Create
}

type CreateContainerOutput

type CreateContainerOutput struct {
	Body ContainerCreatedResponse
}

type CreateContainerRegistryInput

type CreateContainerRegistryInput struct {
	Body models.CreateContainerRegistryRequest
}

type CreateContainerRegistryOutput

type CreateContainerRegistryOutput struct {
	Body base.ApiResponse[containerregistry.ContainerRegistry]
}

type CreateDirectoryInput

type CreateDirectoryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Path          string `query:"path" doc:"Directory path to create"`
}

type CreateEnvironmentInput

type CreateEnvironmentInput struct {
	Body environment.Create
}

type CreateEnvironmentOutput

type CreateEnvironmentOutput struct {
	Body base.ApiResponse[EnvironmentWithApiKey]
}

type CreateEventInput

type CreateEventInput struct {
	XAPIKey string `header:"X-API-Key" doc:"API key for environment-scoped event forwarding"`
	Body    event.CreateEvent
}

type CreateEventOutput

type CreateEventOutput struct {
	Body base.ApiResponse[event.Event]
}

type CreateGitOpsSyncInput

type CreateGitOpsSyncInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          gitops.CreateSyncRequest
}

type CreateGitOpsSyncOutput

type CreateGitOpsSyncOutput struct {
	Body base.ApiResponse[gitops.GitOpsSync]
}

type CreateGitRepositoryInput

type CreateGitRepositoryInput struct {
	Body models.CreateGitRepositoryRequest
}

type CreateGitRepositoryOutput

type CreateGitRepositoryOutput struct {
	Body base.ApiResponse[gitops.GitRepository]
}

type CreateNetworkInput

type CreateNetworkInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          networktypes.CreateRequest
}

type CreateNetworkOutput

type CreateNetworkOutput struct {
	Body NetworkCreatedApiResponse
}

type CreateOrUpdateAppriseSettingsInput

type CreateOrUpdateAppriseSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          notification.AppriseUpdate
}

type CreateOrUpdateAppriseSettingsOutput

type CreateOrUpdateAppriseSettingsOutput struct {
	Body notification.AppriseResponse
}

type CreateOrUpdateNotificationSettingsInput

type CreateOrUpdateNotificationSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          notification.Update
}

type CreateOrUpdateNotificationSettingsOutput

type CreateOrUpdateNotificationSettingsOutput struct {
	Body notification.Response
}

type CreateProjectInput

type CreateProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          project.CreateProject
}

type CreateProjectOutput

type CreateProjectOutput struct {
	Body base.ApiResponse[project.CreateReponse]
}

type CreateSwarmConfigInput

type CreateSwarmConfigInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.ConfigCreateRequest
}

type CreateSwarmConfigOutput

type CreateSwarmConfigOutput struct {
	Body base.ApiResponse[swarmtypes.ConfigSummary]
}

type CreateSwarmSecretInput

type CreateSwarmSecretInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SecretCreateRequest
}

type CreateSwarmSecretOutput

type CreateSwarmSecretOutput struct {
	Body base.ApiResponse[swarmtypes.SecretSummary]
}

type CreateSwarmServiceInput

type CreateSwarmServiceInput struct {
	EnvironmentID string                          `path:"id" doc:"Environment ID"`
	Body          swarmtypes.ServiceCreateRequest `doc:"Service creation request"`
}

type CreateSwarmServiceOutput

type CreateSwarmServiceOutput struct {
	Body base.ApiResponse[swarmtypes.ServiceCreateResponse]
}

type CreateTemplateInput

type CreateTemplateInput struct {
	Body template.CreateRequest
}

type CreateTemplateOutput

type CreateTemplateOutput struct {
	Body base.ApiResponse[template.Template]
}

type CreateTemplateRegistryInput

type CreateTemplateRegistryInput struct {
	Body template.CreateRegistryRequest
}

type CreateTemplateRegistryOutput

type CreateTemplateRegistryOutput struct {
	Body base.ApiResponse[template.TemplateRegistry]
}

type CreateUserInput

type CreateUserInput struct {
	Body user.CreateUser
}

type CreateUserOutput

type CreateUserOutput struct {
	Body base.ApiResponse[user.User]
}

type CreateVolumeInput

type CreateVolumeInput struct {
	EnvironmentID string             `path:"id" doc:"Environment ID"`
	Body          volumetypes.Create `doc:"Volume creation data"`
}

type CreateVolumeOutput

type CreateVolumeOutput struct {
	Body base.ApiResponse[*volumetypes.Volume]
}

type CreateWebhookInput

type CreateWebhookInput struct {
	EnvironmentID string               `path:"id" doc:"Environment ID"`
	Body          *webhook.CreateInput `required:"true"`
}

type CreateWebhookOutput

type CreateWebhookOutput struct {
	Body base.ApiResponse[webhook.Created]
}

type CustomizeHandler

type CustomizeHandler struct {
	// contains filtered or unexported fields
}

CustomizeHandler handles customization search endpoints.

func (*CustomizeHandler) GetCategories

GetCategories returns all available customization categories.

func (*CustomizeHandler) Search

Search searches customization options by query.

type DashboardHandler

type DashboardHandler struct {
	// contains filtered or unexported fields
}

func (*DashboardHandler) GetActionItems

func (*DashboardHandler) GetDashboard

func (h *DashboardHandler) GetDashboard(ctx context.Context, input *GetDashboardInput) (*GetDashboardOutput, error)

type DeleteApiKeyInput

type DeleteApiKeyInput struct {
	ID string `path:"id" doc:"API key ID"`
}

type DeleteApiKeyOutput

type DeleteApiKeyOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteBackupInput

type DeleteBackupInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
}

type DeleteBackupOutput

type DeleteBackupOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteBuildFileInput

type DeleteBuildFileInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Path          string `query:"path" doc:"File or directory path to delete"`
}

type DeleteContainerInput

type DeleteContainerInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ContainerID   string `path:"containerId" doc:"Container ID"`
	Force         bool   `query:"force" default:"false" doc:"Force delete running container"`
	RemoveVolumes bool   `query:"volumes" default:"false" doc:"Remove associated volumes"`
}

type DeleteContainerOutput

type DeleteContainerOutput struct {
	Body ContainerActionResponse
}

type DeleteContainerRegistryInput

type DeleteContainerRegistryInput struct {
	ID string `path:"id" doc:"Registry ID"`
}

type DeleteContainerRegistryOutput

type DeleteContainerRegistryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteEnvironmentInput

type DeleteEnvironmentInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type DeleteEnvironmentOutput

type DeleteEnvironmentOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteEventInput

type DeleteEventInput struct {
	EventID string `path:"eventId" doc:"Event ID"`
}

type DeleteEventOutput

type DeleteEventOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteFileInput

type DeleteFileInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Path          string `query:"path" doc:"File or directory path to delete"`
}

type DeleteGitOpsSyncInput

type DeleteGitOpsSyncInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
}

type DeleteGitOpsSyncOutput

type DeleteGitOpsSyncOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteGitRepositoryInput

type DeleteGitRepositoryInput struct {
	ID string `path:"id" doc:"Repository ID"`
}

type DeleteGitRepositoryOutput

type DeleteGitRepositoryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteNetworkInput

type DeleteNetworkInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NetworkID     string `path:"networkId" doc:"Network ID"`
}

type DeleteNetworkOutput

type DeleteNetworkOutput struct {
	Body NetworkMessageApiResponse
}

type DeleteNotificationSettingsInput

type DeleteNotificationSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Provider      string `path:"provider" doc:"Provider"`
}

type DeleteNotificationSettingsOutput

type DeleteNotificationSettingsOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteSwarmConfigInput

type DeleteSwarmConfigInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ConfigID      string `path:"configId" doc:"Config ID"`
}

type DeleteSwarmConfigOutput

type DeleteSwarmConfigOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteSwarmNodeInput

type DeleteSwarmNodeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
	Force         bool   `query:"force" default:"false" doc:"Force node removal"`
}

type DeleteSwarmNodeOutput

type DeleteSwarmNodeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteSwarmSecretInput

type DeleteSwarmSecretInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SecretID      string `path:"secretId" doc:"Secret ID"`
}

type DeleteSwarmSecretOutput

type DeleteSwarmSecretOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteSwarmServiceInput

type DeleteSwarmServiceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
}

type DeleteSwarmServiceOutput

type DeleteSwarmServiceOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteSwarmStackInput

type DeleteSwarmStackInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
}

type DeleteSwarmStackOutput

type DeleteSwarmStackOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteTemplateInput

type DeleteTemplateInput struct {
	ID string `path:"id" doc:"Template ID"`
}

type DeleteTemplateOutput

type DeleteTemplateOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteTemplateRegistryInput

type DeleteTemplateRegistryInput struct {
	ID string `path:"id" doc:"Registry ID"`
}

type DeleteTemplateRegistryOutput

type DeleteTemplateRegistryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteUserInput

type DeleteUserInput struct {
	UserID string `path:"userId" doc:"User ID"`
}

type DeleteUserOutput

type DeleteUserOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeleteWebhookInput

type DeleteWebhookInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	WebhookID     string `path:"webhookId" doc:"Webhook ID"`
}

type DeleteWebhookOutput

type DeleteWebhookOutput struct {
	Body base.ApiResponse[any]
}

type DemoteSwarmNodeInput

type DemoteSwarmNodeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
}

type DemoteSwarmNodeOutput

type DemoteSwarmNodeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeployProjectInput

type DeployProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	Body          *project.DeployOptions
}

type DeployProjectOutput

type DeployProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DeploySwarmStackInput

type DeploySwarmStackInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.StackDeployRequest
}

type DeploySwarmStackOutput

type DeploySwarmStackOutput struct {
	Body base.ApiResponse[swarmtypes.StackDeployResponse]
}

type DeploymentSnippet

type DeploymentSnippet struct {
	DockerRun     string                 `json:"dockerRun" doc:"Docker run command snippet"`
	DockerCompose string                 `json:"dockerCompose" doc:"Docker compose YAML snippet"`
	MTLS          *DeploymentSnippetMTLS `json:"mtls,omitempty" doc:"Optional Arcane-generated mTLS deployment assets for edge agents"`
}

type DeploymentSnippetFile

type DeploymentSnippetFile struct {
	Name          string `json:"name" doc:"Suggested filename"`
	Content       string `json:"content,omitempty" doc:"PEM file contents. Omitted for sensitive files such as private keys; use downloadUrl instead."`
	DownloadURL   string `json:"downloadUrl,omitempty" doc:"Admin-only endpoint to download this file when content is withheld"`
	Sensitive     bool   `json:"sensitive,omitempty" doc:"True when this file is sensitive and must be fetched via downloadUrl"`
	ContainerPath string `json:"containerPath" doc:"Container mount path expected by the mTLS snippet"`
	Permissions   string `json:"permissions" doc:"Suggested file mode"`
}

type DeploymentSnippetMTLS

type DeploymentSnippetMTLS struct {
	DockerRun     string                  `json:"dockerRun" doc:"Docker run snippet using Arcane-generated mTLS assets"`
	DockerCompose string                  `json:"dockerCompose" doc:"Docker compose snippet using Arcane-generated mTLS assets"`
	Files         []DeploymentSnippetFile `json:"files" doc:"Generated PEM files to place on the edge host"`
	HostDirHint   string                  `json:"hostDirHint" doc:"Suggested host directory containing the generated PEM files"`
}

type DestroyProjectInput

type DestroyProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	Body          *project.Destroy
}

type DestroyProjectOutput

type DestroyProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DispatchNotificationInput

type DispatchNotificationInput struct {
	APIKey string `header:"X-API-Key" doc:"Remote environment access token"`
	Body   notification.DispatchRequest
}

type DispatchNotificationOutput

type DispatchNotificationOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DownProjectInput

type DownProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type DownProjectOutput

type DownProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type DownloadBackupInput

type DownloadBackupInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
}

type DownloadBuildFileInput

type DownloadBuildFileInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Path          string `query:"path" doc:"File path"`
}

type DownloadBuildFileOutput

type DownloadBuildFileOutput struct {
	ContentType        string `header:"Content-Type"`
	ContentDisposition string `header:"Content-Disposition"`
	ContentLength      int64  `header:"Content-Length"`
	Body               io.ReadCloser
}

type DownloadEdgeMTLSCAInput

type DownloadEdgeMTLSCAInput struct{}

type DownloadEnvironmentMTLSBundleInput

type DownloadEnvironmentMTLSBundleInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type DownloadEnvironmentMTLSFileInput

type DownloadEnvironmentMTLSFileInput struct {
	ID       string `path:"id" doc:"Environment ID"`
	FileName string `path:"fileName" doc:"mTLS asset filename"`
}

type DownloadFileInput

type DownloadFileInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Path          string `query:"path" doc:"File path"`
}

type DownloadTemplateInput

type DownloadTemplateInput struct {
	ID string `path:"id" doc:"Template ID"`
}

type DownloadTemplateOutput

type DownloadTemplateOutput struct {
	Body base.ApiResponse[template.Template]
}

type EnvironmentHandler

type EnvironmentHandler struct {
	// contains filtered or unexported fields
}

EnvironmentHandler handles environment management endpoints.

func (*EnvironmentHandler) CreateEnvironment

CreateEnvironment creates a new environment.

func (*EnvironmentHandler) DeleteEnvironment

DeleteEnvironment deletes an environment.

func (*EnvironmentHandler) DownloadEdgeMTLSCA

DownloadEdgeMTLSCA downloads the Arcane-managed edge mTLS CA certificate.

func (*EnvironmentHandler) DownloadEnvironmentMTLSBundle

func (h *EnvironmentHandler) DownloadEnvironmentMTLSBundle(ctx context.Context, input *DownloadEnvironmentMTLSBundleInput) (*huma.StreamResponse, error)

func (*EnvironmentHandler) DownloadEnvironmentMTLSFile

func (h *EnvironmentHandler) DownloadEnvironmentMTLSFile(ctx context.Context, input *DownloadEnvironmentMTLSFileInput) (*huma.StreamResponse, error)

func (*EnvironmentHandler) GetDeploymentSnippets

GetDeploymentSnippets returns deployment snippets for an environment.

func (*EnvironmentHandler) GetEnvironment

GetEnvironment returns an environment by ID.

func (*EnvironmentHandler) GetEnvironmentVersion

GetEnvironmentVersion returns the version of a remote environment.

func (*EnvironmentHandler) ListEnvironments

ListEnvironments returns a paginated list of environments.

func (*EnvironmentHandler) PairAgent

func (h *EnvironmentHandler) PairAgent(ctx context.Context, input *PairAgentInput) (*PairAgentOutput, error)

PairAgent generates or rotates the local agent pairing token.

func (*EnvironmentHandler) PairEnvironment

PairEnvironment handles agent pairing callback with API key.

func (*EnvironmentHandler) SyncEnvironment

SyncEnvironment syncs container registries and git repositories to an environment.

func (*EnvironmentHandler) TestConnection

TestConnection tests connectivity to an environment.

func (*EnvironmentHandler) UpdateEnvironment

UpdateEnvironment updates an environment.

func (*EnvironmentHandler) UpdateHeartbeat

UpdateHeartbeat updates the heartbeat for an environment.

type EnvironmentPaginatedResponse

type EnvironmentPaginatedResponse struct {
	Success    bool                      `json:"success"`
	Data       []environment.Environment `json:"data"`
	Pagination base.PaginationResponse   `json:"pagination"`
}

EnvironmentPaginatedResponse is the paginated response for environments.

type EnvironmentWithApiKey

type EnvironmentWithApiKey struct {
	environment.Environment
	ApiKey *string `json:"apiKey,omitempty" doc:"API key for pairing (only shown once during creation)"` //nolint:gosec // response schema requires apiKey naming
}

type EventHandler

type EventHandler struct {
	// contains filtered or unexported fields
}

EventHandler handles event management endpoints.

func (*EventHandler) CreateEvent

func (h *EventHandler) CreateEvent(ctx context.Context, input *CreateEventInput) (*CreateEventOutput, error)

CreateEvent creates a new event.

func (*EventHandler) DeleteEvent

func (h *EventHandler) DeleteEvent(ctx context.Context, input *DeleteEventInput) (*DeleteEventOutput, error)

DeleteEvent deletes an event.

func (*EventHandler) GetEventsByEnvironment

GetEventsByEnvironment returns events for a specific environment.

func (*EventHandler) ListEvents

func (h *EventHandler) ListEvents(ctx context.Context, input *ListEventsInput) (*ListEventsOutput, error)

ListEvents returns a paginated list of events.

type EventPaginatedResponse

type EventPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []event.Event           `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

EventPaginatedResponse is the paginated response for events.

type ExchangeDeviceTokenInput

type ExchangeDeviceTokenInput struct {
	UserAgent string `header:"User-Agent"`
	Body      auth.OidcDeviceTokenRequest
}

type ExchangeDeviceTokenOutput

type ExchangeDeviceTokenOutput struct {
	SetCookie []string `header:"Set-Cookie" doc:"Session token cookie"`
	Body      auth.OidcDeviceTokenResponse
}

type FetchTemplateRegistryInput

type FetchTemplateRegistryInput struct {
	URL string `query:"url" required:"true" doc:"Registry URL"`
}

type FetchTemplateRegistryOutput

type FetchTemplateRegistryOutput struct {
	Body base.ApiResponse[template.RemoteRegistry]
}

type FileContentResponse

type FileContentResponse struct {
	Content  []byte `json:"content"`
	MimeType string `json:"mimeType"`
}

type FontsHandler

type FontsHandler struct {
	// contains filtered or unexported fields
}

FontsHandler provides Huma-based font endpoints.

func (*FontsHandler) GetMonoFont

func (h *FontsHandler) GetMonoFont(ctx context.Context, input *struct{}) (*GetFontOutput, error)

GetMonoFont returns the monospace font.

func (*FontsHandler) GetSansFont

func (h *FontsHandler) GetSansFont(ctx context.Context, input *struct{}) (*GetFontOutput, error)

GetSansFont returns the sans-serif font.

type GetAllNotificationSettingsInput

type GetAllNotificationSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetAllNotificationSettingsOutput

type GetAllNotificationSettingsOutput struct {
	Body []notification.Response
}

type GetAllTemplatesInput

type GetAllTemplatesInput struct{}

type GetAllTemplatesOutput

type GetAllTemplatesOutput struct {
	Body base.ApiResponse[[]template.Template]
}

type GetApiKeyInput

type GetApiKeyInput struct {
	ID string `path:"id" doc:"API key ID"`
}

type GetApiKeyOutput

type GetApiKeyOutput struct {
	Body base.ApiResponse[apikey.ApiKey]
}

type GetAppImageOutput

type GetAppImageOutput struct {
	ContentType         string `header:"Content-Type"`
	CacheControl        string `header:"Cache-Control"`
	XContentTypeOptions string `header:"X-Content-Type-Options"`
	Body                []byte
}

type GetAppVersionInput

type GetAppVersionInput struct{}

type GetAppVersionOutput

type GetAppVersionOutput struct {
	Body version.Info
}

type GetAppriseSettingsInput

type GetAppriseSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetAppriseSettingsOutput

type GetAppriseSettingsOutput struct {
	Body notification.AppriseResponse
}

type GetBuildFileContentInput

type GetBuildFileContentInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Path          string `query:"path" doc:"File path"`
	MaxBytes      int64  `query:"maxBytes" default:"1048576" doc:"Maximum bytes to read (default 1MB)"`
}

type GetBuildFileContentOutput

type GetBuildFileContentOutput struct {
	Body base.ApiResponse[BuildFileContentResponse]
}

type GetCategoriesOutput

type GetCategoriesOutput struct {
	Body []category.Category
}

type GetContainerInput

type GetContainerInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ContainerID   string `path:"containerId" doc:"Container ID"`
}

type GetContainerOutput

type GetContainerOutput struct {
	Body ContainerDetailsResponse
}

type GetContainerRegistryInput

type GetContainerRegistryInput struct {
	ID string `path:"id" doc:"Registry ID"`
}

type GetContainerRegistryOutput

type GetContainerRegistryOutput struct {
	Body base.ApiResponse[containerregistry.ContainerRegistry]
}

type GetContainerRegistryPullUsageOutput

type GetContainerRegistryPullUsageOutput struct {
	Body base.ApiResponse[containerregistry.PullUsageResponse]
}

type GetContainerStatusCountsInput

type GetContainerStatusCountsInput struct {
	EnvironmentID   string `path:"id" doc:"Environment ID"`
	IncludeInternal bool   `query:"includeInternal" default:"false" doc:"Include internal containers"`
}

type GetContainerStatusCountsOutput

type GetContainerStatusCountsOutput struct {
	Body ContainerStatusCountsResponse
}

type GetCurrentUserOutput

type GetCurrentUserOutput struct {
	Body base.ApiResponse[user.User]
}

type GetCustomizeCategoriesInput

type GetCustomizeCategoriesInput struct{}

type GetCustomizeCategoriesOutput

type GetCustomizeCategoriesOutput struct {
	Body []category.Category
}

type GetDashboardActionItemsInput

type GetDashboardActionItemsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	DebugAllGood  bool   `query:"debugAllGood" default:"false" doc:"Debug mode: force an empty action item list"`
}

type GetDashboardActionItemsOutput

type GetDashboardActionItemsOutput struct {
	Body base.ApiResponse[dashboardtypes.ActionItems]
}

type GetDashboardEnvironmentsOverviewInput

type GetDashboardEnvironmentsOverviewInput struct {
	DebugAllGood bool `query:"debugAllGood" default:"false" doc:"Debug mode: force empty action item lists"`
}

type GetDashboardEnvironmentsOverviewOutput

type GetDashboardEnvironmentsOverviewOutput struct {
	Body base.ApiResponse[dashboardtypes.EnvironmentsOverview]
}

type GetDashboardInput

type GetDashboardInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	DebugAllGood  bool   `query:"debugAllGood" default:"false" doc:"Debug mode: force an empty action item list"`
}

type GetDashboardOutput

type GetDashboardOutput struct {
	Body base.ApiResponse[dashboardtypes.Snapshot]
}

type GetDefaultTemplatesInput

type GetDefaultTemplatesInput struct{}

type GetDefaultTemplatesOutput

type GetDefaultTemplatesOutput struct {
	Body base.ApiResponse[template.DefaultTemplatesResponse]
}

type GetDeploymentSnippetsInput

type GetDeploymentSnippetsInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type GetDeploymentSnippetsOutput

type GetDeploymentSnippetsOutput struct {
	Body base.ApiResponse[DeploymentSnippet]
}

type GetDockerInfoInput

type GetDockerInfoInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetDockerInfoOutput

type GetDockerInfoOutput struct {
	Body dockerinfo.Info
}

type GetEnvironmentInput

type GetEnvironmentInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type GetEnvironmentOutput

type GetEnvironmentOutput struct {
	Body base.ApiResponse[environment.Environment]
}

type GetEnvironmentSummaryInput

type GetEnvironmentSummaryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetEnvironmentSummaryOutput

type GetEnvironmentSummaryOutput struct {
	Body base.ApiResponse[vulnerability.EnvironmentVulnerabilitySummary]
}

type GetEnvironmentVersionInput

type GetEnvironmentVersionInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type GetEnvironmentVersionOutput

type GetEnvironmentVersionOutput struct {
	Body base.ApiResponse[version.Info]
}

type GetEventsByEnvironmentInput

type GetEventsByEnvironmentInput struct {
	EnvironmentID string `path:"environmentId" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction"`
	Start         int    `query:"start" default:"0" doc:"Start index"`
	Limit         int    `query:"limit" default:"20" doc:"Limit"`
	Severity      string `query:"severity" doc:"Filter by severity"`
	Type          string `query:"type" doc:"Filter by event type"`
}

type GetEventsByEnvironmentOutput

type GetEventsByEnvironmentOutput struct {
	Body EventPaginatedResponse
}

type GetFileContentInput

type GetFileContentInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Path          string `query:"path" doc:"File path"`
	MaxBytes      int64  `query:"maxBytes" default:"1048576" doc:"Maximum bytes to read (default 1MB)"`
}

type GetFileContentOutput

type GetFileContentOutput struct {
	Body base.ApiResponse[FileContentResponse]
}

type GetFontOutput

type GetFontOutput struct {
	ContentType  string `header:"Content-Type"`
	CacheControl string `header:"Cache-Control"`
	Body         []byte
}

type GetGitOpsSyncInput

type GetGitOpsSyncInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
}

type GetGitOpsSyncOutput

type GetGitOpsSyncOutput struct {
	Body base.ApiResponse[gitops.GitOpsSync]
}

type GetGitRepositoryInput

type GetGitRepositoryInput struct {
	ID string `path:"id" doc:"Repository ID"`
}

type GetGitRepositoryOutput

type GetGitRepositoryOutput struct {
	Body base.ApiResponse[gitops.GitRepository]
}

type GetGlobalVariablesInput

type GetGlobalVariablesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetGlobalVariablesOutput

type GetGlobalVariablesOutput struct {
	Body base.ApiResponse[[]env.Variable]
}

type GetImageBuildInput

type GetImageBuildInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	BuildID       string `path:"buildId" doc:"Build ID"`
}

type GetImageBuildOutput

type GetImageBuildOutput struct {
	Body base.ApiResponse[image.BuildRecord]
}

type GetImageInput

type GetImageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
}

type GetImageOutput

type GetImageOutput struct {
	Body base.ApiResponse[image.DetailSummary]
}

type GetImageUsageCountsInput

type GetImageUsageCountsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetImageUsageCountsOutput

type GetImageUsageCountsOutput struct {
	Body ImageUsageCountsResponse
}

type GetJobSchedulesInput

type GetJobSchedulesInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type GetJobSchedulesOutput

type GetJobSchedulesOutput struct {
	Body jobschedule.Config
}

type GetJobsOutput

type GetJobsOutput struct {
	Body jobschedule.JobListResponse
}

type GetLogoInput

type GetLogoInput struct {
	Full  bool   `query:"full" default:"false" doc:"Return full logo instead of icon"`
	Color string `query:"color" doc:"Optional accent color override for preview (e.g., 'oklch(0.65 0.2 150)')"`
}

type GetNetworkCountsInput

type GetNetworkCountsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetNetworkCountsOutput

type GetNetworkCountsOutput struct {
	Body NetworkCountsApiResponse
}

type GetNetworkInput

type GetNetworkInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NetworkID     string `path:"networkId" doc:"Network ID"`
	Sort          string `query:"sort" default:"name"`
	Order         string `query:"order" default:"asc"`
}

type GetNetworkOutput

type GetNetworkOutput struct {
	Body NetworkInspectApiResponse
}

type GetNetworkTopologyInput

type GetNetworkTopologyInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetNetworkTopologyOutput

type GetNetworkTopologyOutput struct {
	Body NetworkTopologyApiResponse
}

type GetNotificationSettingsInput

type GetNotificationSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Provider      string `path:"provider" doc:"Provider"`
}

type GetNotificationSettingsOutput

type GetNotificationSettingsOutput struct {
	Body notification.Response
}

type GetOidcAuthUrlInput

type GetOidcAuthUrlInput struct {
	OidcHeaders
	Body auth.OidcAuthUrlRequest
}

type GetOidcAuthUrlOutput

type GetOidcAuthUrlOutput struct {
	SetCookie string `header:"Set-Cookie" doc:"OIDC state cookie"`
	Body      auth.OidcAuthUrlResponse
}

type GetOidcConfigInput

type GetOidcConfigInput struct {
	OidcHeaders
}

type GetOidcConfigOutput

type GetOidcConfigOutput struct {
	Body auth.OidcConfigResponse
}

type GetOidcStatusInput

type GetOidcStatusInput struct{}

type GetOidcStatusOutput

type GetOidcStatusOutput struct {
	Body auth.OidcStatusInfo
}

type GetPWAIconInput

type GetPWAIconInput struct {
	Filename string `path:"filename" example:"icon-192x192.png" doc:"PWA icon filename"`
}

type GetProjectFileInput

type GetProjectFileInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	RelativePath  string `query:"relativePath" doc:"Path to the file relative to the project"`
}

type GetProjectFileOutput

type GetProjectFileOutput struct {
	Body base.ApiResponse[project.IncludeFile]
}

type GetProjectInput

type GetProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type GetProjectOutput

type GetProjectOutput struct {
	Body base.ApiResponse[project.Details]
}

type GetProjectStatusCountsInput

type GetProjectStatusCountsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetProjectStatusCountsOutput

type GetProjectStatusCountsOutput struct {
	Body base.ApiResponse[project.StatusCounts]
}

type GetPublicSettingsInput

type GetPublicSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetPublicSettingsOutput

type GetPublicSettingsOutput struct {
	Body []settings.PublicSetting
}

type GetScanResultInput

type GetScanResultInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
}

type GetScanResultOutput

type GetScanResultOutput struct {
	Body base.ApiResponse[vulnerability.ScanResult]
}

type GetScanSummariesInput

type GetScanSummariesInput struct {
	EnvironmentID string                             `path:"id" doc:"Environment ID"`
	Body          vulnerability.ScanSummariesRequest `doc:"Batch scan summary request"`
}

type GetScanSummariesOutput

type GetScanSummariesOutput struct {
	Body base.ApiResponse[vulnerability.ScanSummariesResponse]
}

type GetScanSummaryInput

type GetScanSummaryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
}

type GetScanSummaryOutput

type GetScanSummaryOutput struct {
	Body base.ApiResponse[vulnerability.ScanSummary]
}

type GetScannerStatusInput

type GetScannerStatusInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetScannerStatusOutput

type GetScannerStatusOutput struct {
	Body base.ApiResponse[ScannerStatus]
}

type GetSettingsInput

type GetSettingsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetSettingsOutput

type GetSettingsOutput struct {
	Body []settings.PublicSetting
}

type GetSwarmConfigInput

type GetSwarmConfigInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ConfigID      string `path:"configId" doc:"Config ID"`
}

type GetSwarmConfigOutput

type GetSwarmConfigOutput struct {
	Body base.ApiResponse[swarmtypes.ConfigSummary]
}

type GetSwarmInfoInput

type GetSwarmInfoInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetSwarmInfoOutput

type GetSwarmInfoOutput struct {
	Body base.ApiResponse[swarmtypes.SwarmInfo]
}

type GetSwarmJoinTokensInput

type GetSwarmJoinTokensInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetSwarmJoinTokensOutput

type GetSwarmJoinTokensOutput struct {
	Body base.ApiResponse[swarmtypes.SwarmJoinTokensResponse]
}

type GetSwarmNodeAgentDeploymentInput

type GetSwarmNodeAgentDeploymentInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
	Body          struct {
		Rotate bool `json:"rotate,omitempty" doc:"Rotate the environment token before generating snippets"`
	}
}

type GetSwarmNodeAgentDeploymentOutput

type GetSwarmNodeAgentDeploymentOutput struct {
	Body base.ApiResponse[SwarmNodeAgentDeployment]
}

type GetSwarmNodeIdentityInput

type GetSwarmNodeIdentityInput struct{}

type GetSwarmNodeIdentityOutput

type GetSwarmNodeIdentityOutput struct {
	Body base.ApiResponse[services.SwarmNodeIdentity]
}

type GetSwarmNodeInput

type GetSwarmNodeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
}

type GetSwarmNodeOutput

type GetSwarmNodeOutput struct {
	Body base.ApiResponse[swarmtypes.NodeSummary]
}

type GetSwarmSecretInput

type GetSwarmSecretInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SecretID      string `path:"secretId" doc:"Secret ID"`
}

type GetSwarmSecretOutput

type GetSwarmSecretOutput struct {
	Body base.ApiResponse[swarmtypes.SecretSummary]
}

type GetSwarmServiceInput

type GetSwarmServiceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
}

type GetSwarmServiceOutput

type GetSwarmServiceOutput struct {
	Body base.ApiResponse[swarmtypes.ServiceInspect]
}

type GetSwarmStackInput

type GetSwarmStackInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
}

type GetSwarmStackOutput

type GetSwarmStackOutput struct {
	Body base.ApiResponse[swarmtypes.StackInspect]
}

type GetSwarmStackSourceInput

type GetSwarmStackSourceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
}

type GetSwarmStackSourceOutput

type GetSwarmStackSourceOutput struct {
	Body base.ApiResponse[swarmtypes.StackSource]
}

type GetSwarmStatusInput

type GetSwarmStatusInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetSwarmStatusOutput

type GetSwarmStatusOutput struct {
	Body base.ApiResponse[swarmtypes.RuntimeStatus]
}

type GetSwarmUnlockKeyInput

type GetSwarmUnlockKeyInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetSwarmUnlockKeyOutput

type GetSwarmUnlockKeyOutput struct {
	Body base.ApiResponse[swarmtypes.SwarmUnlockKeyResponse]
}

type GetSyncStatusInput

type GetSyncStatusInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
}

type GetSyncStatusOutput

type GetSyncStatusOutput struct {
	Body base.ApiResponse[gitops.SyncStatus]
}

type GetTemplateContentInput

type GetTemplateContentInput struct {
	ID string `path:"id" doc:"Template ID"`
}

type GetTemplateContentOutput

type GetTemplateContentOutput struct {
	Body base.ApiResponse[template.TemplateContent]
}

type GetTemplateInput

type GetTemplateInput struct {
	ID string `path:"id" doc:"Template ID"`
}

type GetTemplateOutput

type GetTemplateOutput struct {
	Body base.ApiResponse[template.Template]
}

type GetTemplateRegistriesInput

type GetTemplateRegistriesInput struct{}

type GetTemplateRegistriesOutput

type GetTemplateRegistriesOutput struct {
	Body base.ApiResponse[[]template.TemplateRegistry]
}

type GetUpdateInfoByRefsInput

type GetUpdateInfoByRefsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageRefs     string `query:"imageRefs" doc:"Comma-separated image references"`
}

type GetUpdateInfoByRefsOutput

type GetUpdateInfoByRefsOutput struct {
	Body base.ApiResponse[map[string]*imagetypes.UpdateInfo]
}

type GetUpdateSummaryInput

type GetUpdateSummaryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetUpdateSummaryOutput

type GetUpdateSummaryOutput struct {
	Body base.ApiResponse[imageupdate.Summary]
}

type GetUpdaterHistoryInput

type GetUpdaterHistoryInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Limit         int    `query:"limit" default:"50" doc:"Number of history entries to return"`
}

type GetUpdaterHistoryOutput

type GetUpdaterHistoryOutput struct {
	Body base.ApiResponse[[]models.AutoUpdateRecord]
}

type GetUpdaterStatusInput

type GetUpdaterStatusInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetUpdaterStatusOutput

type GetUpdaterStatusOutput struct {
	Body base.ApiResponse[updater.Status]
}

type GetUserInput

type GetUserInput struct {
	UserID string `path:"userId" doc:"User ID"`
}

type GetUserOutput

type GetUserOutput struct {
	Body base.ApiResponse[user.User]
}

type GetVersionInput

type GetVersionInput struct {
	Current string `query:"current" doc:"Current version to compare against"`
}

type GetVersionOutput

type GetVersionOutput struct {
	Body version.Check
}

type GetVolumeInput

type GetVolumeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
}

type GetVolumeOutput

type GetVolumeOutput struct {
	Body base.ApiResponse[*volumetypes.Volume]
}

type GetVolumeSizesInput

type GetVolumeSizesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type GetVolumeSizesOutput

type GetVolumeSizesOutput struct {
	Body base.ApiResponse[[]VolumeSizeInfo]
}

type GetVolumeUsageCountsInput

type GetVolumeUsageCountsInput struct {
	EnvironmentID   string `path:"id" doc:"Environment ID"`
	IncludeInternal bool   `query:"includeInternal" default:"false" doc:"Include internal volumes"`
}

type GetVolumeUsageCountsOutput

type GetVolumeUsageCountsOutput struct {
	Body base.ApiResponse[VolumeUsageCountsData]
}

type GetVolumeUsageInput

type GetVolumeUsageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
}

type GetVolumeUsageOutput

type GetVolumeUsageOutput struct {
	Body base.ApiResponse[VolumeUsageResponse]
}

type GitOpsSyncHandler

type GitOpsSyncHandler struct {
	// contains filtered or unexported fields
}

GitOpsSyncHandler handles GitOps sync management endpoints.

func (*GitOpsSyncHandler) BrowseFiles

BrowseFiles returns the file tree at the specified path in the repository.

func (*GitOpsSyncHandler) CreateSync

CreateSync creates a new GitOps sync.

func (*GitOpsSyncHandler) DeleteSync

DeleteSync deletes a GitOps sync by ID.

func (*GitOpsSyncHandler) GetStatus

GetStatus returns the current status of a GitOps sync.

func (*GitOpsSyncHandler) GetSync

GetSync returns a GitOps sync by ID.

func (*GitOpsSyncHandler) ImportSyncs

ImportSyncs imports multiple GitOps syncs.

func (*GitOpsSyncHandler) ListSyncs

ListSyncs returns a paginated list of GitOps syncs.

func (*GitOpsSyncHandler) PerformSync

func (h *GitOpsSyncHandler) PerformSync(ctx context.Context, input *PerformSyncInput) (*PerformSyncOutput, error)

PerformSync manually triggers a sync operation.

func (*GitOpsSyncHandler) UpdateSync

UpdateSync updates an existing GitOps sync.

type GitOpsSyncPaginatedResponse

type GitOpsSyncPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []gitops.GitOpsSync     `json:"data"`
	Counts     gitops.SyncCounts       `json:"counts"`
	Pagination base.PaginationResponse `json:"pagination"`
}

GitOpsSyncPaginatedResponse is the paginated response for GitOps syncs.

type GitRepositoryHandler

type GitRepositoryHandler struct {
	// contains filtered or unexported fields
}

GitRepositoryHandler handles git repository management endpoints.

func (*GitRepositoryHandler) BrowseFiles

BrowseFiles returns files and directories from a git repository.

func (*GitRepositoryHandler) CreateRepository

CreateRepository creates a new git repository.

func (*GitRepositoryHandler) DeleteRepository

DeleteRepository deletes a git repository by ID.

func (*GitRepositoryHandler) GetRepository

GetRepository returns a git repository by ID.

func (*GitRepositoryHandler) ListBranches

ListBranches returns all branches from a git repository.

func (*GitRepositoryHandler) ListRepositories

ListRepositories returns a paginated list of git repositories.

func (*GitRepositoryHandler) SyncRepositories

SyncRepositories syncs git repositories from a manager to this agent instance.

func (*GitRepositoryHandler) TestRepository

TestRepository tests connectivity and authentication to a git repository.

func (*GitRepositoryHandler) UpdateRepository

UpdateRepository updates an existing git repository.

type GitRepositoryPaginatedResponse

type GitRepositoryPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []gitops.GitRepository  `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

GitRepositoryPaginatedResponse is the paginated response for git repositories.

type HandleOidcCallbackInput

type HandleOidcCallbackInput struct {
	OidcHeaders
	OidcStateCookie string `cookie:"oidc_state" doc:"OIDC state cookie from auth URL request"`
	Body            auth.OidcCallbackRequest
}

type HandleOidcCallbackOutput

type HandleOidcCallbackOutput struct {
	SetCookie []string `header:"Set-Cookie" doc:"Session and clear state cookies"`
	Body      auth.OidcCallbackResponse
}

type HealthOutput

type HealthOutput struct {
	Body system.HealthResponse
}

HealthOutput is the response for health check

type IgnoreVulnerabilityInput

type IgnoreVulnerabilityInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          vulnerability.IgnorePayload
}

type IgnoreVulnerabilityOutput

type IgnoreVulnerabilityOutput struct {
	Body base.ApiResponse[vulnerability.IgnoredVulnerability]
}

type ImageBuildPaginatedResponse

type ImageBuildPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []image.BuildRecord     `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

type ImageHandler

type ImageHandler struct {
	// contains filtered or unexported fields
}

ImageHandler provides Huma-based image management endpoints.

func (*ImageHandler) BuildImage

func (h *ImageHandler) BuildImage(ctx context.Context, input *BuildImageInput) (*huma.StreamResponse, error)

BuildImage builds a Docker image with streaming progress.

func (*ImageHandler) GetImage

func (h *ImageHandler) GetImage(ctx context.Context, input *GetImageInput) (*GetImageOutput, error)

GetImage returns an image by ID.

func (*ImageHandler) GetImageBuild

func (h *ImageHandler) GetImageBuild(ctx context.Context, input *GetImageBuildInput) (*GetImageBuildOutput, error)

GetImageBuild returns a single build history entry.

func (*ImageHandler) GetImageUsageCounts

func (h *ImageHandler) GetImageUsageCounts(ctx context.Context, input *GetImageUsageCountsInput) (*GetImageUsageCountsOutput, error)

GetImageUsageCounts returns counts of images by usage status.

func (*ImageHandler) ListImageBuilds

func (h *ImageHandler) ListImageBuilds(ctx context.Context, input *ListImageBuildsInput) (*ListImageBuildsOutput, error)

ListImageBuilds returns a paginated list of image build history entries.

func (*ImageHandler) ListImages

func (h *ImageHandler) ListImages(ctx context.Context, input *ListImagesInput) (*ListImagesOutput, error)

ListImages returns a paginated list of images.

func (*ImageHandler) PruneImages

func (h *ImageHandler) PruneImages(ctx context.Context, input *PruneImagesInput) (*PruneImagesOutput, error)

PruneImages removes unused Docker images.

func (*ImageHandler) PullImage

func (h *ImageHandler) PullImage(ctx context.Context, input *PullImageInput) (*huma.StreamResponse, error)

PullImage pulls a Docker image with streaming progress.

func (*ImageHandler) RemoveImage

func (h *ImageHandler) RemoveImage(ctx context.Context, input *RemoveImageInput) (*RemoveImageOutput, error)

RemoveImage removes a Docker image.

func (*ImageHandler) UploadImage

func (h *ImageHandler) UploadImage(ctx context.Context, input *UploadImageInput) (*UploadImageOutput, error)

UploadImage uploads a Docker image from a tar archive.

type ImagePaginatedResponse

type ImagePaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []image.Summary         `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

ImagePaginatedResponse is the paginated response for images.

type ImageUpdateHandler

type ImageUpdateHandler struct {
	// contains filtered or unexported fields
}

func (*ImageUpdateHandler) CheckAllImages

func (*ImageUpdateHandler) CheckImageUpdate

func (*ImageUpdateHandler) CheckImageUpdateByID

func (*ImageUpdateHandler) CheckMultipleImages

func (*ImageUpdateHandler) GetUpdateInfoByRefs

func (*ImageUpdateHandler) GetUpdateSummary

type ImageUsageCountsResponse

type ImageUsageCountsResponse struct {
	Success bool              `json:"success"`
	Data    image.UsageCounts `json:"data"`
}

type ImportGitOpsSyncsInput

type ImportGitOpsSyncsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          []gitops.ImportGitOpsSyncRequest
}

type ImportGitOpsSyncsOutput

type ImportGitOpsSyncsOutput struct {
	Body base.ApiResponse[gitops.ImportGitOpsSyncResponse]
}

type InitSwarmInput

type InitSwarmInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmInitRequest
}

type InitSwarmOutput

type InitSwarmOutput struct {
	Body base.ApiResponse[swarmtypes.SwarmInitResponse]
}

type InitiateDeviceAuthInput

type InitiateDeviceAuthInput struct{}

type InitiateDeviceAuthOutput

type InitiateDeviceAuthOutput struct {
	Body auth.OidcDeviceAuthResponse
}

type JobSchedulesHandler

type JobSchedulesHandler struct {
	// contains filtered or unexported fields
}

func (*JobSchedulesHandler) Get

func (*JobSchedulesHandler) ListJobs

func (h *JobSchedulesHandler) ListJobs(ctx context.Context, input *ListJobsInput) (*GetJobsOutput, error)

func (*JobSchedulesHandler) RunJob

func (h *JobSchedulesHandler) RunJob(ctx context.Context, input *RunJobInput) (*RunJobOutput, error)

func (*JobSchedulesHandler) Update

type JoinSwarmInput

type JoinSwarmInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmJoinRequest
}

type JoinSwarmOutput

type JoinSwarmOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type LeaveSwarmInput

type LeaveSwarmInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmLeaveRequest
}

type LeaveSwarmOutput

type LeaveSwarmOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type ListAllVulnerabilitiesInput

type ListAllVulnerabilitiesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Sort field"`
	Order         string `query:"order" doc:"Sort order"`
	Start         int    `query:"start" doc:"Start offset"`
	Limit         int    `query:"limit" doc:"Limit"`
	Page          int    `query:"page" doc:"Page number"`
	Severity      string `query:"severity" doc:"Comma-separated severity filter"`
	ImageName     string `query:"imageName" doc:"Filter by image/repo name (substring)"`
}

type ListAllVulnerabilitiesOutput

type ListAllVulnerabilitiesOutput struct {
	Body base.Paginated[vulnerability.VulnerabilityWithImage]
}

type ListAllVulnerabilityImageOptionsInput

type ListAllVulnerabilityImageOptionsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Severity      string `query:"severity" doc:"Comma-separated severity filter"`
}

type ListAllVulnerabilityImageOptionsOutput

type ListAllVulnerabilityImageOptionsOutput struct {
	Body base.ApiResponse[[]string]
}

type ListApiKeysInput

type ListApiKeysInput struct {
	Search string `query:"search" doc:"Search query for filtering by name or description"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start  int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit  int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListApiKeysOutput

type ListApiKeysOutput struct {
	Body ApiKeyPaginatedResponse
}

type ListBackupFilesInput

type ListBackupFilesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
}

type ListBackupFilesOutput

type ListBackupFilesOutput struct {
	Body base.ApiResponse[[]string]
}

type ListBackupsInput

type ListBackupsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction"`
	Start         int    `query:"start" default:"0" doc:"Start index"`
	Limit         int    `query:"limit" default:"20" doc:"Limit"`
}

type ListBackupsOutput

type ListBackupsOutput struct {
	Body VolumeBackupPaginatedResponse
}

type ListBranchesInput

type ListBranchesInput struct {
	ID string `path:"id" doc:"Repository ID"`
}

type ListBranchesOutput

type ListBranchesOutput struct {
	Body base.ApiResponse[gitops.BranchesResponse]
}

type ListContainerRegistriesInput

type ListContainerRegistriesInput struct {
	Search string `query:"search" doc:"Search query"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction"`
	Start  int    `query:"start" default:"0" doc:"Start index"`
	Limit  int    `query:"limit" default:"20" doc:"Items per page"`
}

type ListContainerRegistriesOutput

type ListContainerRegistriesOutput struct {
	Body ContainerRegistryPaginatedResponse
}

type ListContainersInput

type ListContainersInput struct {
	EnvironmentID   string `path:"id" doc:"Environment ID"`
	Search          string `query:"search" doc:"Search query"`
	Sort            string `query:"sort" doc:"Column to sort by"`
	Order           string `query:"order" default:"asc" doc:"Sort direction"`
	Start           int    `query:"start" default:"0" doc:"Start index"`
	Limit           int    `query:"limit" default:"20" doc:"Limit"`
	GroupBy         string `query:"groupBy" doc:"Optional grouping mode (for example: project)"`
	IncludeInternal bool   `query:"includeInternal" default:"false" doc:"Include internal containers"`
	Updates         string `query:"updates" doc:"Filter by update status (has_update, up_to_date, error, unknown)"`
	Standalone      string `query:"standalone" doc:"Filter standalone containers only (true/false)"`
}

type ListContainersOutput

type ListContainersOutput struct {
	Body ContainerPaginatedResponse
}

type ListEnvironmentsInput

type ListEnvironmentsInput struct {
	Search string `query:"search" doc:"Search query for filtering by name or API URL"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start  int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit  int    `query:"limit" default:"20" doc:"Items per page"`
	Type   string `query:"type" doc:"Filter by environment type (comma-separated: http,edge,websocket,grpc,polling)"`
}

type ListEnvironmentsOutput

type ListEnvironmentsOutput struct {
	Body EnvironmentPaginatedResponse
}

type ListEventsInput

type ListEventsInput struct {
	Search   string `query:"search" doc:"Search query"`
	Sort     string `query:"sort" doc:"Column to sort by"`
	Order    string `query:"order" default:"asc" doc:"Sort direction"`
	Start    int    `query:"start" default:"0" doc:"Start index"`
	Limit    int    `query:"limit" default:"20" doc:"Limit"`
	Severity string `query:"severity" doc:"Filter by severity"`
	Type     string `query:"type" doc:"Filter by event type"`
}

type ListEventsOutput

type ListEventsOutput struct {
	Body EventPaginatedResponse
}

type ListGitOpsSyncsInput

type ListGitOpsSyncsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction"`
	Start         int    `query:"start" default:"0" doc:"Start index"`
	Limit         int    `query:"limit" default:"20" doc:"Items per page"`
}

type ListGitOpsSyncsOutput

type ListGitOpsSyncsOutput struct {
	Body GitOpsSyncPaginatedResponse
}

type ListGitRepositoriesInput

type ListGitRepositoriesInput struct {
	Search string `query:"search" doc:"Search query"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction"`
	Start  int    `query:"start" default:"0" doc:"Start index"`
	Limit  int    `query:"limit" default:"20" doc:"Items per page"`
}

type ListGitRepositoriesOutput

type ListGitRepositoriesOutput struct {
	Body GitRepositoryPaginatedResponse
}

type ListIgnoredVulnerabilitiesInput

type ListIgnoredVulnerabilitiesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Sort field"`
	Order         string `query:"order" doc:"Sort order"`
	Start         int    `query:"start" doc:"Start offset"`
	Limit         int    `query:"limit" doc:"Limit"`
	Page          int    `query:"page" doc:"Page number"`
}

type ListIgnoredVulnerabilitiesOutput

type ListIgnoredVulnerabilitiesOutput struct {
	Body base.Paginated[vulnerability.IgnoredVulnerability]
}

type ListImageBuildsInput

type ListImageBuildsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"desc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
	Status        string `query:"status" doc:"Filter by status"`
	Provider      string `query:"provider" doc:"Filter by provider"`
}

type ListImageBuildsOutput

type ListImageBuildsOutput struct {
	Body ImageBuildPaginatedResponse
}

type ListImageVulnerabilitiesInput

type ListImageVulnerabilitiesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Sort field"`
	Order         string `query:"order" doc:"Sort order"`
	Start         int    `query:"start" doc:"Start offset"`
	Limit         int    `query:"limit" doc:"Limit"`
	Page          int    `query:"page" doc:"Page number"`
	Severity      string `query:"severity" doc:"Comma-separated severity filter"`
}

type ListImageVulnerabilitiesOutput

type ListImageVulnerabilitiesOutput struct {
	Body base.Paginated[vulnerability.Vulnerability]
}

type ListImagesInput

type ListImagesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
	InUse         string `query:"inUse" doc:"Filter by in-use status (true/false)"`
	Updates       string `query:"updates" doc:"Filter by update availability (true/false)"`
}

type ListImagesOutput

type ListImagesOutput struct {
	Body ImagePaginatedResponse
}

type ListJobsInput

type ListJobsInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type ListNetworksInput

type ListNetworksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
	InUse         string `query:"inUse" doc:"Filter by in-use status (true/false)"`
}

type ListNetworksOutput

type ListNetworksOutput struct {
	Body NetworkPaginatedResponse
}

type ListPortsInput

type ListPortsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListPortsOutput

type ListPortsOutput struct {
	Body PortPaginatedResponse
}

type ListProjectsInput

type ListProjectsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
	Status        string `query:"status" doc:"Filter by status (comma-separated: running,stopped,partially running)"`
	Updates       string `query:"updates" doc:"Filter by update status (has_update, up_to_date, error, unknown)"`
	Archived      string `query:"archived" doc:"Archived filter: 'true' (only archived), 'all' (include archived). Default excludes archived."`
}

type ListProjectsOutput

type ListProjectsOutput struct {
	Body ProjectPaginatedResponse
}

type ListSwarmConfigsInput

type ListSwarmConfigsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type ListSwarmConfigsOutput

type ListSwarmConfigsOutput struct {
	Body base.ApiResponse[[]swarmtypes.ConfigSummary]
}

type ListSwarmNodeTasksInput

type ListSwarmNodeTasksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmNodeTasksOutput

type ListSwarmNodeTasksOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.TaskSummary]
}

type ListSwarmNodesInput

type ListSwarmNodesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmNodesOutput

type ListSwarmNodesOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.NodeSummary]
}

type ListSwarmSecretsInput

type ListSwarmSecretsInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type ListSwarmSecretsOutput

type ListSwarmSecretsOutput struct {
	Body base.ApiResponse[[]swarmtypes.SecretSummary]
}

type ListSwarmServiceTasksInput

type ListSwarmServiceTasksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmServiceTasksOutput

type ListSwarmServiceTasksOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.TaskSummary]
}

type ListSwarmServicesInput

type ListSwarmServicesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmServicesOutput

type ListSwarmServicesOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.ServiceSummary]
}

type ListSwarmStackServicesInput

type ListSwarmStackServicesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmStackServicesOutput

type ListSwarmStackServicesOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.ServiceSummary]
}

type ListSwarmStackTasksInput

type ListSwarmStackTasksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmStackTasksOutput

type ListSwarmStackTasksOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.TaskSummary]
}

type ListSwarmStacksInput

type ListSwarmStacksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmStacksOutput

type ListSwarmStacksOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.StackSummary]
}

type ListSwarmTasksInput

type ListSwarmTasksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Search        string `query:"search" doc:"Search query"`
	Sort          string `query:"sort" doc:"Column to sort by"`
	Order         string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start         int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit         int    `query:"limit" default:"20" doc:"Number of items per page"`
}

type ListSwarmTasksOutput

type ListSwarmTasksOutput struct {
	Body SwarmPaginatedResponse[swarmtypes.TaskSummary]
}

type ListTemplatesInput

type ListTemplatesInput struct {
	Search string `query:"search" doc:"Search query"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction"`
	Start  int    `query:"start" default:"0" doc:"Start index"`
	Limit  int    `query:"limit" default:"20" doc:"Items per page"`
	Type   string `query:"type" doc:"Filter by template type (comma-separated: false,true)"`
}

type ListTemplatesOutput

type ListTemplatesOutput struct {
	Body TemplatePaginatedResponse
}

type ListUsersInput

type ListUsersInput struct {
	Search string `query:"search" doc:"Search query"`
	Sort   string `query:"sort" doc:"Column to sort by"`
	Order  string `query:"order" default:"asc" doc:"Sort direction"`
	Start  int    `query:"start" default:"0" doc:"Start index"`
	Limit  int    `query:"limit" default:"20" doc:"Items per page"`
}

type ListUsersOutput

type ListUsersOutput struct {
	Body UserPaginatedResponse
}

type ListVolumesInput

type ListVolumesInput struct {
	EnvironmentID   string `path:"id" doc:"Environment ID"`
	Search          string `query:"search" doc:"Search query"`
	Sort            string `query:"sort" doc:"Column to sort by"`
	Order           string `query:"order" default:"asc" doc:"Sort direction (asc or desc)"`
	Start           int    `query:"start" default:"0" doc:"Start index for pagination"`
	Limit           int    `query:"limit" default:"20" doc:"Number of items per page"`
	InUse           string `query:"inUse" doc:"Filter by in-use status (true/false)"`
	IncludeInternal bool   `query:"includeInternal" default:"false" doc:"Include internal volumes"`
}

type ListVolumesOutput

type ListVolumesOutput struct {
	Body VolumePaginatedResponse
}

type ListWebhooksInput

type ListWebhooksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type ListWebhooksOutput

type ListWebhooksOutput struct {
	Body base.ApiResponse[[]webhook.Summary]
}

type LoginInput

type LoginInput struct {
	UserAgent string `header:"User-Agent"`
	Body      auth.Login
}

type LoginOutput

type LoginOutput struct {
	SetCookie string `header:"Set-Cookie" doc:"Session cookie"`
	Body      base.ApiResponse[auth.LoginResponse]
}

type LogoutOutput

type LogoutOutput struct {
	SetCookie string `header:"Set-Cookie" doc:"Cleared session cookie"`
	Body      base.ApiResponse[base.MessageResponse]
}

type NetworkCountsApiResponse

type NetworkCountsApiResponse struct {
	Success bool                     `json:"success"`
	Data    networktypes.UsageCounts `json:"data"`
}

type NetworkCreatedApiResponse

type NetworkCreatedApiResponse struct {
	Success bool                        `json:"success"`
	Data    networktypes.CreateResponse `json:"data"`
}

type NetworkHandler

type NetworkHandler struct {
	// contains filtered or unexported fields
}

func (*NetworkHandler) CreateNetwork

func (h *NetworkHandler) CreateNetwork(ctx context.Context, input *CreateNetworkInput) (*CreateNetworkOutput, error)

func (*NetworkHandler) DeleteNetwork

func (h *NetworkHandler) DeleteNetwork(ctx context.Context, input *DeleteNetworkInput) (*DeleteNetworkOutput, error)

func (*NetworkHandler) GetNetwork

func (h *NetworkHandler) GetNetwork(ctx context.Context, input *GetNetworkInput) (*GetNetworkOutput, error)

func (*NetworkHandler) GetNetworkCounts

func (h *NetworkHandler) GetNetworkCounts(ctx context.Context, input *GetNetworkCountsInput) (*GetNetworkCountsOutput, error)

func (*NetworkHandler) GetNetworkTopology

func (*NetworkHandler) ListNetworks

func (h *NetworkHandler) ListNetworks(ctx context.Context, input *ListNetworksInput) (*ListNetworksOutput, error)

func (*NetworkHandler) PruneNetworks

func (h *NetworkHandler) PruneNetworks(ctx context.Context, input *PruneNetworksInput) (*PruneNetworksOutput, error)

type NetworkInspectApiResponse

type NetworkInspectApiResponse struct {
	Success bool                 `json:"success"`
	Data    networktypes.Inspect `json:"data"`
}

NetworkInspectApiResponse is a dedicated response type

type NetworkMessageApiResponse

type NetworkMessageApiResponse struct {
	Success bool                 `json:"success"`
	Data    base.MessageResponse `json:"data"`
}

NetworkMessageApiResponse is a dedicated response type

type NetworkPaginatedResponse

type NetworkPaginatedResponse struct {
	Success    bool                     `json:"success"`
	Data       []networktypes.Summary   `json:"data"`
	Counts     networktypes.UsageCounts `json:"counts"`
	Pagination base.PaginationResponse  `json:"pagination"`
}

type NetworkPruneResponse

type NetworkPruneResponse struct {
	Success bool                     `json:"success"`
	Data    networktypes.PruneReport `json:"data"`
}

NetworkPruneResponse is a dedicated response type

type NetworkTopologyApiResponse

type NetworkTopologyApiResponse struct {
	Success bool                  `json:"success"`
	Data    networktypes.Topology `json:"data"`
}

type NotificationHandler

type NotificationHandler struct {
	// contains filtered or unexported fields
}

func (*NotificationHandler) CreateOrUpdateAppriseSettings

func (*NotificationHandler) DeleteNotificationSettings

func (*NotificationHandler) DispatchNotification

func (*NotificationHandler) GetAllNotificationSettings

func (*NotificationHandler) GetAppriseSettings

func (*NotificationHandler) GetNotificationSettings

func (*NotificationHandler) TestAppriseNotification

func (*NotificationHandler) TestNotification

type OidcHandler

type OidcHandler struct {
	// contains filtered or unexported fields
}

OidcHandler handles OIDC authentication endpoints.

func (*OidcHandler) ExchangeDeviceToken

func (h *OidcHandler) ExchangeDeviceToken(ctx context.Context, input *ExchangeDeviceTokenInput) (*ExchangeDeviceTokenOutput, error)

ExchangeDeviceToken exchanges a device code for authentication tokens.

func (*OidcHandler) GetOidcAuthUrl

func (h *OidcHandler) GetOidcAuthUrl(ctx context.Context, input *GetOidcAuthUrlInput) (*GetOidcAuthUrlOutput, error)

GetOidcAuthUrl generates an OIDC authorization URL and sets the state cookie.

func (*OidcHandler) GetOidcConfig

func (h *OidcHandler) GetOidcConfig(ctx context.Context, input *GetOidcConfigInput) (*GetOidcConfigOutput, error)

GetOidcConfig returns the OIDC client configuration.

func (*OidcHandler) GetOidcStatus

GetOidcStatus returns the OIDC configuration status.

func (*OidcHandler) HandleOidcCallback

func (h *OidcHandler) HandleOidcCallback(ctx context.Context, input *HandleOidcCallbackInput) (*HandleOidcCallbackOutput, error)

HandleOidcCallback processes the OIDC callback and completes authentication.

func (*OidcHandler) InitiateDeviceAuth

InitiateDeviceAuth initiates the OIDC device authorization flow.

type OidcHeaders

type OidcHeaders struct {
	Origin          string `header:"Origin"`
	XForwardedHost  string `header:"X-Forwarded-Host"`
	XForwardedProto string `header:"X-Forwarded-Proto"`
	Host            string `header:"Host"`
	UserAgent       string `header:"User-Agent"`
}

type PairAgentInput

type PairAgentInput struct {
	ID   string                        `path:"id" doc:"Environment ID (must be 0 for local)"`
	Body *environment.AgentPairRequest `json:"body,omitempty"`
}

type PairAgentOutput

type PairAgentOutput struct {
	Body base.ApiResponse[environment.AgentPairResponse]
}

type PairEnvironmentInput

type PairEnvironmentInput struct {
	XAPIKey string `header:"X-API-Key" doc:"API key for environment pairing"`
}

type PairEnvironmentOutput

type PairEnvironmentOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type PerformSyncInput

type PerformSyncInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
}

type PerformSyncOutput

type PerformSyncOutput struct {
	Body base.ApiResponse[gitops.SyncResult]
}

type PortHandler

type PortHandler struct {
	// contains filtered or unexported fields
}

func (*PortHandler) ListPorts

func (h *PortHandler) ListPorts(ctx context.Context, input *ListPortsInput) (*ListPortsOutput, error)

type PortPaginatedResponse

type PortPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []porttypes.PortMapping `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

type ProjectHandler

type ProjectHandler struct {
	// contains filtered or unexported fields
}

ProjectHandler provides Huma-based project management endpoints.

func (*ProjectHandler) ArchiveProject

func (h *ProjectHandler) ArchiveProject(ctx context.Context, input *ArchiveProjectInput) (*ArchiveProjectOutput, error)

func (*ProjectHandler) BuildProjectImages

func (h *ProjectHandler) BuildProjectImages(ctx context.Context, input *BuildProjectInput) (*huma.StreamResponse, error)

BuildProjectImages builds compose services with build directives.

func (*ProjectHandler) CreateProject

func (h *ProjectHandler) CreateProject(ctx context.Context, input *CreateProjectInput) (*CreateProjectOutput, error)

CreateProject creates a new Docker Compose project.

func (*ProjectHandler) DeployProject

func (h *ProjectHandler) DeployProject(ctx context.Context, input *DeployProjectInput) (*huma.StreamResponse, error)

DeployProject deploys a Docker Compose project.

func (*ProjectHandler) DestroyProject

func (h *ProjectHandler) DestroyProject(ctx context.Context, input *DestroyProjectInput) (*DestroyProjectOutput, error)

DestroyProject destroys a Docker Compose project.

func (*ProjectHandler) DownProject

func (h *ProjectHandler) DownProject(ctx context.Context, input *DownProjectInput) (*DownProjectOutput, error)

DownProject brings down a Docker Compose project.

func (*ProjectHandler) GetProject

func (h *ProjectHandler) GetProject(ctx context.Context, input *GetProjectInput) (*GetProjectOutput, error)

GetProject returns a project by ID.

func (*ProjectHandler) GetProjectCompose added in v1.19.2

func (h *ProjectHandler) GetProjectCompose(ctx context.Context, input *GetProjectInput) (*GetProjectOutput, error)

func (*ProjectHandler) GetProjectFile

func (h *ProjectHandler) GetProjectFile(ctx context.Context, input *GetProjectFileInput) (*GetProjectFileOutput, error)

func (*ProjectHandler) GetProjectFiles added in v1.19.2

func (h *ProjectHandler) GetProjectFiles(ctx context.Context, input *GetProjectInput) (*GetProjectOutput, error)

func (*ProjectHandler) GetProjectRuntime added in v1.19.2

func (h *ProjectHandler) GetProjectRuntime(ctx context.Context, input *GetProjectInput) (*GetProjectOutput, error)

func (*ProjectHandler) GetProjectStatusCounts

GetProjectStatusCounts returns counts of projects by status.

func (*ProjectHandler) GetProjectUpdates added in v1.19.2

func (h *ProjectHandler) GetProjectUpdates(ctx context.Context, input *GetProjectInput) (*GetProjectOutput, error)

func (*ProjectHandler) ListProjects

func (h *ProjectHandler) ListProjects(ctx context.Context, input *ListProjectsInput) (*ListProjectsOutput, error)

ListProjects returns a paginated list of projects.

func (*ProjectHandler) PullProjectImages

func (h *ProjectHandler) PullProjectImages(ctx context.Context, input *PullProjectImagesInput) (*huma.StreamResponse, error)

PullProjectImages pulls all images for a project with streaming progress.

func (*ProjectHandler) RedeployProject

func (h *ProjectHandler) RedeployProject(ctx context.Context, input *RedeployProjectInput) (*RedeployProjectOutput, error)

RedeployProject redeploys a Docker Compose project.

func (*ProjectHandler) RestartProject

func (h *ProjectHandler) RestartProject(ctx context.Context, input *RestartProjectInput) (*RestartProjectOutput, error)

RestartProject restarts all containers in a project.

func (*ProjectHandler) UnarchiveProject

func (h *ProjectHandler) UnarchiveProject(ctx context.Context, input *UnarchiveProjectInput) (*UnarchiveProjectOutput, error)

func (*ProjectHandler) UpdateProject

func (h *ProjectHandler) UpdateProject(ctx context.Context, input *UpdateProjectInput) (*UpdateProjectOutput, error)

UpdateProject updates a Docker Compose project.

func (*ProjectHandler) UpdateProjectInclude

UpdateProjectInclude updates an include file within a project.

type ProjectPaginatedResponse

type ProjectPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []project.Details       `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

ProjectPaginatedResponse is the paginated response for projects.

type PromoteSwarmNodeInput

type PromoteSwarmNodeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
}

type PromoteSwarmNodeOutput

type PromoteSwarmNodeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type PruneAllInput

type PruneAllInput struct {
	EnvironmentID string                 `path:"id" doc:"Environment ID"`
	Body          system.PruneAllRequest `doc:"Prune options"`
}

type PruneAllOutput

type PruneAllOutput struct {
	Body base.ApiResponse[system.PruneAllResult]
}

type PruneImagesInput

type PruneImagesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Dangling      bool   `query:"dangling" doc:"Only remove dangling images"`
	Body          *struct {
		Mode     *string             `json:"mode,omitempty"`
		Until    *string             `json:"until,omitempty"`
		Dangling *bool               `json:"dangling,omitempty"`
		Filters  map[string][]string `json:"filters,omitempty"`
	}
}

type PruneImagesOutput

type PruneImagesOutput struct {
	Body base.ApiResponse[image.PruneReport]
}

type PruneNetworksInput

type PruneNetworksInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type PruneNetworksOutput

type PruneNetworksOutput struct {
	Body NetworkPruneResponse
}

type PruneVolumesInput

type PruneVolumesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type PruneVolumesOutput

type PruneVolumesOutput struct {
	Body base.ApiResponse[VolumePruneReportData]
}

type PullImageInput

type PullImageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          image.PullOptions
}

type PullProgressEvent

type PullProgressEvent struct {
	Status         string `json:"status,omitempty"`
	ID             string `json:"id,omitempty"`
	Progress       string `json:"progress,omitempty"`
	ProgressDetail struct {
		Current int64 `json:"current,omitempty"`
		Total   int64 `json:"total,omitempty"`
	} `json:"progressDetail"`
	Error string `json:"error,omitempty"`
}

PullProgressEvent represents a Docker pull progress event

type PullProjectImagesInput

type PullProjectImagesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type RedeployProjectInput

type RedeployProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type RedeployProjectOutput

type RedeployProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RefreshTokenInput

type RefreshTokenInput struct {
	UserAgent string `header:"User-Agent"`
	Body      auth.Refresh
}

type RefreshTokenOutput

type RefreshTokenOutput struct {
	SetCookie string `header:"Set-Cookie" doc:"Updated session cookie"`
	Body      base.ApiResponse[auth.TokenRefreshResponse]
}

type RemoveImageInput

type RemoveImageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID"`
	Force         bool   `query:"force" doc:"Force removal"`
}

type RemoveImageOutput

type RemoveImageOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RemoveVolumeInput

type RemoveVolumeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	Force         bool   `query:"force" doc:"Force removal"`
}

type RemoveVolumeOutput

type RemoveVolumeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RenderSwarmStackConfigInput

type RenderSwarmStackConfigInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.StackRenderConfigRequest
}

type RenderSwarmStackConfigOutput

type RenderSwarmStackConfigOutput struct {
	Body base.ApiResponse[swarmtypes.StackRenderConfigResponse]
}

type RestartProjectInput

type RestartProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type RestartProjectOutput

type RestartProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RestoreBackupFilesInput

type RestoreBackupFilesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
	Body          struct {
		Paths []string `json:"paths" doc:"Paths to restore from backup"`
	}
}

type RestoreBackupFilesOutput

type RestoreBackupFilesOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RestoreBackupInput

type RestoreBackupInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	VolumeName    string `path:"volumeName" doc:"Volume name"`
	BackupID      string `path:"backupId" doc:"Backup ID"`
}

type RestoreBackupOutput

type RestoreBackupOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RollbackSwarmServiceInput

type RollbackSwarmServiceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
}

type RollbackSwarmServiceOutput

type RollbackSwarmServiceOutput struct {
	Body base.ApiResponse[swarmtypes.ServiceUpdateResponse]
}

type RotateSwarmJoinTokensInput

type RotateSwarmJoinTokensInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmRotateJoinTokensRequest
}

type RotateSwarmJoinTokensOutput

type RotateSwarmJoinTokensOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type RunJobInput

type RunJobInput struct {
	ID    string `path:"id" doc:"Environment ID"`
	JobID string `path:"jobId" minLength:"1" doc:"Job ID to run"`
}

type RunJobOutput

type RunJobOutput struct {
	Body jobschedule.JobRunResponse
}

type RunUpdaterInput

type RunUpdaterInput struct {
	EnvironmentID string           `path:"id" doc:"Environment ID"`
	Body          *updater.Options `doc:"Updater run options"`
}

type RunUpdaterOutput

type RunUpdaterOutput struct {
	Body base.ApiResponse[*updater.Result]
}

type SaveDefaultTemplatesInput

type SaveDefaultTemplatesInput struct {
	Body template.SaveDefaultTemplatesRequest
}

type SaveDefaultTemplatesOutput

type SaveDefaultTemplatesOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type ScaleSwarmServiceInput

type ScaleSwarmServiceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
	Body          swarmtypes.ServiceScaleRequest
}

type ScaleSwarmServiceOutput

type ScaleSwarmServiceOutput struct {
	Body base.ApiResponse[swarmtypes.ServiceUpdateResponse]
}

type ScanImageInput

type ScanImageInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ImageID       string `path:"imageId" doc:"Image ID to scan"`
}

type ScanImageOutput

type ScanImageOutput struct {
	Body base.ApiResponse[vulnerability.ScanResult]
}

type ScannerStatus

type ScannerStatus struct {
	// Available indicates if the vulnerability scanner (Trivy) is available
	Available bool `json:"available"`

	// Version is the version of the scanner if available
	Version string `json:"version,omitempty"`
}

type SearchCustomizeInput

type SearchCustomizeInput struct {
	Body search.Request
}

type SearchCustomizeOutput

type SearchCustomizeOutput struct {
	Body search.Response
}

type SearchSettingsInput

type SearchSettingsInput struct {
	Body search.Request `doc:"Search query"`
}

type SearchSettingsOutput

type SearchSettingsOutput struct {
	Body search.Response
}

type SetAutoUpdateInput

type SetAutoUpdateInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ContainerID   string `path:"containerId" doc:"Container ID"`
	Body          struct {
		Enabled bool `json:"enabled" doc:"Whether auto-update is enabled for this container"`
	}
}

RegisterContainers registers container endpoints.

type SetAutoUpdateOutput

type SetAutoUpdateOutput struct {
	Body ContainerActionResponse
}

type SettingsHandler

type SettingsHandler struct {
	// contains filtered or unexported fields
}

SettingsHandler provides Huma-based settings management endpoints.

func (*SettingsHandler) GetCategories

func (h *SettingsHandler) GetCategories(ctx context.Context, input *struct{}) (*GetCategoriesOutput, error)

GetCategories returns all available settings categories.

func (*SettingsHandler) GetPublicSettings

GetPublicSettings returns public settings for an environment.

func (*SettingsHandler) GetSettings

func (h *SettingsHandler) GetSettings(ctx context.Context, input *GetSettingsInput) (*GetSettingsOutput, error)

GetSettings returns all settings for an environment.

func (*SettingsHandler) Search

Search searches settings by query.

func (*SettingsHandler) UpdateSettings

func (h *SettingsHandler) UpdateSettings(ctx context.Context, input *UpdateSettingsInput) (*UpdateSettingsOutput, error)

UpdateSettings updates settings for an environment.

type StartAllContainersInput

type StartAllContainersInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type StartAllContainersOutput

type StartAllContainersOutput struct {
	Body base.ApiResponse[containertypes.ActionResult]
}

type StartAllStoppedContainersInput

type StartAllStoppedContainersInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type StartAllStoppedContainersOutput

type StartAllStoppedContainersOutput struct {
	Body base.ApiResponse[containertypes.ActionResult]
}

type StopAllContainersInput

type StopAllContainersInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type StopAllContainersOutput

type StopAllContainersOutput struct {
	Body base.ApiResponse[containertypes.ActionResult]
}

type SwarmHandler

type SwarmHandler struct {
	// contains filtered or unexported fields
}

func (*SwarmHandler) CreateConfig

CreateConfig creates a new swarm config.

It requires admin privileges, delegates the creation request to the swarm service, and records an audit event containing the created config ID and name.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the config specification.

Returns the created config summary. Returns an authorization error for non-admin callers or mapped HTTP errors when validation or creation fails.

func (*SwarmHandler) CreateSecret

CreateSecret creates a new swarm secret.

It requires admin privileges, delegates the creation request to the swarm service, and records an audit event containing the created secret ID and name.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the secret specification.

Returns the created secret summary. Returns an authorization error for non-admin callers or mapped HTTP errors when validation or creation fails.

func (*SwarmHandler) CreateService

CreateService creates a new swarm service in the target environment.

It requires admin privileges, forwards the create request to the swarm service, and records an audit event after a successful mutation.

ctx carries request-scoped cancellation, auth, and audit context. input contains the environment ID and the requested service specification.

Returns a successful response containing the created service ID and any Docker warnings. Returns an authorization error for non-admin callers or mapped HTTP errors when validation or creation fails.

func (*SwarmHandler) DeleteConfig

DeleteConfig removes a swarm config.

It requires admin privileges, delegates removal to the swarm service, maps missing configs to `404 Not Found`, and records an audit event on success.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the config to remove.

Returns a confirmation response when the config is removed. Returns an authorization error for non-admin callers, `404 Not Found` when the config does not exist, or another mapped HTTP error when removal fails.

func (*SwarmHandler) DeleteNode

DeleteNode removes a swarm node from the cluster.

It requires admin privileges, supports forced removal when requested, and records the deletion parameters in the audit event metadata.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the node to remove and indicates whether removal should be forced.

Returns a confirmation response when the node is removed. Returns an authorization error for non-admin callers or a mapped HTTP error when the node cannot be removed.

func (*SwarmHandler) DeleteSecret

DeleteSecret removes a swarm secret.

It requires admin privileges, delegates removal to the swarm service, maps missing secrets to `404 Not Found`, and records an audit event on success.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the secret to remove.

Returns a confirmation response when the secret is removed. Returns an authorization error for non-admin callers, `404 Not Found` when the secret does not exist, or another mapped HTTP error when removal fails.

func (*SwarmHandler) DeleteService

DeleteService removes a swarm service.

It requires admin privileges, asks the swarm service to remove the service, translates missing-service conditions to `404 Not Found`, and records an audit event after removal.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and service to remove.

Returns a successful response with a confirmation message. Returns an authorization error for non-admin callers, `404 Not Found` when the service does not exist, or another mapped HTTP error when removal fails.

func (*SwarmHandler) DeleteStack

DeleteStack removes a swarm stack and its managed resources.

It requires admin privileges, delegates the removal to the swarm service, maps missing stacks to `404 Not Found`, and records an audit event after deletion completes.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and stack name to remove.

Returns a confirmation response when the stack is removed. Returns an authorization error for non-admin callers, `404 Not Found` when the stack does not exist, or another mapped HTTP error when removal fails.

func (*SwarmHandler) DemoteNode

DemoteNode demotes a swarm manager to worker.

It requires admin privileges, performs the demotion through the swarm service, and records an audit event after the role change completes.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the node to demote.

Returns a confirmation response when the demotion succeeds. Returns an authorization error for non-admin callers or a mapped HTTP error when the demotion fails.

func (*SwarmHandler) DeployStack

DeployStack deploys or updates a swarm stack.

It requires admin privileges, submits the stack deployment request to the swarm service, and records an audit event keyed by the stack name after the deployment succeeds.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the target environment and provides the stack deployment request body.

Returns the deployment response reported by the swarm service. Returns an authorization error for non-admin callers or mapped HTTP errors when rendering, validation, or deployment fails.

func (*SwarmHandler) GetConfig

GetConfig returns details for a single swarm config.

It delegates to the swarm service and maps missing configs to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the environment and swarm config to inspect.

Returns the config summary when the config exists. Returns `404 Not Found` when the config does not exist or another mapped HTTP error when inspection fails.

func (*SwarmHandler) GetJoinTokens

GetJoinTokens returns the current swarm worker and manager join tokens.

It delegates to the swarm service and wraps the returned tokens in the standard API response shape.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose join tokens should be returned.

Returns the current worker and manager join tokens. Returns a mapped HTTP error when token lookup fails.

func (*SwarmHandler) GetNode

GetNode returns detailed information for a single swarm node.

It loads the node through the swarm service and translates not-found conditions into the HTTP error returned by the API.

ctx carries request-scoped cancellation and auth context. input identifies the environment and swarm node to inspect.

Returns a successful response containing the node summary. Returns `404 Not Found` when the node does not exist or another mapped HTTP error when the inspection fails.

func (*SwarmHandler) GetNodeAgentDeployment

GetNodeAgentDeployment returns deployment snippets for attaching an Arcane agent to a swarm node.

It requires admin privileges, ensures a hidden node-agent environment exists for the target node, optionally rotates the environment token, generates edge deployment snippets, and refreshes the node summary so the response includes the latest agent status.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and node and optionally requests token rotation.

Returns deployment snippets, the backing environment ID, and the refreshed agent status. Returns an authorization error for non-admin callers, `401 Unauthorized` when the current user cannot be resolved, `404 Not Found` when the node does not exist, or `500 Internal Server Error` when environment provisioning or snippet generation fails.

func (*SwarmHandler) GetNodeIdentity

GetNodeIdentity returns the swarm identity of the node serving the current request.

It is used by edge agents and local nodes to report their swarm node ID, hostname, role, engine version, and swarm participation state.

ctx carries request-scoped cancellation and auth context. The input value is unused because the endpoint has no parameters.

Returns the local swarm node identity when it can be determined. Returns `500 Internal Server Error` when the swarm service is unavailable or identity discovery fails.

func (*SwarmHandler) GetSecret

GetSecret returns details for a single swarm secret.

It delegates to the swarm service and maps missing secrets to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the environment and secret to inspect.

Returns the secret summary when the secret exists. Returns `404 Not Found` when the secret does not exist or another mapped HTTP error when inspection fails.

func (*SwarmHandler) GetService

GetService returns detailed information for a single swarm service.

It loads the service by ID through the swarm service and converts lookup failures into the HTTP errors expected by the API.

ctx carries request-scoped cancellation and auth context. input identifies the environment and the swarm service to inspect.

Returns a successful response containing the service inspection payload. Returns `404 Not Found` when the service does not exist and other mapped HTTP errors when the inspection fails.

func (*SwarmHandler) GetStack

GetStack returns detailed information for a specific swarm stack.

It looks up the stack by name through the swarm service and maps missing stacks to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the environment and stack name to inspect.

Returns the stack inspection payload when the stack exists. Returns `404 Not Found` when the stack does not exist or another mapped HTTP error when inspection fails.

func (*SwarmHandler) GetStackSource

GetStackSource returns the stored source content for a swarm stack.

It requires admin privileges because stack source content can include sensitive configuration, and it maps missing stack sources to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the environment and stack whose saved source should be loaded.

Returns the stored compose and environment source for the stack. Returns an authorization error for non-admin callers, `404 Not Found` when no saved source exists, or another mapped HTTP error when loading fails.

func (*SwarmHandler) GetSwarmInfo

func (h *SwarmHandler) GetSwarmInfo(ctx context.Context, input *GetSwarmInfoInput) (*GetSwarmInfoOutput, error)

GetSwarmInfo returns the current swarm cluster metadata for an environment.

It delegates to the swarm service to inspect the local swarm state and maps service-layer failures to the API's HTTP error model.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose swarm metadata should be returned.

Returns the current swarm information when swarm mode is available. Returns a mapped HTTP error when swarm inspection fails.

func (*SwarmHandler) GetSwarmStatus

func (h *SwarmHandler) GetSwarmStatus(ctx context.Context, input *GetSwarmStatusInput) (*GetSwarmStatusOutput, error)

GetSwarmInfo returns the current swarm cluster metadata for an environment.

It delegates to the swarm service to inspect the local swarm state and maps service-layer failures to the API's HTTP error model.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose swarm metadata should be returned.

Returns the current swarm information when swarm mode is available. Returns a mapped HTTP error when swarm inspection fails.

func (*SwarmHandler) GetUnlockKey

GetUnlockKey returns the current swarm manager unlock key.

It delegates to the swarm service and exposes the unlock key in the standard API response envelope.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose unlock key should be returned.

Returns the current manager unlock key. Returns a mapped HTTP error when the unlock key cannot be retrieved.

func (*SwarmHandler) InitSwarm

func (h *SwarmHandler) InitSwarm(ctx context.Context, input *InitSwarmInput) (*InitSwarmOutput, error)

InitSwarm initializes swarm mode on the target engine.

It requires admin privileges, delegates the initialization request to the swarm service, and records an audit event that includes the created node ID.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the swarm initialization request body.

Returns the initialized swarm node ID and any other initialization details. Returns an authorization error for non-admin callers or mapped HTTP errors when initialization fails.

func (*SwarmHandler) JoinSwarm

func (h *SwarmHandler) JoinSwarm(ctx context.Context, input *JoinSwarmInput) (*JoinSwarmOutput, error)

JoinSwarm joins the target engine to an existing swarm cluster.

It requires admin privileges, forwards the join request to the swarm service, and records the remote manager addresses in the audit metadata.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the join request body.

Returns a confirmation response when the engine joins successfully. Returns an authorization error for non-admin callers or mapped HTTP errors when the join operation fails.

func (*SwarmHandler) LeaveSwarm

func (h *SwarmHandler) LeaveSwarm(ctx context.Context, input *LeaveSwarmInput) (*LeaveSwarmOutput, error)

LeaveSwarm removes the target engine from its current swarm cluster.

It requires admin privileges, forwards the leave request to the swarm service, and records whether forced removal was requested.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the leave request body.

Returns a confirmation response when the engine leaves successfully. Returns an authorization error for non-admin callers or mapped HTTP errors when the leave operation fails.

func (*SwarmHandler) ListConfigs

ListConfigs lists swarm configs in the current environment.

It delegates to the swarm service and normalizes nil config slices to empty arrays in the response body.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose configs should be listed.

Returns the current swarm configs. Returns a mapped HTTP error when config enumeration fails.

func (*SwarmHandler) ListNodeTasks

ListNodeTasks lists tasks currently associated with a swarm node.

It applies search, sort, and pagination inputs and normalizes nil task lists to empty arrays in the API response.

ctx carries request-scoped cancellation and auth context. input identifies the node and provides optional filtering and pagination values.

Returns a paginated list of node task summaries. Returns a mapped HTTP error when the underlying lookup fails.

func (*SwarmHandler) ListNodes

ListNodes lists swarm nodes for an environment and returns a paginated response.

It applies the requested search, sort, and pagination values and guarantees a non-nil node slice in the response body.

ctx carries request-scoped cancellation and auth context. input supplies the environment ID plus optional filtering and pagination values.

Returns a paginated list of node summaries. Returns a mapped HTTP error when node enumeration fails.

func (*SwarmHandler) ListSecrets

ListSecrets lists swarm secrets in the current environment.

It delegates to the swarm service and normalizes nil secret slices to empty arrays in the response body.

ctx carries request-scoped cancellation and auth context. input identifies the environment whose secrets should be listed.

Returns the current swarm secrets. Returns a mapped HTTP error when secret enumeration fails.

func (*SwarmHandler) ListServiceTasks

ListServiceTasks lists tasks belonging to a specific swarm service.

It applies the requested search, sort, and pagination values, delegates the lookup to the swarm service, and normalizes nil task slices to empty arrays.

ctx carries request-scoped cancellation and auth context. input identifies the service and supplies optional filtering and pagination fields.

Returns a paginated list of task summaries for the service. Returns a mapped HTTP error when the swarm task lookup fails.

func (*SwarmHandler) ListServices

ListServices lists swarm services for an environment and returns a paginated response.

It normalizes the search, sort, and pagination fields from input, delegates the lookup to the swarm service, and returns an empty slice instead of nil when no services are found.

ctx carries request-scoped cancellation and auth context. input supplies the environment ID plus optional search, sorting, and pagination values.

Returns a successful response containing service summaries and pagination metadata. Returns an HTTP-shaped error if the swarm service is unavailable or if the underlying swarm lookup fails.

func (*SwarmHandler) ListStackServices

ListStackServices lists services belonging to a swarm stack.

It applies search, sort, and pagination options, ensures the response uses an empty slice instead of nil, and maps missing stacks to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the stack and provides optional filtering and pagination fields.

Returns a paginated list of service summaries for the stack. Returns `404 Not Found` when the stack does not exist or another mapped HTTP error when the lookup fails.

func (*SwarmHandler) ListStackTasks

ListStackTasks lists tasks belonging to a swarm stack.

It applies search, sort, and pagination options, ensures the response uses an empty slice instead of nil, and maps missing stacks to `404 Not Found`.

ctx carries request-scoped cancellation and auth context. input identifies the stack and provides optional filtering and pagination fields.

Returns a paginated list of task summaries for the stack. Returns `404 Not Found` when the stack does not exist or another mapped HTTP error when the lookup fails.

func (*SwarmHandler) ListStacks

ListStacks lists swarm stacks for the current environment.

It applies search, sort, and pagination values supplied by the caller and returns an empty stack slice instead of nil when no stacks are present.

ctx carries request-scoped cancellation and auth context. input supplies optional filtering and pagination values.

Returns a paginated list of stack summaries. Returns a mapped HTTP error when stack enumeration fails.

func (*SwarmHandler) ListTasks

ListTasks lists swarm tasks across the current environment.

It applies the requested search, sort, and pagination fields and guarantees an empty task slice when no tasks are returned.

ctx carries request-scoped cancellation and auth context. input supplies optional filtering and pagination values.

Returns a paginated task listing for the environment. Returns a mapped HTTP error when task enumeration fails.

func (*SwarmHandler) PromoteNode

PromoteNode promotes a swarm worker to manager.

It requires admin privileges, performs the promotion through the swarm service, and records an audit event after the role change completes.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the node to promote.

Returns a confirmation response when the promotion succeeds. Returns an authorization error for non-admin callers or a mapped HTTP error when the promotion fails.

func (*SwarmHandler) RenderStackConfig

RenderStackConfig renders and validates a swarm stack configuration without deploying it.

It delegates to the swarm service to parse the provided compose and environment content and returns the normalized render result.

ctx carries request-scoped cancellation and auth context. input provides the stack render request body.

Returns the rendered compose content together with discovered resource names. Returns a mapped HTTP error when parsing, interpolation, or rendering fails.

func (*SwarmHandler) RollbackService

RollbackService requests a server-side rollback for a swarm service.

It requires admin privileges, delegates the rollback to the swarm service, and records an audit event describing the mutation.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and service to roll back.

Returns a successful response containing any warnings reported by Docker. Returns an authorization error for non-admin callers or mapped HTTP errors when the rollback cannot be performed.

func (*SwarmHandler) RotateJoinTokens

RotateJoinTokens rotates the swarm worker and or manager join tokens.

It requires admin privileges, delegates the rotation request to the swarm service, and records which token classes were rotated.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the requested token-rotation flags.

Returns a confirmation response when rotation succeeds. Returns an authorization error for non-admin callers or mapped HTTP errors when token rotation fails.

func (*SwarmHandler) ScaleService

ScaleService changes the replica count of a swarm service.

It requires admin privileges, forwards the requested replica count to the swarm service, and records the new replica target in the audit metadata.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the service and supplies the desired replica count.

Returns a successful response containing any warnings reported by Docker. Returns an authorization error for non-admin callers or mapped HTTP errors when scaling is invalid or the update fails.

func (*SwarmHandler) UnlockSwarm

func (h *SwarmHandler) UnlockSwarm(ctx context.Context, input *UnlockSwarmInput) (*UnlockSwarmOutput, error)

UnlockSwarm unlocks a swarm manager using the supplied unlock key.

It requires admin privileges, delegates the unlock request to the swarm service, and emits an audit event after success.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the unlock request body.

Returns a confirmation response when the manager is unlocked. Returns an authorization error for non-admin callers or mapped HTTP errors when the unlock operation fails.

func (*SwarmHandler) UpdateConfig

UpdateConfig updates an existing swarm config.

It requires admin privileges, delegates the update to the swarm service, and records an audit event containing the config ID and updated name.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the config to update and contains the replacement specification.

Returns the updated config summary. Returns an authorization error for non-admin callers or mapped HTTP errors when the update fails.

func (*SwarmHandler) UpdateNode

UpdateNode updates mutable settings on a swarm node.

It requires admin privileges, forwards the requested node changes to the swarm service, and records an audit event when the mutation succeeds.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the node to update and contains the requested changes.

Returns a confirmation response when the update succeeds. Returns an authorization error for non-admin callers or a mapped HTTP error when the node update fails.

func (*SwarmHandler) UpdateSecret

UpdateSecret updates an existing swarm secret.

It requires admin privileges, delegates the update to the swarm service, and records an audit event containing the secret ID and updated name.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the secret to update and contains the replacement specification.

Returns the updated secret summary. Returns an authorization error for non-admin callers or mapped HTTP errors when the update fails.

func (*SwarmHandler) UpdateService

UpdateService updates an existing swarm service.

It requires admin privileges, submits the requested versioned update to the swarm service, and emits an audit event when the update succeeds.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the service to update and provides the replacement specification and options.

Returns a successful response containing any Docker warnings. Returns an authorization error for non-admin callers or mapped HTTP errors when the update request is invalid or the underlying update fails.

func (*SwarmHandler) UpdateStackSource

UpdateStackSource persists the saved compose and env source for a swarm stack.

It requires admin privileges because stack source content can include sensitive configuration. The stack name comes from the route, and the body contains the replacement source files to save.

func (*SwarmHandler) UpdateSwarmSpec

func (h *SwarmHandler) UpdateSwarmSpec(ctx context.Context, input *UpdateSwarmSpecInput) (*UpdateSwarmSpecOutput, error)

UpdateSwarmSpec updates the swarm cluster specification.

It requires admin privileges, forwards the request to the swarm service, and records an audit event after the spec change succeeds.

ctx carries request-scoped cancellation, auth, and audit context. input identifies the environment and contains the replacement swarm spec.

Returns a confirmation response when the spec update succeeds. Returns an authorization error for non-admin callers or mapped HTTP errors when the spec update fails.

type SwarmNodeAgentDeployment

type SwarmNodeAgentDeployment struct {
	DeploymentSnippet
	EnvironmentID string                     `json:"environmentId"`
	Agent         swarmtypes.NodeAgentStatus `json:"agent"`
}

type SwarmPaginatedResponse

type SwarmPaginatedResponse[T any] struct {
	Success    bool                    `json:"success"`
	Data       []T                     `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

type SyncContainerRegistriesInput

type SyncContainerRegistriesInput struct {
	Body containerregistry.SyncRequest
}

type SyncContainerRegistriesOutput

type SyncContainerRegistriesOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type SyncEnvironmentInput

type SyncEnvironmentInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type SyncEnvironmentOutput

type SyncEnvironmentOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type SyncGitRepositoriesInput

type SyncGitRepositoriesInput struct {
	Body gitops.RepositorySyncRequest
}

type SyncGitRepositoriesOutput

type SyncGitRepositoriesOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type SystemHandler

type SystemHandler struct {
	// contains filtered or unexported fields
}

SystemHandler handles system management endpoints.

func (*SystemHandler) CheckUpgradeAvailable

func (h *SystemHandler) CheckUpgradeAvailable(ctx context.Context, input *CheckUpgradeInput) (*CheckUpgradeOutput, error)

CheckUpgradeAvailable checks if a system upgrade is available.

func (*SystemHandler) ConvertDockerRun

func (h *SystemHandler) ConvertDockerRun(ctx context.Context, input *ConvertDockerRunInput) (*ConvertDockerRunOutput, error)

ConvertDockerRun converts a docker run command to docker-compose format.

func (*SystemHandler) GetDockerInfo

func (h *SystemHandler) GetDockerInfo(ctx context.Context, input *GetDockerInfoInput) (*GetDockerInfoOutput, error)

GetDockerInfo returns Docker daemon version and system information.

func (*SystemHandler) Health

Health checks if the Docker daemon is responsive.

func (*SystemHandler) PruneAll

func (h *SystemHandler) PruneAll(ctx context.Context, input *PruneAllInput) (*PruneAllOutput, error)

PruneAll removes unused Docker resources.

func (*SystemHandler) StartAllContainers

func (h *SystemHandler) StartAllContainers(ctx context.Context, input *StartAllContainersInput) (*StartAllContainersOutput, error)

StartAllContainers starts all Docker containers.

func (*SystemHandler) StartAllStoppedContainers

StartAllStoppedContainers starts all stopped Docker containers.

func (*SystemHandler) StopAllContainers

func (h *SystemHandler) StopAllContainers(ctx context.Context, input *StopAllContainersInput) (*StopAllContainersOutput, error)

StopAllContainers stops all running Docker containers.

func (*SystemHandler) TriggerUpgrade

func (h *SystemHandler) TriggerUpgrade(ctx context.Context, input *TriggerUpgradeInput) (*TriggerUpgradeOutput, error)

TriggerUpgrade triggers a system upgrade.

type SystemHealthInput

type SystemHealthInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type SystemHealthOutput

type SystemHealthOutput struct {
	Status int `status:"200"`
}

type TemplateHandler

type TemplateHandler struct {
	// contains filtered or unexported fields
}

TemplateHandler handles template management endpoints.

func (*TemplateHandler) CreateRegistry

CreateRegistry creates a new template registry.

func (*TemplateHandler) CreateTemplate

func (h *TemplateHandler) CreateTemplate(ctx context.Context, input *CreateTemplateInput) (*CreateTemplateOutput, error)

CreateTemplate creates a new template.

func (*TemplateHandler) DeleteRegistry

DeleteRegistry deletes a template registry.

func (*TemplateHandler) DeleteTemplate

func (h *TemplateHandler) DeleteTemplate(ctx context.Context, input *DeleteTemplateInput) (*DeleteTemplateOutput, error)

DeleteTemplate deletes a template.

func (*TemplateHandler) DownloadTemplate

DownloadTemplate downloads a remote template to local storage.

func (*TemplateHandler) FetchRegistry

FetchRegistry fetches templates from a remote registry URL.

func (*TemplateHandler) GetAllTemplates

GetAllTemplates returns all templates without pagination.

func (*TemplateHandler) GetDefaultTemplates

GetDefaultTemplates returns the default compose and env templates.

func (*TemplateHandler) GetGlobalVariables

GetGlobalVariables returns global template variables.

func (*TemplateHandler) GetRegistries

GetRegistries returns all template registries.

func (*TemplateHandler) GetTemplate

func (h *TemplateHandler) GetTemplate(ctx context.Context, input *GetTemplateInput) (*GetTemplateOutput, error)

GetTemplate returns a template by ID.

func (*TemplateHandler) GetTemplateContent

GetTemplateContent returns template content with parsed data.

func (*TemplateHandler) ListTemplates

func (h *TemplateHandler) ListTemplates(ctx context.Context, input *ListTemplatesInput) (*ListTemplatesOutput, error)

ListTemplates returns a paginated list of templates.

func (*TemplateHandler) SaveDefaultTemplates

SaveDefaultTemplates saves the default compose and env templates.

func (*TemplateHandler) UpdateGlobalVariables

UpdateGlobalVariables updates global template variables.

func (*TemplateHandler) UpdateRegistry

UpdateRegistry updates a template registry.

func (*TemplateHandler) UpdateTemplate

func (h *TemplateHandler) UpdateTemplate(ctx context.Context, input *UpdateTemplateInput) (*UpdateTemplateOutput, error)

UpdateTemplate updates a template.

type TemplatePaginatedResponse

type TemplatePaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []template.Template     `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

TemplatePaginatedResponse is the paginated response for templates.

type TestAppriseNotificationInput

type TestAppriseNotificationInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Type          string `query:"type" default:"simple"`
}

type TestAppriseNotificationOutput

type TestAppriseNotificationOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type TestConnectionInput

type TestConnectionInput struct {
	ID   string                             `path:"id" doc:"Environment ID"`
	Body *environment.TestConnectionRequest `json:"body,omitempty"`
}

type TestConnectionOutput

type TestConnectionOutput struct {
	Body base.ApiResponse[environment.Test]
}

type TestContainerRegistryInput

type TestContainerRegistryInput struct {
	ID string `path:"id" doc:"Registry ID"`
}

type TestContainerRegistryOutput

type TestContainerRegistryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type TestGitRepositoryInput

type TestGitRepositoryInput struct {
	ID     string `path:"id" doc:"Repository ID"`
	Branch string `query:"branch" doc:"Branch to test (optional, uses repository default branch when omitted)"`
}

type TestGitRepositoryOutput

type TestGitRepositoryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type TestNotificationInput

type TestNotificationInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Provider      string `path:"provider" doc:"Provider"`
	Type          string `query:"type" default:"simple"`
}

type TestNotificationOutput

type TestNotificationOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type TriggerUpgradeInput

type TriggerUpgradeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
}

type TriggerUpgradeOutput

type TriggerUpgradeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UnarchiveProjectInput

type UnarchiveProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
}

type UnarchiveProjectOutput

type UnarchiveProjectOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UnignoreVulnerabilityInput

type UnignoreVulnerabilityInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	IgnoreID      string `path:"ignoreId" doc:"Ignore record ID"`
}

type UnignoreVulnerabilityOutput

type UnignoreVulnerabilityOutput struct {
	Body base.ApiResponse[struct{}]
}

type UnlockSwarmInput

type UnlockSwarmInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmUnlockRequest
}

type UnlockSwarmOutput

type UnlockSwarmOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateApiKeyInput

type UpdateApiKeyInput struct {
	ID   string `path:"id" doc:"API key ID"`
	Body apikey.UpdateApiKey
}

type UpdateApiKeyOutput

type UpdateApiKeyOutput struct {
	Body base.ApiResponse[apikey.ApiKey]
}

type UpdateContainerInput

type UpdateContainerInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ContainerID   string `path:"containerId" doc:"Container ID to update"`
}

type UpdateContainerOutput

type UpdateContainerOutput struct {
	Body base.ApiResponse[*updater.Result]
}

type UpdateContainerRegistryInput

type UpdateContainerRegistryInput struct {
	ID   string `path:"id" doc:"Registry ID"`
	Body models.UpdateContainerRegistryRequest
}

type UpdateContainerRegistryOutput

type UpdateContainerRegistryOutput struct {
	Body base.ApiResponse[containerregistry.ContainerRegistry]
}

type UpdateEnvironmentInput

type UpdateEnvironmentInput struct {
	ID   string `path:"id" doc:"Environment ID"`
	Body environment.Update
}

type UpdateEnvironmentOutput

type UpdateEnvironmentOutput struct {
	Body base.ApiResponse[environment.Environment]
}

type UpdateGitOpsSyncInput

type UpdateGitOpsSyncInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SyncID        string `path:"syncId" doc:"Sync ID"`
	Body          gitops.UpdateSyncRequest
}

type UpdateGitOpsSyncOutput

type UpdateGitOpsSyncOutput struct {
	Body base.ApiResponse[gitops.GitOpsSync]
}

type UpdateGitRepositoryInput

type UpdateGitRepositoryInput struct {
	ID   string `path:"id" doc:"Repository ID"`
	Body models.UpdateGitRepositoryRequest
}

type UpdateGitRepositoryOutput

type UpdateGitRepositoryOutput struct {
	Body base.ApiResponse[gitops.GitRepository]
}

type UpdateGlobalVariablesInput

type UpdateGlobalVariablesInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          env.Summary
}

type UpdateGlobalVariablesOutput

type UpdateGlobalVariablesOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateHeartbeatInput

type UpdateHeartbeatInput struct {
	ID string `path:"id" doc:"Environment ID"`
}

type UpdateHeartbeatOutput

type UpdateHeartbeatOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateJobSchedulesInput

type UpdateJobSchedulesInput struct {
	ID   string             `path:"id" doc:"Environment ID"`
	Body jobschedule.Update `doc:"Job schedule update data"`
}

type UpdateJobSchedulesOutput

type UpdateJobSchedulesOutput struct {
	Body base.ApiResponse[jobschedule.Config]
}

type UpdateProjectIncludeInput

type UpdateProjectIncludeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	Body          project.UpdateIncludeFile
}

type UpdateProjectIncludeOutput

type UpdateProjectIncludeOutput struct {
	Body base.ApiResponse[project.Details]
}

type UpdateProjectInput

type UpdateProjectInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ProjectID     string `path:"projectId" doc:"Project ID"`
	Body          project.UpdateProject
}

type UpdateProjectOutput

type UpdateProjectOutput struct {
	Body base.ApiResponse[project.Details]
}

type UpdateSettingsInput

type UpdateSettingsInput struct {
	EnvironmentID string          `path:"id" doc:"Environment ID"`
	Body          settings.Update `doc:"Settings update data"`
}

type UpdateSettingsOutput

type UpdateSettingsOutput struct {
	Body base.ApiResponse[[]settings.SettingDto]
}

type UpdateSwarmConfigInput

type UpdateSwarmConfigInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ConfigID      string `path:"configId" doc:"Config ID"`
	Body          swarmtypes.ConfigUpdateRequest
}

type UpdateSwarmConfigOutput

type UpdateSwarmConfigOutput struct {
	Body base.ApiResponse[swarmtypes.ConfigSummary]
}

type UpdateSwarmNodeInput

type UpdateSwarmNodeInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	NodeID        string `path:"nodeId" doc:"Node ID"`
	Body          swarmtypes.NodeUpdateRequest
}

type UpdateSwarmNodeOutput

type UpdateSwarmNodeOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateSwarmSecretInput

type UpdateSwarmSecretInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	SecretID      string `path:"secretId" doc:"Secret ID"`
	Body          swarmtypes.SecretUpdateRequest
}

type UpdateSwarmSecretOutput

type UpdateSwarmSecretOutput struct {
	Body base.ApiResponse[swarmtypes.SecretSummary]
}

type UpdateSwarmServiceInput

type UpdateSwarmServiceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	ServiceID     string `path:"serviceId" doc:"Service ID"`
	Body          swarmtypes.ServiceUpdateRequest
}

type UpdateSwarmServiceOutput

type UpdateSwarmServiceOutput struct {
	Body base.ApiResponse[swarmtypes.ServiceUpdateResponse]
}

type UpdateSwarmSpecInput

type UpdateSwarmSpecInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Body          swarmtypes.SwarmUpdateRequest
}

type UpdateSwarmSpecOutput

type UpdateSwarmSpecOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateSwarmStackSourceInput

type UpdateSwarmStackSourceInput struct {
	EnvironmentID string `path:"id" doc:"Environment ID"`
	Name          string `path:"name" doc:"Stack name"`
	Body          swarmtypes.StackSourceUpdateRequest
}

type UpdateSwarmStackSourceOutput

type UpdateSwarmStackSourceOutput struct {
	Body base.ApiResponse[swarmtypes.StackSource]
}

type UpdateTemplateInput

type UpdateTemplateInput struct {
	ID   string `path:"id" doc:"Template ID"`
	Body template.UpdateRequest
}

type UpdateTemplateOutput

type UpdateTemplateOutput struct {
	Body base.ApiResponse[template.Template]
}

type UpdateTemplateRegistryInput

type UpdateTemplateRegistryInput struct {
	ID   string `path:"id" doc:"Registry ID"`
	Body template.UpdateRegistryRequest
}

type UpdateTemplateRegistryOutput

type UpdateTemplateRegistryOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UpdateUserInput

type UpdateUserInput struct {
	UserID string `path:"userId" doc:"User ID"`
	Body   user.UpdateUser
}

type UpdateUserOutput

type UpdateUserOutput struct {
	Body base.ApiResponse[user.User]
}

type UpdateWebhookInput

type UpdateWebhookInput struct {
	EnvironmentID string               `path:"id" doc:"Environment ID"`
	WebhookID     string               `path:"webhookId" doc:"Webhook ID"`
	Body          *webhook.UpdateInput `required:"true"`
}

type UpdateWebhookOutput

type UpdateWebhookOutput struct {
	Body base.ApiResponse[any]
}

type UpdaterHandler

type UpdaterHandler struct {
	// contains filtered or unexported fields
}

UpdaterHandler provides Huma-based updater management endpoints.

func (*UpdaterHandler) GetUpdaterHistory

func (h *UpdaterHandler) GetUpdaterHistory(ctx context.Context, input *GetUpdaterHistoryInput) (*GetUpdaterHistoryOutput, error)

GetUpdaterHistory returns the history of update operations.

func (*UpdaterHandler) GetUpdaterStatus

func (h *UpdaterHandler) GetUpdaterStatus(ctx context.Context, input *GetUpdaterStatusInput) (*GetUpdaterStatusOutput, error)

GetUpdaterStatus returns the current status of the updater.

func (*UpdaterHandler) RunUpdater

func (h *UpdaterHandler) RunUpdater(ctx context.Context, input *RunUpdaterInput) (*RunUpdaterOutput, error)

RunUpdater applies pending container updates.

func (*UpdaterHandler) UpdateContainer

func (h *UpdaterHandler) UpdateContainer(ctx context.Context, input *UpdateContainerInput) (*UpdateContainerOutput, error)

UpdateContainer updates a single container by pulling the latest image and applying the appropriate update flow.

type UpgradeCheckResultData

type UpgradeCheckResultData struct {
	CanUpgrade bool   `json:"canUpgrade"`
	Error      bool   `json:"error"`
	Message    string `json:"message"`
}

UpgradeCheckResultData is the response for upgrade check.

type UploadAndRestoreInput

type UploadAndRestoreInput struct {
	EnvironmentID string         `path:"id" doc:"Environment ID"`
	VolumeName    string         `path:"volumeName" doc:"Volume name"`
	RawBody       multipart.Form `contentType:"multipart/form-data"`
}

type UploadAndRestoreOutput

type UploadAndRestoreOutput struct {
	Body base.ApiResponse[base.MessageResponse]
}

type UploadBuildFileInput

type UploadBuildFileInput struct {
	EnvironmentID string         `path:"id" doc:"Environment ID"`
	Path          string         `query:"path" default:"/" doc:"Destination path"`
	RawBody       multipart.Form `contentType:"multipart/form-data"`
}

type UploadFileInput

type UploadFileInput struct {
	EnvironmentID string         `path:"id" doc:"Environment ID"`
	VolumeName    string         `path:"volumeName" doc:"Volume name"`
	Path          string         `query:"path" default:"/" doc:"Destination path"`
	RawBody       multipart.Form `contentType:"multipart/form-data"`
}

type UploadImageInput

type UploadImageInput struct {
	EnvironmentID string         `path:"id" doc:"Environment ID"`
	RawBody       multipart.Form `contentType:"multipart/form-data"`
}

type UploadImageOutput

type UploadImageOutput struct {
	Body base.ApiResponse[image.LoadResult]
}

type UserHandler

type UserHandler struct {
	// contains filtered or unexported fields
}

UserHandler handles user management endpoints.

func (*UserHandler) CreateUser

func (h *UserHandler) CreateUser(ctx context.Context, input *CreateUserInput) (*CreateUserOutput, error)

CreateUser creates a new user.

func (*UserHandler) DeleteUser

func (h *UserHandler) DeleteUser(ctx context.Context, input *DeleteUserInput) (*DeleteUserOutput, error)

DeleteUser deletes a user.

func (*UserHandler) GetUser

func (h *UserHandler) GetUser(ctx context.Context, input *GetUserInput) (*GetUserOutput, error)

GetUser returns a user by ID.

func (*UserHandler) ListUsers

func (h *UserHandler) ListUsers(ctx context.Context, input *ListUsersInput) (*ListUsersOutput, error)

ListUsers returns a paginated list of users.

func (*UserHandler) UpdateUser

func (h *UserHandler) UpdateUser(ctx context.Context, input *UpdateUserInput) (*UpdateUserOutput, error)

UpdateUser updates a user.

type UserPaginatedResponse

type UserPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []user.User             `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
}

UserPaginatedResponse is the paginated response for users.

type VersionHandler

type VersionHandler struct {
	// contains filtered or unexported fields
}

VersionHandler handles version information endpoints.

func (*VersionHandler) GetAppVersion

GetAppVersion returns the current application version.

func (*VersionHandler) GetVersion

func (h *VersionHandler) GetVersion(ctx context.Context, input *GetVersionInput) (*GetVersionOutput, error)

GetVersion returns version information with optional update check.

type VolumeBackupPaginatedResponse

type VolumeBackupPaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []models.VolumeBackup   `json:"data"`
	Pagination base.PaginationResponse `json:"pagination"`
	Warnings   []string                `json:"warnings,omitempty"`
}

type VolumeHandler

type VolumeHandler struct {
	// contains filtered or unexported fields
}

VolumeHandler provides Huma-based volume management endpoints.

func (*VolumeHandler) BackupHasPath

func (h *VolumeHandler) BackupHasPath(ctx context.Context, input *BackupHasPathInput) (*BackupHasPathOutput, error)

func (*VolumeHandler) BrowseDirectory

func (h *VolumeHandler) BrowseDirectory(ctx context.Context, input *BrowseDirectoryInput) (*BrowseDirectoryOutput, error)

func (*VolumeHandler) CreateBackup

func (h *VolumeHandler) CreateBackup(ctx context.Context, input *CreateBackupInput) (*CreateBackupOutput, error)

func (*VolumeHandler) CreateDirectory

func (*VolumeHandler) CreateVolume

func (h *VolumeHandler) CreateVolume(ctx context.Context, input *CreateVolumeInput) (*CreateVolumeOutput, error)

CreateVolume creates a new Docker volume.

func (*VolumeHandler) DeleteBackup

func (h *VolumeHandler) DeleteBackup(ctx context.Context, input *DeleteBackupInput) (*DeleteBackupOutput, error)

func (*VolumeHandler) DeleteFile

func (*VolumeHandler) DownloadBackup

func (h *VolumeHandler) DownloadBackup(ctx context.Context, input *DownloadBackupInput) (*huma.StreamResponse, error)

func (*VolumeHandler) DownloadFile

func (h *VolumeHandler) DownloadFile(ctx context.Context, input *DownloadFileInput) (*huma.StreamResponse, error)

func (*VolumeHandler) GetFileContent

func (h *VolumeHandler) GetFileContent(ctx context.Context, input *GetFileContentInput) (*GetFileContentOutput, error)

func (*VolumeHandler) GetVolume

func (h *VolumeHandler) GetVolume(ctx context.Context, input *GetVolumeInput) (*GetVolumeOutput, error)

GetVolume returns a volume by name.

func (*VolumeHandler) GetVolumeSizes

func (h *VolumeHandler) GetVolumeSizes(ctx context.Context, input *GetVolumeSizesInput) (*GetVolumeSizesOutput, error)

GetVolumeSizes returns disk usage sizes for all volumes. This is a slow operation as it requires calculating disk usage.

func (*VolumeHandler) GetVolumeUsage

func (h *VolumeHandler) GetVolumeUsage(ctx context.Context, input *GetVolumeUsageInput) (*GetVolumeUsageOutput, error)

GetVolumeUsage returns containers using a specific volume.

func (*VolumeHandler) GetVolumeUsageCounts

GetVolumeUsageCounts returns counts of volumes by usage status.

func (*VolumeHandler) ListBackupFiles

func (h *VolumeHandler) ListBackupFiles(ctx context.Context, input *ListBackupFilesInput) (*ListBackupFilesOutput, error)

func (*VolumeHandler) ListBackups

func (h *VolumeHandler) ListBackups(ctx context.Context, input *ListBackupsInput) (*ListBackupsOutput, error)

func (*VolumeHandler) ListVolumes

func (h *VolumeHandler) ListVolumes(ctx context.Context, input *ListVolumesInput) (*ListVolumesOutput, error)

ListVolumes returns a paginated list of volumes.

func (*VolumeHandler) PruneVolumes

func (h *VolumeHandler) PruneVolumes(ctx context.Context, input *PruneVolumesInput) (*PruneVolumesOutput, error)

PruneVolumes removes all unused Docker volumes.

func (*VolumeHandler) RemoveVolume

func (h *VolumeHandler) RemoveVolume(ctx context.Context, input *RemoveVolumeInput) (*RemoveVolumeOutput, error)

RemoveVolume removes a Docker volume.

func (*VolumeHandler) RestoreBackup

func (h *VolumeHandler) RestoreBackup(ctx context.Context, input *RestoreBackupInput) (*RestoreBackupOutput, error)

func (*VolumeHandler) RestoreBackupFiles

func (h *VolumeHandler) RestoreBackupFiles(ctx context.Context, input *RestoreBackupFilesInput) (*RestoreBackupFilesOutput, error)

func (*VolumeHandler) UploadAndRestore

func (h *VolumeHandler) UploadAndRestore(ctx context.Context, input *UploadAndRestoreInput) (*UploadAndRestoreOutput, error)

func (*VolumeHandler) UploadFile

type VolumePaginatedResponse

type VolumePaginatedResponse struct {
	Success    bool                    `json:"success"`
	Data       []volumetypes.Volume    `json:"data"`
	Counts     VolumeUsageCountsData   `json:"counts"`
	Pagination base.PaginationResponse `json:"pagination"`
}

VolumePaginatedResponse is the paginated response for volumes.

type VolumePruneReportData

type VolumePruneReportData struct {
	VolumesDeleted []string `json:"volumesDeleted,omitempty"`
	SpaceReclaimed uint64   `json:"spaceReclaimed"`
}

VolumePruneReportData represents the result of a volume prune operation. This is a local type to avoid schema naming conflicts with image.PruneReport.

type VolumeSizeInfo

type VolumeSizeInfo struct {
	Name     string `json:"name"`
	Size     int64  `json:"size"`
	RefCount int64  `json:"refCount"`
}

VolumeSizeInfo represents size information for a single volume.

type VolumeUsageCountsData

type VolumeUsageCountsData struct {
	Inuse  int `json:"inuse"`
	Unused int `json:"unused"`
	Total  int `json:"total"`
}

VolumeUsageCountsData represents the counts of volumes by usage status. This is a local type to avoid schema naming conflicts with image.UsageCounts.

type VolumeUsageResponse

type VolumeUsageResponse struct {
	InUse      bool     `json:"inUse"`
	Containers []string `json:"containers"`
}

VolumeUsageResponse represents volume usage information.

type VulnerabilityHandler

type VulnerabilityHandler struct {
	// contains filtered or unexported fields
}

VulnerabilityHandler provides Huma-based vulnerability scanning endpoints.

func (*VulnerabilityHandler) GetEnvironmentSummary

GetEnvironmentSummary returns aggregated vulnerability info for the current environment.

func (*VulnerabilityHandler) GetScanResult

GetScanResult retrieves the vulnerability scan result for an image.

func (*VulnerabilityHandler) GetScanSummaries

GetScanSummaries retrieves scan summaries for a list of image IDs.

func (*VulnerabilityHandler) GetScanSummary

GetScanSummary retrieves just the vulnerability summary for an image.

func (*VulnerabilityHandler) GetScannerStatus

GetScannerStatus checks if the vulnerability scanner is available.

func (*VulnerabilityHandler) IgnoreVulnerability

IgnoreVulnerability creates an ignore record for a vulnerability.

func (*VulnerabilityHandler) ListAllVulnerabilities

ListAllVulnerabilities returns a paginated list of vulnerabilities across all images.

func (*VulnerabilityHandler) ListAllVulnerabilityImageOptions

ListAllVulnerabilityImageOptions returns available image options for vulnerability filtering.

func (*VulnerabilityHandler) ListIgnoredVulnerabilities

ListIgnoredVulnerabilities returns a list of ignored vulnerabilities.

func (*VulnerabilityHandler) ListImageVulnerabilities

ListImageVulnerabilities returns a paginated list of vulnerabilities for an image.

func (*VulnerabilityHandler) ScanImage

ScanImage initiates a vulnerability scan for an image.

func (*VulnerabilityHandler) UnignoreVulnerability

UnignoreVulnerability removes an ignore record for a vulnerability.

type WebhookHandler

type WebhookHandler struct {
	// contains filtered or unexported fields
}

func (*WebhookHandler) CreateWebhook

func (h *WebhookHandler) CreateWebhook(ctx context.Context, input *CreateWebhookInput) (*CreateWebhookOutput, error)

CreateWebhook creates a new webhook and returns the raw token (shown once only).

func (*WebhookHandler) DeleteWebhook

func (h *WebhookHandler) DeleteWebhook(ctx context.Context, input *DeleteWebhookInput) (*DeleteWebhookOutput, error)

DeleteWebhook removes a webhook.

func (*WebhookHandler) ListWebhooks

func (h *WebhookHandler) ListWebhooks(ctx context.Context, input *ListWebhooksInput) (*ListWebhooksOutput, error)

ListWebhooks returns all webhooks for an environment (tokens are masked).

func (*WebhookHandler) UpdateWebhook

func (h *WebhookHandler) UpdateWebhook(ctx context.Context, input *UpdateWebhookInput) (*UpdateWebhookOutput, error)

UpdateWebhook updates a webhook's enabled state.

Jump to

Keyboard shortcuts

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