Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ConfigurationErrorCodeEnvFileUnreadable is the ConfigurationError code reported // alongside ErrProjectEnvUnreadable. ConfigurationErrorCodeEnvFileUnreadable = "env_file_unreadable" )
Variables ¶
View Source
var ( ErrBadRequest = errors.New("kind: bad request") ErrValidation = errors.New("kind: validation failed") ErrForbidden = errors.New("kind: forbidden") ErrNotFound = errors.New("kind: not found") ErrConflict = errors.New("kind: conflict") ErrTimeout = errors.New("kind: timeout") ErrInsufficientStorage = errors.New("kind: insufficient storage") ErrFeatureDisabled = Classify(ErrForbidden, errors.New("feature disabled")) ErrInvalidToken = errors.New("invalid token") ErrExpiredToken = errors.New("token expired") ErrTokenVersionMismatch = errors.New("token version mismatch") ErrUserNotFound = errors.New("user not found") ErrAmbiguousUserEmail = Classify(ErrConflict, errors.New("multiple accounts share this email")) ErrTokenValidation = Classify(ErrUnauthorized, errors.New("Invalid token claims")) ErrSessionRevoked = Classify(ErrUnauthorized, errors.New("Session has been revoked")) ErrUpgradeInProgress = Classify(ErrConflict, errors.New("an upgrade is already in progress")) ErrUpdateAllInProgress = Classify(ErrConflict, errors.New("an update-all job is already in progress")) ErrUpdaterNoContainersMatched = Classify(ErrBadRequest, errors.New("no compose-managed containers matched the requested resources")) ErrTemplateNotFound = Classify(ErrNotFound, errors.New("Template not found")) ErrInvalidEnvKey = Classify(ErrValidation, errors.New("Invalid environment key")) ErrGlobalVariableNotFound = Classify(ErrNotFound, errors.New("Global variable not found")) ErrApnsDisabled = Classify(ErrForbidden, errors.New("Mobile push notifications are disabled")) ErrApnsDeviceNotFound = Classify(ErrNotFound, errors.New("Mobile push device not found")) ErrApnsDeviceConflict = Classify(ErrConflict, errors.New("Mobile push device is already registered")) ErrApnsRelay = Classify(ErrUnavailable, errors.New("Push relay request failed")) ErrGlobalVariableConflict = Classify(ErrConflict, errors.New("Global variable already exists")) ErrGlobalVariableUnknownEnvironment = Classify(ErrValidation, errors.New("One or more environments do not exist")) ErrGlobalVariableScopeRequired = Classify(ErrValidation, errors.New("At least one environment is required when a variable is not scoped to all environments")) ErrGlobalVariableSecretValueRequired = Classify(ErrValidation, errors.New("A new value is required when making a secret variable readable")) ErrImageUntagged = Classify(ErrBadRequest, errors.New("image has no tag; only tagged images can be patched")) ErrImageLocalOnly = Classify(ErrBadRequest, errors.New("locally built image has no registry source to patch from; rebuild it to update its packages")) ErrPatchRequiresContainerdImageStore = Classify( ErrBadRequest, errors.New( "image patching requires Docker's containerd image store; enable the containerd-snapshotter feature in daemon.json and restart Docker", ), ) ErrPatchScanImageMismatch = Classify(ErrBadRequest, errors.New("the selected scan does not belong to this image")) ErrContainerComposeManaged = Classify(ErrConflict, errors.New("container is managed by a compose project; edit it via the project editor")) ErrContainerQuadletManaged = Classify(ErrConflict, errors.New("container is managed by a Podman quadlet; manage it through its systemd unit")) ErrContainerNameTaken = Classify(ErrConflict, errors.New("a container with this name already exists")) ErrInvalidBackupSelection = Classify(ErrBadRequest, errors.New("invalid backup file selection")) ErrSwarmNotEnabled = Classify(ErrBadRequest, errors.New("Swarm mode is not enabled")) ErrPodmanNotDetected = Classify(ErrBadRequest, errors.New("Podman was not detected on this environment")) ErrSwarmManagerRequired = Classify(ErrForbidden, errors.New("Swarm manager access required")) ErrRoleNotFound = Classify(ErrNotFound, errors.New("Role not found")) ErrRoleBuiltIn = Classify(ErrForbidden, errors.New("Built-in role cannot be modified")) ErrRoleNameTaken = Classify(ErrConflict, errors.New("Role name already in use")) ErrRoleUsedByFederatedCredential = Classify(ErrConflict, errors.New("Role is used by a federated credential")) ErrUnknownPermission = Classify(ErrValidation, errors.New("Unknown permission")) ErrRolePermissionEscalation = Classify(ErrForbidden, errors.New("cannot grant a permission you do not hold")) ErrInvalidRoleAssignment = Classify(ErrBadRequest, errors.New("invalid role assignment")) ErrFederatedCredentialNotFound = Classify(ErrNotFound, errors.New("federated credential not found")) ErrFederatedCredentialInvalid = Classify(ErrValidation, errors.New("invalid federated credential")) ErrFederatedCredentialInvalidRequest = Classify(ErrBadRequest, errors.New("invalid federated token exchange request")) ErrFederatedCredentialInvalidGrant = Classify(ErrUnauthorized, errors.New("invalid federated token grant")) ErrFederatedCredentialPermissionEscalation = Classify(ErrForbidden, errors.New("cannot map a federated credential to a role you do not hold")) ErrOidcMappingNotFound = Classify(ErrNotFound, errors.New("OIDC role mapping not found")) ErrOidcMappingEnvManaged = Classify(ErrConflict, errors.New("OIDC role mapping is managed by OIDC_ROLE_MAPPINGS and cannot be edited at runtime")) ErrNoGlobalAdminRemains = Classify(ErrConflict, errors.New("At least one user must retain a global Admin role assignment")) ErrProjectNotFound = Classify(ErrNotFound, errors.New("Project not found")) ErrContainerRegistryNotFound = Classify(ErrNotFound, errors.New("Container registry not found")) ErrProjectArchived = Classify(ErrConflict, errors.New("project is archived and must be unarchived before this action")) ErrProjectMustBeStopped = Classify(ErrConflict, errors.New("project must be stopped before archiving")) ErrProjectWorkspaceConflict = Classify(ErrConflict, errors.New("Project workspace changed; refresh it and try again")) ErrProjectWorkspaceForbidden = Classify(ErrForbidden, errors.New("Forbidden project workspace path")) ErrProjectWorkspaceBadRequest = Classify(ErrBadRequest, errors.New("Invalid project workspace request")) ErrProjectWorkspaceNotFound = Classify(ErrNotFound, errors.New("Project workspace file not found")) ErrVolumeWorkspaceConflict = Classify(ErrConflict, errors.New("Volume workspace changed; refresh it and try again")) ErrVolumeWorkspaceForbidden = Classify(ErrForbidden, errors.New("Forbidden volume workspace path")) ErrVolumeWorkspaceBadRequest = Classify(ErrBadRequest, errors.New("Invalid volume workspace request")) ErrVolumeWorkspaceNotFound = Classify(ErrNotFound, errors.New("Volume workspace file not found")) ErrVolumeRenameInvalid = Classify(ErrBadRequest, errors.New("source and target volume names must be non-empty and different")) ErrVolumeRenameProtected = Classify(ErrBadRequest, errors.New("Arcane's internal volumes cannot be renamed")) ErrVolumeDeleteProtected = Classify(ErrBadRequest, errors.New("Arcane's backup volume cannot be removed")) ErrProjectComposeFileNotFound = Classify(ErrNotFound, errors.New("Project compose file not found")) ErrComposeFileNotFound = Classify(ErrNotFound, errors.New("no compose file found")) ErrComposeFileEnvInvalid = Classify(ErrValidation, errors.New("invalid COMPOSE_FILE selection")) ErrProjectEnvUnreadable = Classify(ErrValidation, errors.New("project env file is not readable")) ErrEnvironmentInvalidProxyTarget = Classify(ErrBadRequest, errors.New("Invalid proxy target URL")) ErrEnvironmentConnectionTestFailed = Classify(ErrBadRequest, errors.New("Environment connection test failed")) ErrUnsafeRemoteURL = Classify(ErrBadRequest, errors.New("Remote URL is not allowed")) ErrImageScanInProgress = Classify(ErrConflict, errors.New("an image update check is already in progress")) ErrVulnerabilityScanNotFound = Classify(ErrNotFound, errors.New("Vulnerability scan not found")) ErrInvalidNotificationPayloadTemplate = Classify(ErrValidation, errors.New("invalid generic webhook payload template")) ErrRedeployAfterSyncFailed = errors.New("redeploy failed") ErrGitOpsSyncProjectBindingBroken = errors.New("GitOps sync project binding broken") ErrUploadSessionNotFound = Classify(ErrNotFound, errors.New("Upload session not found")) ErrUploadSessionIncomplete = Classify(ErrConflict, errors.New("Upload session is incomplete")) ErrUploadKindMismatch = Classify(ErrBadRequest, errors.New("Upload session kind does not match this endpoint")) ErrUploadChunkInvalid = Classify(ErrValidation, errors.New("Invalid upload chunk")) ErrUploadSessionInvalid = Classify(ErrValidation, errors.New("Invalid upload session request")) )
Functions ¶
func Classify ¶ added in v2.6.0
Classify gives err a stable semantic identity without changing its message.
func ClassifyDockerError ¶ added in v2.17.0
Types ¶
type APIError ¶ added in v2.8.1
type APIError struct {
Message string `json:"message"`
Code APIErrorCode `json:"code"`
StatusCode int `json:"statusCode"`
Details any `json:"details,omitempty"`
}
func NewAPIError ¶ added in v2.8.1
func NewAPIError(message string, code APIErrorCode, statusCode int) *APIError
NewAPIError creates a new APIError
func NewAPIErrorWithDetails ¶ added in v2.8.1
func NewAPIErrorWithDetails(message string, code APIErrorCode, statusCode int, details any) *APIError
func ToAPIError ¶ added in v2.8.1
func (*APIError) HTTPStatus ¶ added in v2.8.1
type APIErrorCode ¶ added in v2.8.1
type APIErrorCode string
const ( APIErrorCodeBadRequest APIErrorCode = "BAD_REQUEST" APIErrorCodeForbidden APIErrorCode = "FORBIDDEN" APIErrorCodeFeatureDisabled APIErrorCode = "feature_disabled" APIErrorCodeNotFound APIErrorCode = "NOT_FOUND" APIErrorCodeConflict APIErrorCode = "CONFLICT" APIErrorCodeInternalServerError APIErrorCode = "INTERNAL_SERVER_ERROR" APIErrorCodeDockerAPIError APIErrorCode = "DOCKER_API_ERROR" APIErrorCodeValidationError APIErrorCode = "VALIDATION_ERROR" APIErrorCodeTimeout APIErrorCode = "TIMEOUT" )
type APIErrorResponse ¶ added in v2.8.1
type APIErrorResponse struct {
Success bool `json:"success"`
Error string `json:"error"`
Code APIErrorCode `json:"code"`
Details any `json:"details,omitempty"`
}
type APISuccessResponse ¶ added in v2.8.1
type DockerAPIError ¶ added in v2.8.1
func (*DockerAPIError) Error ¶ added in v2.8.1
func (e *DockerAPIError) Error() string
func (*DockerAPIError) HTTPStatus ¶ added in v2.8.1
func (e *DockerAPIError) HTTPStatus() int
Click to show internal directories.
Click to hide internal directories.