Files
admin b05be0ac11 R-575: the overcommit warning follows the reader's language
memoryVerdict returns the warning's bundle KEY (KeyMemoryOvercommitWarning)
and DeployStack hands it on; the API renders it per request
(deployWarningData). msgHU, whose only use this was, is gone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-05 23:12:59 +02:00

38 lines
2.2 KiB
Go

package stacks
import (
"errors"
)
// R-553 — the deploy path's refusals carry a KIND, so the API can pick its status code without
// reading the customer's Hungarian sentence. The sentences themselves are unchanged (a test pins
// each one byte-for-byte); `internal/util.KindErrorf` builds the message exactly as fmt.Errorf did.
//
// Before this, internal/api/router.go matched „kötelező", „memória", "does not exist" and
// "already deployed" in the error text — so localisation slice 2 would have turned every validation
// refusal into a 500.
var (
// ErrAlreadyDeployed — the stack is already deployed (API: 409).
ErrAlreadyDeployed = errors.New("stack already deployed")
// ErrRequiredField — a required (or password) field was left empty (API: 400).
ErrRequiredField = errors.New("required field empty")
// ErrPathMissing — a path field names something that is not on the filesystem (API: 400).
ErrPathMissing = errors.New("path field does not exist")
// ErrNotEnoughMemory — the memory verdict refused the deploy (API: 400).
ErrNotEnoughMemory = errors.New("not enough memory")
// ErrKeptDataChoice — the app's drive folder already holds old data and the install named neither
// „use my kept data" nor „start fresh" (`09` §3 decision 36; API: 409 with code kept_data_choice).
ErrKeptDataChoice = errors.New("kept data: a choice is needed")
// ErrStackDeploying — R-634 (v0.265.0): a stop or start was asked of a stack whose deploy is still
// running. Refused, because a `compose down` or a second `compose up -d` in the middle of the
// deploy's own `up` makes BOTH fail, and the deploy then records „not deployed" over whatever
// containers the race left behind. Pinned by TestR634_StopAndStartRefuseADeployingStack.
ErrStackDeploying = errors.New("stack is being deployed")
)
// KeyMemoryOvercommitWarning is the soft overcommit warning's bundle key. It travels as a KEY from
// memoryVerdict through DeployStack to the API, which renders it in the request's language (R-575 —
// it used to be rendered here in Hungarian, so an English page showed a Hungarian line). Pinned by
// TestR575_OvercommitWarningFollowsTheLanguage.
const KeyMemoryOvercommitWarning = "err.stacks.memory_overcommit_warning"