Skip to content
SHC Docs

Error code reference

Generated file — do not edit by hand. Regenerate from the repo root with CGO_ENABLED=0 go run scripts/gen-errors-md.go.

Every typed error SHC can raise. Codes follow the pattern X<HTTP><SEQ><MNEMONIC> where HTTP is the HTTP status class (400 = client error, 500 = server error), SEQ is a 3-digit sequence, and MNEMONIC is a 6-or-more-letter hint.

Exit codes: usage and parse errors exit the CLI with 2; every runtime failure — any X-code — exits with 1. The HTTP class does not select the exit code; it travels to scripts as http_status in the -o json error envelope. See the output contract §7.

Total: 1241 error codes across 72 modules. Source of truth is the coded registry (core/coded), populated by each module’s errors.go init().

Source: core/coded
Count: 48

CodeHTTPMessage template
X200002INVFMT200invalid {format_type} format {value}, {detail}
X200003OPFAIL200operation failed {operation}{error}{output}
X200008VLTREN200failed to rename vault secrets {error}
X200009RESFAL200{operation} failed for {resource} {name} {error}
X200013PRSFAL200failed to parse {file} for {purpose} {error}
X200129CFGCHG200collector config changed {changed_keys}, restart required
X200920SUBFAL200subsystem {name} {operation} failed {error}
X400000BADREQ400bad request {detail}
X400007VLTRES400failed to resolve vault reference, {reason}
X400008CTXREQ400context required to {operation}
X400011EMPMNT400empty mount specification
X400015NOTTYP400interactive confirmation required
X400051INVURI400invalid secret-ref uri {value}, {reason} {error}
X400116RLBKTO400must provide to or use interactive selection
X400124VLTREF400could not resolve vault ref {ref}
X400957INVDUR400invalid duration format {duration}
X403000FORBID403permission denied
X404000NOTFND404not found
X404023CLSNOF404cluster {name} not found in config, available {available}
X404101OPRNOF404operation {operation_id} not found or expired
X404128FILNOF404file not found {path}
X404912TNTNFD404tenant {tenant_name} not found
X408000REQTMO408operation timed out
X409000CONFLT409already exists
X429001RATLMT429rate limit exceeded, try again later
X499000REQCNL499request canceled
X500000UNKNOW500unknown error
X500002RNDDEC500render decode failed {detail}
X500005VARNLD500vars not loaded, call load first
X500051SVCNWR500{module} service not wired
X500052SVCNRS500{module} service returned nil result
X500095NOCRTS500missing cluster-CA certs in {certs_dir}, {reason}
X500104SUBCYC500circular or unresolvable subsystem dependency {stacks}
X500107TOKEXE500cluster tokenExec failed {detail}
X500901OPFAIL500{operation} failed {error}{output}
X500935INTUNH500internal server error {error}
X500938RSPENC500failed to encode {what} response {error}
X500939FSMKDR500mkdir failed {path} {error}
X500940FSWRTF500write_file failed {path} {error}
X500941FSREAD500read_file failed {path} {error}
X500942FSRMTF500rmtree failed {path} {error}
X500943FSCPYT500copytree failed {src} {dst} {error}
X500944FSLIST500listdir failed {path} {error}
X500947FSCHWN500chown failed {path} {uid} {gid} {error}
X503020ENTNRD503ent client not ready for {operation}
X503999RTENYI503{feature} not yet wired
X504000DLNEXC504operation timed out
X507000NOSPCE507no space left on device

Source: modules/adapter
Count: 13

CodeHTTPMessage template
X400948ADPRUN400cannot run migration for {subject}, {detail}
X400950ADPMAN400invalid foreign app manifest, {detail}
X400951ADPMIG400invalid migration file {path} {error}
X400953ADPREQ400invalid adapter request, {detail}
X400966ADPSRC400cannot extract migration source for {app}, {detail}
X404950ADPMNF404no migration path for adapter {adapter} app {app}
X500950ADPENU500failed to enumerate adapter {adapter} catalog {error}
X500951ADPTRN500failed to transpile foreign app {app} {error}
X500957ADPMAT500failed to materialize adapted package {name} {error}
X500958ADPGRP500failed to assemble migration group for {name} {error}
X500962ADPXFM500migration transform {job} failed {error}
X501000ADPSSH501box ssh transport to {host} failed {error}
X501001ADPPUL501failed to pull data volume {volume} from box {error}

Source: modules/app
Count: 163

CodeHTTPMessage template
X200066DCKTHR200registry pull rate limit for stack {project}, retrying in {delay}
X200900KCISUR200system Keycloak issuer origin changing {old} -> {new}, live SSO sessions invalidate and consumers must re-render, reconcile is converging, this is not a hard failure
X200901SHDNSZ200system host dns resolved zero target specs, nothing registered, retries on the next ingress endpoint change
X200902SHDNSF200system host dns record sync for {hostname} failed{error}, retries on the next ingress endpoint change
X200903DNSLFT200managed dns records for host {hostname} were not released ({reason}), they may still be live in the zone
X200907TRFHUP200reloading system Traefik after a dynamic config change failed{error}, routes and certs stay as traefik last read them until the next sweep re-signals
X200910CONOVR200integration plug {plug} requested {field} {requested} but the connection mint provisioned {minted}, using {minted}, the platform names this resource and scopes its credential to that name
X200911RBKPIU200rollback of failed install for stack {stack} did not sweep its deployment dir{error}, the pre-image could not be read so the added-entry set is unknown, the deployment dir is left intact rather than risk deleting pre-existing data
X200913PROMIR200protection flag for {tenant}/{stack} written to the cluster config only, this node holds no deployment sidecar to mirror it onto, a daemonless uninstall on the placement node will not see it
X200915PRJCOL200deployment {tenant}/{stack}/{environment} already shares compose project {project} with {other_tenant}/{other_stack}/{other_environment}, a teardown of either destroys the other, rename one of them
X200926KCPWBG200system keycloak admin password rotation starting for app {app}, trigger {trigger}, steps live reset then record update then redeploy
X200927KCPWDN200system keycloak admin password rotation complete for app {app} admin user {username}, trigger {trigger}, live reset done, record updated, stack redeployed
X200949VAPRET200vapp {stack} retained, {jobs} cleanup job(s) skipped, {reason}, the resources they would destroy are left in place
X200950APPUGW200app {stack} published open with no built-in auth, self_auth is false, anyone reaching it is unauthenticated
X200951VAPUNG200vapp {stack} cleanup job {job} refused, its command is destructive ({verb}) but the vsocket declares no cleanup@boolean guard, the resource is left in place, declare cleanup@boolean in schema.plug to make destruction opt-in
X200952SCHSYN200app crons for stack {stack} not reconciled into schedule rows{error}, app-declared crons may not fire until the next successful install or update
X200953LEAFRC200ingress served leaf for {host} not recorded {op}{error}, renewal subsystem will not track it until re-served
X200954HMINTN200ingress host_mapping intent for {host} not persisted{error}, multi-node reconcile will not materialize this route until recorded
X200955INGMAT200ingress reconcile could not materialize {tenant}/{stack}{error}, skipped this sweep retries next tick
X200956LEAFRN200ingress renewal could not re-sign leaf {tenant}/{host}{error}, skipped this sweep retries next tick
X200957TRFRCR200traefik dns-01 reconcile recreate of system Traefik failed{error}, skipped this sweep retries next tick
X200958KCBPRC200keycloak basePath reconcile recreate of system Keycloak failed deployed {deployed} desired {desired}{error}, skipped this sweep retries next tick
X200959OOBPRC200openobserve basePath reconcile recreate of system OpenObserve failed deployed {deployed} desired {desired}{error}, skipped this sweep retries next tick
X200960NETPRE200shared network {network} pre-create did not complete{error}, installs will join it once it exists
X200962NETACT200overlay {network} not yet activated on this node, retrying compose-up attempt {attempt}
X200969INTDRP200persisted integration edge {edge} on {tenant}/{stack} could not be resolved to a consumer plug ({reason}) and was dropped from this deploy, every other edge is unaffected, re-add it with -i plug=provider if it is still wanted
X200970RMVNOP200{flag} removal {token} matched nothing on this deployment and was ignored, live entries are {live}
X200980DNSDEF200exposure=internet but the system ingress has no public endpoint for stack {stack}, dns record deferred until a traefik-node public address via shc node update —public-address or dns.public_address exists
X200981DNSAMB200system ingress web listeners span connections {conns}, dns for stack {stack} deferred until 80/443 ride one connection
X200982ACMWAI200traefik still has no ACME certificate for {hosts} after {attempts} restarts, next re-arm in {wait}
X200985VOLRMT200mount {mount} bound on remote node {node}, node-side provisioner confirmed the mount at {path}, local prep skipped
X200986ACMSTL200traefik has no ACME certificate for {hosts}, restarting traefik to re-arm the order (attempt {attempt})
X200987ACMSTK200traefik still has no ACME certificate for {hosts} after {attempts} restarts, re-arming again now and every {retry} until it issues, check DNS-01 credentials, zone delegation, :80 reachability and CA rate limits
X200988ACMRST200restarting system Traefik to re-arm stalled ACME orders failed{error}, skipped this sweep retries next tick
X200989ACMPRV200ingress host {host} can never be issued a public certificate ({reason}), serving an SHC-signed leaf instead of requesting ACME
X200989DEPPRG200deployment lifecycle config for stack {stack} not purged after uninstall{error}, a reinstall may inherit a stale lease or protection flag
X200990LSESTM200lease stamp for stack {stack} failed after successful deploy{error}, the deployment has no enforced ttl until re-stamped with shc lease renew
X200991PROSTM200protection flag for stack {stack} failed to persist after successful deploy{error}, protection unchanged until re-applied
X200992LSERTY200lease reap for stack {stack} failed, attempt {attempt}/{max_attempts}, retrying in {delay_seconds}s, {detail}
X200993PMTANC200platform trust bundle not confirmed on peer nodes {nodes}, swarm tasks scheduled there keep their image’s built-in roots
X200994PMTJVM200jvm truststore {stores} not confirmed on peer nodes {nodes}, dropping the swarm truststore stamp rather than risk a jvm that trusts nothing
X200995PMTFIL200swarm stack {stack} declares file bind mounts {mounts} that exist only on the render node, a task scheduled elsewhere is rejected with bind source path does not exist, pin the stack with —node or bake the content into the image
X200996HSTDRP200persisted route {route} on {tenant}/{stack} is not expressible in the current —host grammar and was dropped from this render, the deployment and its remaining routes are unaffected, re-add it under a path with no exclamation mark if it is still wanted
X400004INSTNM400vapp flag is required when installing vapp {app_name}
X400005PARNOF400host stack_name {parent_app} must be installed before vapp {vapp_name}
X400010APPYML400app.yaml parse failed for app {name} {error}
X400016TYPMIS400socket type mismatch, plug expects {expected} but socket provides {actual}
X400018FLDREQ400field {field_name} is required but got null
X400019APPNAM400app name is required
X400031PRTMAP400invalid —port mapping {value}, expected external or external-service or external-service-container, with optional conn@ prefix and /udp suffix
X400038NMEREQ400name query parameter required
X400039CMDREQ400command is required
X400048PRSVRN400preset version error, {detail}
X400069INVNME400invalid stack name {name}
X400322VOLSWM400volume mount {mount} bound on swarm could not resolve an attachment node, single-writer placement cannot be guaranteed
X400324VOLSWMNB400volume mount {mount} uses x-shc-volumes on swarm but no volume backend is configured, an rwo block volume cannot be provisioned
X400325VOLSWMND400service {service} requested node {requested} but its rwo volume is attached to {attached}, refusing to place a single-writer service away from its device
X400901INVREP400replica count must be 0-100
X400903INVAPP400invalid app definition with {detail}{error}
X400914TMPFAL400template rendering failed for {name}{error}
X400936HSTNOP400no ingress candidate matches selectors {selectors}, specify —host with service and container port before @hostname
X400937HSTAMB400multiple ingress candidates match {candidates}, specify —host with service and container port before @hostname
X400952STKREQ400stack name required
X400954XNDSCK400integration with local-only socket {socket_name} cannot span nodes, provider on {provider_node}
X400955RTMPIN400cannot deploy {requested_runtime} stack on node {node_id}, runtime is {node_runtime}, pick a {requested_runtime}-runtime node or change this node’s runtime
X400960CONDTY400app {app} connection declaration {name} has unknown type {type}, declare a type the connections registry knows
X400961CONBND400app {app} declares no connection named {name}, declared {declared}, bind with -c name=connection
X400965CONAMB400bare -c {connection} needs exactly one declared connection in app {app}, declared {declared}, use -c name=connection
X400968VARBOL400app {app} declares boolean vars that hold non-boolean values, {vars}, use true or false
X400971INTNOF400integration removal {token} matches no integration on this deployment, wired integrations are {live}, remove the token or name one of them
X400972INTAMB400integration removal {token} addresses more than one persisted row ({matches}), which share one identity and so cannot be told apart by any token, nothing was removed, this deployment’s integration state is inconsistent and a plain shc update normalises it
X400973INTPLG400integration {provider} cannot be resolved to one consumer plug, the provider offers {sockets} and this app declares {plugs}, name the plug explicitly with -i plug={provider}
X400974HSTIDN400—host removal {token} names a service or container port selector, a route is removed by its identity {identity} only
X400975STKNAM400stack name {name}, {reason}
X400976ENVNAM400environment name {name}, {reason}
X400978VARREQ400app {app} required vars not set, {vars}, supply them via —var, a preset, or an integration
X400984PRTNOP400no service exposes container port {container_port}{service}, cannot resolve —port target
X400985PRTAMB400multiple services expose container port {container_port}, {services}, specify —port external-service-container
X400986PRTCON400connection {conn} of type {type} has no proxy capability, —port {mapping} needs a proxy-capable connection
X400987PRTUDP400proxy connection {conn} backend {impl} is tcp-only, —port {mapping} cannot forward udp
X400988PRTDUP400port {external} on shared-vip connection {conn} is already claimed by deployment {stack} environment {environment}
X400989PRTALO400no free node port in {min}-{max} for —port {mapping}
X400990PRTFIX400connection {conn} backend forwards without port remap, —port {mapping} needs node port {external} which is already published
X400991PRTIDN400—port removal {spec} names a service or container port, a mapping is removed by its identity {identity} only
X400992HSTEXP400persisted route {route} cannot be expressed in the current —host grammar, no —host spelling can name it, run shc update on the stack once to drop it from the deployment state and then re-add the route under a path with no exclamation mark
X400993HSTFMT400invalid —host declaration {value}, expected optional service and container port selector before @hostname and optional path
X400994PLGREQ400app {app} required plugs not connected, {plugs}, connect each with -i plug=provider or point its vars at an external service via —var
X400995HSTTGT400host {host} uses the removed =target override {target}, drop the suffix, dns follows the system ingress endpoint
X400996LSEPRT400lease operation on stack {stack} refused, environment {environment} is protected, pass —force to override
X400997LSETTL400invalid ttl {ttl}{error}, expected a duration like 72h or 30m
X400998TPLUND400app {app} compose references undefined values, {refs}, guard each with a default filter or supply the value
X400999CONREQ400app {app} required connections not bound, {connections}, bind each with -c name=connection or point its vars at direct credentials via —var
X403974IMGEEO403system app {app} image {var} is set to {override} but SHC ships {shipped}, substituting an image that carries SHC’s own enforcement code requires an SHC Enterprise licence (the custom_images entitlement), to serve that SAME image from your own registry keep the @sha256 digest and change only the host or path, mirroring is free on every tier
X403976ENVEEO403named environment {name} requires a paid SHC licence, community edition deploys everything into the default environment
X403977SWMEEO403runtime swarm requires SHC EE, community edition runtimes are compose and podman
X403978SYSTNT403app {app} cannot deploy into the {tenant} tenant, {tenant} is reserved for SHC’s own platform stacks, install it into a tenant of your own with -t
X403979SYSSRC403platform stack {app} cannot be installed into the master tenant from {origin}, SHC’s own tenant deploys SHC’s own packaging, install your build into a tenant of your own with -t
X403980SYSENV403platform stack {app} cannot deploy into environment {environment} of the master tenant, SHC’s own tenant runs in the default environment only, drop -e or install into a tenant of your own with -t
X404002APPNOF404application {name} not found
X404006SOKNOF404socket {socket_name} not found in {stack_name}
X404007PLGNOF404plug {plug_name} not found in {stack_name}
X404010PRSNFD404preset {preset_name} not found, available presets, {available}
X404011PRSEMP404no presets defined in {location}
X404012APPDIR404app {name} not found, looked under {candidates}
X404013APPDPF404app dir not found, {path}
X404014MANNOF404no deployment manifest found at {dir}
X404064SRCNFD404source path not found {path}
X404903SVCNFD404service {service_name} not found in stack {stack_name}
X404906STKNOF404stack {name} not found in tenant {tenant} environment {environment}
X409001DEPROT409deployment {tenant}/{stack} is protected, unprotect it before destroy
X409002DEPUNK409protection state of deployment {tenant}/{stack} could not be determined{error}, refusing destroy
X409003STKEXS409stack {name} already exists in environment {environment}
X409004PRJCOL409deployment {tenant}/{stack}/{environment} would share compose project {project} with existing deployment {other_tenant}/{other_stack}/{other_environment}, tearing down either one would destroy the other, choose a name that does not fold onto it
X409039APPAMB409app {name} exists in more than one repo, found in {repos}
X409045KCPWDS409system keycloak admin password desync for {username}{error}, the recorded credential no longer authenticates against the live keycloak database, nothing was changed, run shc update keycloak -t master to realign the live password to the recorded seed (offline self-heal, short downtime) and retry
X500009INTJOB500integration job {job_name} failed during {phase} with {error}
X500011JSNENC500json encode failed for {context}, {error}
X500012JSNDEC500json decode failed for {context}, {error}
X500013AGNPRS500failed to parse autogen store {path}, {error}
X500014AGNMAR500failed to marshal autogen store, {error}
X500015INTNET500attach integration networks failed, {error}
X500016SOKALI500alias socket hostname failed, {error}
X500018VOLDEC500auto-declare volumes failed, {error}
X500030VOLPRP500resolve and prep volumes failed, {error}
X500031NETDEC500auto-declare networks failed, {error}
X500035BNDCPY500copy bind {rel} failed, {error}
X500039LDVARS500load vars failed, {error}
X500045VLTRSV500resolve vault autogen failed for stack {stack}{error}
X500047CMPRND500render compose failed, {error}
X500048CMPPRS500parse compose failed, {error}
X500049SCLFAL500scaling {service} did not complete {error}
X500051INGRSS500traefik ingress enrichment for stack {stack} failed, {op}{error}
X500058SOKPRS500parse socket {path} failed, {error}
X500059DCKCMP500docker {subcommand} failed, {error}, output {output}
X500067APPSSE500sse stream closed without terminal frame
X500068SCHCYC500system-app deploy scheduler dependency cycle among {stacks}
X500069SCHBLK500system-app {stack} not deployed, a dependency failed fail-closed
X500093CMPMAR500compose re-marshal produced unparseable yaml {error}
X500907STKFAL500stack operation failed with {error}
X500908HKFAIL500hook {hook_type} failed with {detail}{error}
X500909HKHTTP500webhook hook returned HTTP {status} {body}
X500925KCPWRS500system keycloak admin password reset failed at {step}{error}
X500945PROMIV500deployment sidecar {path} holds an unreadable protection flag, {reason}, protection state is indeterminate
X500946PROCLR500stack {stack} deployed but its protection flag could not be cleared{error}, the deployment is still protected and will refuse destroy
X500947VAPCLA500vapp {stack} uninstalled but its cleanup jobs {jobs} failed{error}, reclaim what they owned by hand, the instance record is gone
X500948VAPCLN500vapp {stack} cleanup job {job} failed{error}, the resource it destroys may still exist
X500953APPYRD500app.yaml read failed for app {name} {error}
X500960SWMDPL500swarm deploy failed for {project}, {reason}{output}
X500961NETPRF500shared network {network} could not be created{error}
X500961SWMSVC500swarm services query failed for {project}, {reason}{output}
X500963NETUNR500provider network {network} not reachable for the integration job
X500963TRFHST500traefik-host detection query failed, {reason}{target}
X500964JOBYML500hook job {name} yaml {op} failed{error}
X500965NETOVL500attachable overlay {name} create failed, {reason}{output}
X500966PODNET500podman shared network {name} create failed{output}
X500969DEPSTU500deployment state for {tenant}/{stack} exists but could not be read{error}, refusing, an unreadable manifest is not an absent one
X500976PROPTH500deployment sidecar could not be located, {reason}
X500977PROARM500stack {stack} deployed but its protection flag could not be armed on this node{error}, the deployment is NOT protected
X500979DNSRMV500managed dns records for host {hostname} could not be removed on uninstall{error}
X500980PROVAL500config {key} holds a non-boolean value, protection state is indeterminate
X500993LSEGUP500lease reap for {tenant}/{stack}/{environment} ABANDONED after {attempts} failed attempts, {detail}; the deployment is left in place with an expired lease — fix the failure and shc lease renew, or uninstall it by hand
X503018SWMLIV503swarm capacity query failed, {detail}
X503910CONMSK503connection mint seam not wired for connection {connection}

Source: modules/audit
Count: 4

CodeHTTPMessage template
X400900INVDAT400invalid date format {value}
X400901AUDLMT400invalid —limit value {value}
X403905TNTREQ403tenant scope required, set tenant_name or all_tenants=true
X404100AUDNOF404audit record {id} not found

Source: modules/auth
Count: 54

CodeHTTPMessage template
X400131JWKCFG400jwks missing kcURL or realm
X400910DEVCFG400auth login configuration invalid {detail}
X400911TLSCFG400auth login tls configuration invalid {detail}
X400912CAPINF400ca fingerprint invalid {detail}
X400923SVCCLN400service client request invalid {detail}
X400939CCLCFG400client credentials login configuration invalid {detail}
X401004JWTMAL401malformed JWT
X401005JWKKID401jwks token missing kid
X401006JWKKNS401jwks kid {kid} not in keyset
X401058OIDCSIDE401forward-auth sidecar credential required
X401214KCPWST401keycloak rejected the recorded admin credential for {username}, the recorded admin password no longer matches the live keycloak database
X401900NOAUTH401not authenticated, run shc auth login
X401901TOKINV401invalid or expired token, run shc auth login to re-authenticate
X401910DEVAUTH401device authorization failed {status} {body}
X401911DEVDEN401auth login was denied at the browser consent screen
X401912CCAUTH401client credentials grant rejected {status} {body}
X403000AUTHZF403authorization failed, no context available
X403900NOPERM403permission denied for {scope} on {resource}
X403903NOUSER403authorization failed, no authenticated user
X403904NOTENT403authenticated user is not authorized for tenant {tenant_name}
X404916AUTRLM404realm {realm} does not exist in keycloak yet
X408910DEVEXP408auth login timed out, the device code expired before login completed
X409910CAPINM409cluster ca fingerprint mismatch expected={expected} got={got}
X409911CAPINC409pinned cluster ca changed got={got}, refusing to silently re-pin, re-pin explicitly
X500001KYCCON500cannot connect to keycloak {error}
X500050KCRLMP500realm provisioning failed for tenant {tenant} exit={exit_code} stderr={stderr}
X500051KCRLMD500realm deprovisioning failed for tenant {tenant} exit={exit_code} stderr={stderr}
X500052KCROLC500role create failed for tenant {tenant} role {role} exit={exit_code} stderr={stderr}
X500053KCROLD500role delete failed for tenant {tenant} role {role} exit={exit_code} stderr={stderr}
X500057FWDSEC500forward-auth login client secret unresolved {reason}
X500200JWKDEC500jwks decode failed, {error}
X500201JWKEMP500jwks fetch empty keyset
X500202JWKNUS500jwks fetch no usable signing keys
X500203JWKRSN500jwks rsa {param} decode failed, {error}
X500204JWKECC500jwks ec unsupported curve {curve}
X500205JWKECP500jwks ec {param} decode failed, {error}
X500206JWKKTY500jwks unsupported kty {kty}
X500207JWKCLM500jwks claims are not a JSON object
X500209AUNTRN500auth no http transport wired
X500210KCADMF500kcadm {operation} failed in {tenant} for {subject} stderr={stderr}
X500211KCADPS500parse kcadm output for {operation} in {tenant} failed {error}
X500906KYCLKC500keycloak not configured
X500910DEVNET500auth login request to {endpoint} failed {error}
X500911OIDPRS500auth login parse {stage} response failed {error}
X500913CAPINF500ca pin fetch failed {detail}
X500914SVCCLP500service client provisioning failed for {name} {detail}
X502001KYCERR502keycloak error {status_code}
X502002JWKSTC502jwks fetch status {status_code}
X502912OIDDISC502oidc discovery failed {detail}
X503005KYCUNA503keycloak unavailable {error}
X503900SVCKCN503system keycloak unavailable, cannot provision the service client
X503913CARTNW503ca root provider not wired
X503914CARTNA503global root ca not available {detail}
X503915OIDPUB503keycloak public url not resolved {detail}

Source: modules/backup/commands, modules/backup
Count: 120

CodeHTTPMessage template
X200043CNVFAL200converter {converter} did not complete for {stack_name}, {detail}
X200045PRPFAL200preparation did not complete for {stack_name}, {detail}
X200060RCVFBK200packaged-app extract did not succeed for {stack_name}, falling back to catalog, {detail}
X200061VLTRSK200vault secrets not restored for {tenant}/{stack_name}/{environment}, no candidate password decrypted the bundle, {detail}
X200062VLTXSK200vault secrets export skipped for {tenant}/{stack_name}/{environment}, {detail}
X200063BKPQSC200backup quiesce degraded for {stack_name}, {op} {error}
X200064CFGCAP200deployment config capture skipped for {tenant}/{stack_name}/{environment}, {detail}
X200065MAPRPL200mapping replay did not complete for {stack_name}, {detail}
X200066RSTPRM200restore could not reapply captured permissions on {mount}, {detail}
X200068HBDSKP200host bind {path} skipped from backup capture, {reason}
X200069SWMVSK200named volume {volume} skipped from backup capture, {reason}
X200070DPLREG200deployment re-registration did not complete for {stack_name}, {detail}
X200071BKPARC200backup {backup_id} master archive build failed, {detail}
X200072BKPFGT200backup {backup_id} row deleted but its backing data at {location} could not be removed, {detail}
X200073MFSKIP200manifest dump skipped for backup {backup_id}, {detail}
X200075MANSKP200manifest inventory check skipped for backup {backup_id}, {detail}
X200076BKPLSE200reclaimed stale backup lease for {tenant}/{stack_name}, backup {backup_id} had not heartbeated for {stale_seconds}s and was blocking backup/uninstall
X200077RSTJSK200restore job {job} skipped, its converter input(s) {converters} are not carried by this archive, {reason}
X200078BKPLIV200backup {backup_id} was not captured as a consistent point-in-time ({state}), restoring anyway
X400048RCVINP400invalid recover input {op} {error}
X400049RCVMAN400failed to load manifest from {path}, {op} {error}
X400402BKPRUN400backup already running for stack {stack_name}, held by {holder}
X400403BKPFAL400backup failed {op} {error}
X400404RSTRFL400restore failed {op} {error}
X400405BKPINV400backup {backup_id} is invalid {op} {error}
X400407BKPIDR400at least one backup_id is required
X400415IMPFAL400import failed {op} {error}
X400430BKPMUT400exactly one of —id, —file, or —before is required
X400431BKPCDP400cannot use both —all-connected and —with-dependants
X400432BKPMOD400cannot use both —stop and —fail
X400433BKPGRF400cannot use —file with graph flags
X400434BKPIDS400at least one —backup id or -b is required
X400435BKPMTI400one of —id or —file is required
X400437BKPSTK400—stack required
X400438BKPSTH400SHC_STATE_HOME not set
X400440RCVPRT400recover plan port conflict {detail}
X400441BKPSGO400cannot combine -s/—stack with —with-connected/—with-dependants, a group restore targets each member’s own recorded stack
X400800BKNOMN400invalid backup archive, missing manifest.json {error}
X400801BKINVJ400corrupt manifest {error}
X400802BKGCNF400consistency id mismatch, expected {expected}, found {mismatched}
X400803BKGINV400invalid .bkg file {op} {error}
X400804BKGEMT400.bkg file contains no backups
X400805EXPFAL400export from restic failed {reason}
X400806IMPFAL400import to restic failed {reason}
X400817MTSNWR400mount session {session_id} is not writable
X400818MTSPTH400invalid path {path} in mount session {error}
X400822MTSSRC400invalid mount source {source} {detail}
X400830MTSPRC400restic mount subprocess failed to start {detail}
X400850BKMARH400invalid AR archive header
X400851BKMARS400invalid AR header size {size}
X400852BKMART400invalid AR header terminator
X400854BKMIDX400empty backup index
X400860VLMREQ400invalid volume mount request {detail}
X400862PDMREQ400pod mount request requires a container id
X400865VOLSOV400restore storage override {storage} cannot be honored {reason}
X400867RSTEMPT400restore verification failed for mount {mount}, backup had data but the restored volume is empty, replay did not land
X400868RSTJOBM400restore verification failed for job {job} target mount {mount}, the converter snapshot had data but the target is empty, restore job did not land it
X400869RSTMISM400restore verification failed for backup {backup_id}, {detail}
X400870CNVIMG400backup job {name} image template {template} rendered empty, the deployment vars context could not resolve it, refusing to invoke docker
X400972INVCRN400invalid cron expression {detail}
X400973RLBKTM400invalid time format {time}
X404050OPRNOF404operation {operation_id} not found
X404400BKPNOF404backup {backup_id} not found
X404401STKNOF404stack {stack_name} not found
X404403BKFNOF404backup file not found {path}
X404410BKPCST404no backups found with consistency_id {consistency_id}
X404413RSTNOF404restic snapshot {snapshot_id} not found
X404415REPONF404repository not found {repo}
X404439BKPNOB404no backups found
X404800RLBKNF404no backup found for stack {stack_name} before {before}
X404816MTSNOF404mount session {session_id} not found
X404819MTSFNF404file {path} not found in mount session
X404831MTSNOH404no active mount handle for {handle}
X408419RSTTMO408restic operation timed out after {timeout} seconds
X408821MTSEXP408mount session {session_id} has expired
X409409BKPCST409backups have different consistency ids and cannot be grouped
X409866HBDCON409host bind restore conflict for {path}, {detail}
X409867HBDATT409host bind restore refused to wipe {path} for stack {stack}, {detail}
X500042RCVFAL500recovery failed for {stack_name}, {op} {error}
X500045RCVCYC500recover deploy scheduler dependency cycle among {stacks}
X500047RSTJOB500restore {phase} job failed {error}
X500051SSEFAL500sse stream failed {detail}
X500065BKPQAB500backup capture aborted for {stack_name}, consistency-expected pause failed {error}
X500410RSTERR500restic command failed {detail}
X500411EXPFIL500export failed {op} {error}
X500412RSTLCK500restic repository is locked {detail}
X500414RSTPAS500restic authentication failed {detail}
X500415RSTBKN500failed to connect to restic backend {detail}
X500417RSTPRN500restic prune failed {detail}
X500418RSTRST500restic restore failed {detail}
X500420CACHSY500failed to sync backup cache {detail}
X500430BKPCMR500read compose failed {error}
X500431BKPMKD500mkdir backup dir failed {error}
X500432BKPSNV500snapshot volumes failed {op} {error}
X500433BKPUNT500untar failed {error}
X500434BKPCUP500post-restore docker compose up failed {error}
X500435BKPSNS500snapshot {volume} failed {error}
X500437BKPVRS500restore {volume} failed {error}
X500439BKPNDR500no backups dir for stack {error}
X500440BKPDKR500docker {args} failed {error} {output}
X500440BKPSDR500docker sidecar operation failed {error} {stderr}
X500441BKPRSC500restic exited {error}
X500442BKPSQL500{operation} failed {error}
X500443BKPEXP500backup export {op} {error}
X500444BKPDCL500backup daemon client {op} failed {error}
X500446BKPDHT500backup daemon response status {http_status} {error}
X500447SWMVCP500named volume capture failed for {volume} {reason}
X500450SWMQSC500swarm stack quiesce failed for {project} {reason}
X500820MTSOPF500mount operation failed {op} {error}
X500823MTSCMT500mount commit failed {op} {error}
X500833MTSUMT500umount failed for {path} {detail}
X500861VLMRMT500remote volume on node {node} could not be exposed {error}
X500862VOLCAP500volume backed capture failed for {mount} on node {node} {reason}
X500863PDMSNP500container filesystem snapshot failed {detail} {error}
X500863VOLINL500volume backed capture too large to inline for {mount} {size_bytes}
X500864VOLPRV500provision before restore failed for {mount} provider {provider} {reason}
X500934RLBKPR500failed to create pre-rollback backup {error}
X500935RLBKRS500rollback failed during restore of {stack_name} {error}
X501400UNGFIL501ungroup endpoint requires file upload
X501832MTSPLT501fuse mount unsupported on platform {platform}

Source: modules/ca/caapi, modules/ca
Count: 21

CodeHTTPMessage template
X200106CAESCD200best-effort delete of pfSense-side CA copy failed for tenant {tenant} ref {ref}, remove it manually
X200107CAKEYT200keyType is advisory for key-escrow and was ignored for tenant {tenant} so the backend chose the algorithm
X200109CAINTX200tenant CA {tenant} intermediate nears expiry on signer connection {conn}, reprovision before it lapses
X200110CARPRV200tenant {tenant} CA re-provisioned, clients trusting the old root must install the new one
X200114GRTRMT200global root re-minted to recover a keyless trust anchor, clients trusting the old root must install the new one
X400101CATENT400certificate authority requires a non-empty tenant
X400102CAMANL400manual CA import invalid {op} {error}
X400111CARPSR400invalid reprovision source {detail}
X400113CARSVD400tenant ca name {name} is reserved for a system ca
X404112CACRTN404no certificate found for name {name}
X500096CAGENM500failed to mint CA material {op} {error}
X500097CALEAF500failed to sign leaf certificate {op} {error}
X500098CASTOR500failed to store CA for tenant {tenant} {op} {error}
X500099CALOAD500failed to load CA for tenant {tenant} {op} {error}
X500100CAVLTU500vault is not available so CA private keys cannot be stored or read
X500103CASGNU500ca-signer backend not available for tenant {tenant} connection {conn}
X500104CASIGN500failed to csr-sign intermediate for tenant {tenant} {op} {error}
X500105CAESCR500key-escrow CA operation failed {op} {error}
X500108CAWEDG500tenant CA {tenant} is wedged with keys absent for provenance {provenance}, run shc ca reprovision
X503090GRTNRD503global root not ready {op} {error}
X503113CANDNI503per-node leaf enrichment is not yet wired, the node.pem summaries live per-node on disk and need a cluster-membership cert-summary seam

Source: modules/capabilities
Count: 2

CodeHTTPMessage template
X500211CAPFTC500capabilities no fetcher provided
X503940CAPDIS503{command} requires the ‘{feature}’ feature, which is not available on this SHC instance. Deploy the backing system app (e.g. shc install keycloak for user-management features) and try again.

Source: modules/clone
Count: 27

CodeHTTPMessage template
X400600CLNCON400stack {name} has connections
X400602CLNCAN400{operation} cancelled
X400608CLNRNT400invalid runtime {runtime}, expected one of compose, swarm, or podman
X400615CLNENT400cannot move entry-point deployment {name} to node {node}, every managed DNS record points at the ingress host and the move path performs no DNS re-point, reinstall it on the target instead with shc install {name} -t master —node {node} and the leader ingress reconcile re-points DNS
X400619CLNDLM400presumed-dead refused, deployment {name} has local-only persistent mounts [{mounts}] whose data lives only on the dead node, pass —discard-local to abandon them
X400620CLNDSC400presumed-dead move not supported, {reason}
X404600CLNSRC404stack {name} not found
X404607CLNNOD404node {node} not found
X409600CLNCOL409stack {name} already exists in {tenant_name}/{environment}
X409601CLNAUF409could not generate unique name for {stack_name} after 100 attempts
X409617CLNDND409presumed-dead refused, node {node} cluster_state is {state} not unreachable, if the node is up use a plain move
X409618CLNDPR409presumed-dead refused, node {node} answered a probe at {addr}, it is alive, use a plain move
X409621CLNDUR409presumed-dead refused, surviving volume for mount {mount} on provider {provider} cannot attach to target node {node}, pick a node that can reach it
X409623CLNPRO409move refused, deployment {tenant}/{stack} is protected, run shc unprotect {stack} first
X409624CLNPRU409move refused, cannot determine whether {tenant}/{stack} is protected ({reason}), refusing rather than risk destroying protected data
X500601CLNROL500rollback failed {reason} {error}
X500602CLNBKP500backup failed during clone/move {op} {error}
X500603CLNRCV500recovery failed during clone/move {op} {error}
X500604CLNUNI500uninstall failed during move {reason} {error}
X500605CLNRNM500rename failed {op} {error}
X500609CLNRND500clone random suffix failed {error}
X500610CLNFAL500{operation} failed {error}
X500612CLNREQ500{operation} request failed for {source}
X500613CLNRPF500{operation} reported failure
X500614CLNNWR500{operation} service not wired
X500616CLNMOV500deployment move step failed {op} {error}
X500622CLNDMV500presumed-dead move step failed {op} {error}

Source: modules/cluster
Count: 51

CodeHTTPMessage template
X200028SWMJNW200swarm join warning during mesh enrollment {op} {error}
X200029MSHRTW200mesh peer {host} {path} attempt {attempt} failed, retrying {error}
X200030JNSELF200enroll for {node} resolved the joiner’s own raft address {raft_addr} as its join address, dropping it, this node cannot see the cluster leader
X200044CRTCHK200cluster cert rotation check failed {op} {error}
X200948CRTRLD200internal api mtls leaf reload failed {error}
X400021ALRCLS400this node is already part of a cluster
X400022INVTKN400invalid or expired join token {reason} {error}
X400042VLTLKD400vault is locked, unlock with shc vault then re-run shc init
X400064VLTPWS400vault master password must be at least {min} characters
X400400CLSDRN400invalid drain request for node {node}
X401022TKNCNS401bootstrap token already consumed for node {node_name}
X401023TKNEXP401bootstrap token expired for node {node_name}
X401047CRTIDM401cert rotation rejected, caller identity does not match any registered node {reason} {node}
X403003LDRNLY403operation requires the cluster leader, current leader is {leader}
X403092ENRSIP403enrollment rejected, claimed physical_ip {claimed} does not match connection source {source}
X404020CLSNOF404cluster node {name} not found
X404028NODNOF404node {name} not found in cluster
X404201CLSNNF404cluster member {name} not found in raft membership
X408400CLSDRT408drain timed out waiting for deployments to clear
X409025LVDEPS409cannot leave, this node still hosts {count} deployments, drain or move them first with shc node drain <node> or re-run with —force to leave anyway
X409200CLSQUR409refusing to demote, {voters_after}/{required} voters would remain
X409201CLSRMQ409refusing to remove voter, {voters_after}/{required} voters would remain
X409202CLSRMR409refusing to remove voter, {reachable_after}/{required} reachable voters would remain
X409400CLSDRD409node {node} is already drained
X409400CLSREC409force-leader recovery already in progress
X500021CLSINT500cluster internal error {op} {error}
X500022CERGEN500failed to generate certificate {op} {error}
X500023JNFAIL500failed to join cluster {op} {error}
X500024LVFAIL500failed to leave cluster {reason} {error}
X500025NODREM500failed to remove node {op} {error}
X500026SWMLVE500failed to leave docker swarm {reason}
X500027RMLVFL500failed to request remote leave for node {name} {reason} {error}
X500028TKNGEN500failed to generate join token {op} {error}
X500046CRTCAU500cert rotation failed cluster ca unavailable {op} {error}
X500047CACSTR500cluster ca store {op} {error}
X500048CACUNP500cluster CA not provisioned {reason}
X500049CAROTF500cluster CA rotation {op} {error}
X500051GRROTF500global root rotation {op} {error}
X500201CLSREC500force-leader recovery failed {op} {error}
X500202CLSPRO500promote to voter failed {error}
X500203CLSDEM500demote from voter failed {error}
X500211RFTTLF500raft tls required by this cluster but node cert material is unavailable, re-run shc node join —force {error}
X500400CLSDRO500drain failed for node {node} {reason} {error}
X500911RNDFAL500os entropy source unavailable {error}
X500912CRTATM500atomic cert write {step} {error}
X503069MSHIPW503failed to persist mesh_ip for node {node_id} {error}
X503070RCNDMN503daemon not reachable {error}
X503076MSHRTY503mesh peer {host} did not answer {path} after {attempts} attempts over {budget} {error}
X503090CLSJNP503joiner {node} raft port {raft_addr} unreachable from leader, join cannot converge until reachable
X503091CCAJNW503joiner awaiting leader cluster CA {reason} {error}
X503200RFTTLW503raft tls enabled but cert material not yet on disk, starting raft in plaintext for this bring-up only, will pick up tls on next restart {error}

Source: modules/collector
Count: 2

CodeHTTPMessage template
X503120COLRCN503per-node collector reconcile failed at {step} — {reason} — retrying on the next sweep
X503121COLEXG503collector export is disabled by the license.offline policy — {posture}

Source: modules/completion
Count: 2

CodeHTTPMessage template
X400009INVSHL400unsupported shell {shell}
X500700FILWRT500completion cannot write {path}, {err}

Source: modules/config
Count: 7

CodeHTTPMessage template
X400002VALINP400invalid input {detail}
X400033CFGUNK400config key {path} is not a known configuration key, possible typo, value stored anyway
X400041INVSCP400invalid scope {scope}
X400050CFGSTP400config key {path} can only be set in yaml config files
X400905SCPREQ400{field} is required
X400949UNKSCP400unknown scope {scope}
X500952CFGOVL500config overlay {op} failed {error}

Source: modules/connections
Count: 14

CodeHTTPMessage template
X200909DNSZUNS200declared zone {zone} not manageable by provider, dropping it
X400901CONTYP400unknown connection type {type}
X400904CONCRD400connection type {type} requires credential {field}
X400906DNSZREQ400local DNS connection requires at least one —zone
X400908DNSCRED400dns connection {type} credentials failed to validate
X400916CONBND400grant boundary for connection {connection} is not valid json
X400921CONMNT400connection {connection} failed to mint capability {capability}
X403910CONGRT403connection {connection} not granted capability {capability} for tenant {tenant}
X404902CONNOF404connection {name} not found
X404911CONMCP404connection type {type} cannot mint capability {capability}
X404915CONGNF404no grant for connection {connection} capability {capability} tenant {tenant}
X409903CONUSE409connection {name} is in use by {where}
X409907DNSZTIE409zone {zone} already managed by connection {other}
X503905CONVLT503vault is not available, cannot store connection credentials

Source: core/api
Count: 11

CodeHTTPMessage template
X200067QRYTOK200query-string token used for auth on {path}, prefer the Authorization header
X401000UNAUTH401internal api requires a cluster-ca client certificate or the internal token
X403038LICLCK403estate changes are locked, {reason}, refusing {path}, running workloads keep serving and backups stay downloadable, run shc license status for what to do
X500040CMDFAL500command failed with exit {exit_code}, {command} {stderr}
X500079FSMKDR500mkdir failed at {path}, {detail}
X500083APILSN500listen {name} on {addr} failed, {error}
X500084APIUDS500listen unix {path} failed, {error}
X500085APICHM500chmod {path} failed, {error}
X500086APIEXT500{name} listener exited {error}
X503906VLTLCK503vault is locked, refusing {path}, run shc vault unlock
X503907QRMLST503raft quorum unavailable, refusing {path}, retry once the cluster is healthy

Source: core/collectorcfg
Count: 1

CodeHTTPMessage template
X500110COLCFG500collector config render failed {reason}

Source: core/config
Count: 1

CodeHTTPMessage template
X400035REFEMB400config key {key} contains an embedded secret-ref which is not resolved, only whole-value refs resolve

Source: core/daemonclient
Count: 4

CodeHTTPMessage template
X403933DMNACC403permission denied opening the shc daemon socket
X500932DMNRPC500daemon client {op} failed
X502932DMNRSP502daemon returned an error response {daemon_status}
X503931DMNDWN503the shc daemon is not reachable on this node{dial_clause}

Source: core/db/rqlitedriver, core/db
Count: 31

CodeHTTPMessage template
X500929DBSNAP500control-plane db snapshot failed {error}
X500959MIGNVF500migration integrity verification disabled by escape hatch
X500960DBOPEN500failed to open database handle {error}
X500961DBPING500failed to ping database handle {error}
X500963MIGRDF500failed to read migration {name} {error}
X500964MIGTBL500failed to create migrations table {error}
X500965MIGCHK500failed to check migration {name} {error}
X500967MIGAPL500failed to apply migration {name} {error}
X500968MIGREC500failed to record migration {name} {error}
X500970MIGSCN500failed to scan migrations rowset {error}
X500971MIGITR500failed to iterate migrations rowset {error}
X500972MIGWLK500failed to walk migrations fs {error}
X500973MIGSQH500migration {name} conflicts with an existing schema, this database predates a pre-1.0 migration flatten and cannot be upgraded in place, wipe the state directory and reinstall {error}
X500974DBTIMS500db.Time cannot scan {type} into time
X500975DBTIMP500db.Time cannot parse {value} with any known sqlite layout
X500981DBMAIN500db maintenance pool not initialised
X500982DBANLZ500db ANALYZE failed {error}
X500983DBVACM500db VACUUM failed {error}
X500984MIGSNS500migration {name} not listed in atlas.sum
X500985MIGLDG500applied migration {name} drifted, ledger checksum {want} but on-disk content is {got}
X500986MIGSUM500migrations atlas.sum missing or invalid {error}
X500987MIGSTL500atlas.sum entry {name} has no matching migration file
X500988MIGSHA500migration {name} checksum mismatch, atlas.sum records {want} but file hashes to {got}
X500989MIGALT500failed to extend migrations ledger {error}
X501004BATBGN501failed to begin atomic batch {error}
X501005BATSTM501atomic batch statement {index} failed {error}
X501006BATCMT501failed to commit atomic batch {error}
X501007RQLNTX501rqlite engine has no interactive transactions, {op} refused, use db.Pool.Batch for multi-statement atomicity
X501008RQLBAT501rqlite atomic batch request failed {error}
X501023RQLNPM501rqlite named parameters unsupported in statement {statement}
X501032RQLNAK501rqlite returned {returned} of {statements} statement results for {op} with error {error}, the outcome is unknown and the statements may not have committed

Source: core/eegate
Count: 1

CodeHTTPMessage template
X403026DMNEEO403{feature} requires the commercial shc daemon, the daemon at {endpoint} is the community daemon — point at a commercial shc cluster or install the commercial shc package on that node

Source: core/eestub
Count: 1

CodeHTTPMessage template
X403028CLIEEO403shc {command} requires SHC EE, this binary is the community edition

Source: core/enginemarker
Count: 1

CodeHTTPMessage template
X500020ENGMKR500engine marker read failed {reason}

Source: core/hostactivate
Count: 2

CodeHTTPMessage template
X403027CLIPRV403shc {verb} must run as root, re-run as sudo shc {verb} or set SHC_STATE_HOME for a rootless dev sandbox
X500978PODDRP500podman systemd drop-in setup failed at {step} {error}

Source: core/jinja
Count: 7

CodeHTTPMessage template
X400500JNJMAP400jinja path {path} traversal blocked, {key} is not a map
X400501JNJKEY400jinja path {path} traversal blocked, key {key} missing
X400502JNJLOAD400jinja template loading is disabled, refused {ref}
X400503JNJBIG400jinja render exceeded the {limit} byte output cap
X400504JNJTIME400jinja render exceeded the {limit} time budget
X400505JNJPANIC400jinja render panicked: {detail}
X400506JNJCAP400jinja strict-undefined inventory is partial, {dropped} of {examined} references were not examined

Source: core/nic
Count: 2

CodeHTTPMessage template
X400992NICNOF400interface {name} not found or has no IPv4 address
X500930NICDET500network interface detection failed {reason}

Source: core/openstack
Count: 3

CodeHTTPMessage template
X400335OSKCFG400openstack auth config invalid, {reason}
X404325OSKEPT404openstack service {service} endpoint not found in catalog for region {region} interface {interface}
X502335OSKAPI502openstack api call {op} failed http {status} {detail} {error}

Source: core/rqlited
Count: 21

CodeHTTPMessage template
X501009RQDBIN501rqlited binary not found, install the shc package or set SHC_RQLITED_BIN
X501010RQDSTR501rqlited exited during startup with code {code} {error}
X501011RQDTMO501rqlited not ready within {timeout}
X501012RQDCFG501rqlited manager misconfigured {reason}
X501013RQDSPN501failed to spawn rqlited {error}
X501014RQDBOO501rqlite /boot ingest of {path} failed {error}
X501015RQDBKP501rqlite backup to {path} failed {error}
X501016RQDLDR501rqlite leader/roster query failed {error}
X501020RQDCRA501rqlited exited unexpectedly with code {code}, relaunching
X501021RQDRLF501rqlited relaunch failed, retrying {error}
X501022RQDRNR501relaunched rqlited not ready {error}
X501024RQDPRB501rqlited readiness probe {url} returned HTTP {status}
X501025RQDGET501rqlite api GET {url} returned HTTP {status} {body}
X501026RQDMKR501engine flip marker {marker} not removed {error}
X501027RQDPRA501rqlite promote retry abandoned, cluster has {nodes} members and the ingest window is gone, continuing as a member on {sqlite}
X501028RQDDMF501cluster scaled back to one node, storage engine demoted to plain sqlite on {sqlite}, scheduling daemon restart to complete the flip
X501029RQDPMF501storage engine promoted to rqlite for the joining node, marker {marker} written, scheduling daemon restart to complete the flip
X501030RQDDGR501rqlite engine started degraded, rqlited not ready within startup budget, retrying bring-up in background {error}
X501031RQDNRD501rqlite engine not ready, background bring-up in progress
X501034RQDSLF501cluster join addresses named this node’s own raft address {addr}, dropping it, rqlited cannot join itself
X501035RQDNOJ501no raft join address left for the joining node in {state}, re-run shc node join against the cluster leader

Source: core/validation
Count: 2

CodeHTTPMessage template
X400982NAMINV400invalid {kind} name {name}, {reason}
X500982VLDINT500validation internal error {error}

Source: core/volume
Count: 22

CodeHTTPMessage template
X400310VOLCOL400invalid mount spec {spec}, too many colon-separated fields
X400311VOLAXS400invalid mount spec {spec}, malformed access field
X400312VOLEXT400invalid mount spec {spec}, unexpected field {field}
X400313VOLPRM400invalid mount spec {spec}, perm field {field} is not numeric
X400314VOLFLD400invalid mount spec {spec}, too many trailing fields
X400315VOLOWN400invalid mount spec {spec}, owner field mismatch uid {uid} gid {gid}
X400316VOLEMP400apply prep called with empty source
X400317VOLPMD400parse mode {mode} failed, {error}
X400318VOLMOD400empty mode string
X400319VOLUID400parse uid {uid} failed, {error}
X400321VOLGID400parse gid {gid} failed, {error}
X403322VOLSMT403absolute mount source {source} is not permitted for tenant {tenant}
X403323VOLESC403mount source {source} escapes the deployment sandbox
X403325VOLPMU403mount source {source} is not a platform mount, known: {known}
X403326VOLPMW403platform mount {source} must be mounted read-only (append :ro)
X409034VOLNMT409refusing volume prep, {path} is not a confirmed mountpoint, attach may have silently failed
X500310VOLCMD500{op} {path} failed {error}
X500311VOLOWR500resolve owner {owner} failed {error}
X500312VOLUSR500user lookup {user} failed, {error}
X500313VOLGRP500group lookup {group} failed, {error}
X500314VOLMDR500resolve data mount failed, MountsDir not set
X500316VOLMNT500mountpoint check for {path} failed, {error}

Source: modules/ctx
Count: 3

CodeHTTPMessage template
X404903CTXNAC404no active cluster, {detail}
X500900CTXIOF500contexts.yaml {op} failed {error}
X500901CTXFMT500context file format invalid {error}

Source: daemon
Count: 41

CodeHTTPMessage template
X400446AWSCRD400connection is missing the access_key or secret_key admin credential
X500445RSTSWM500swarm volume replay failed for {project} {reason}
X500448AWSMNT500aws s3 mint {step} failed {error}
X500449AWSIAM500aws iam mint {step} failed {error}
X500623CLNXFR500clone recover could not ship the deployment to target node {node}, {reason}, refusing to restore on the source node and report a move that did not happen
X500912KCTRPL500keycloak trust pool unavailable {reason}
X500913KCDIAL500keycloak backchannel refused dial to non-SHC_HOST address {addr}
X500914KCNOSH500managed keycloak requires SHC_HOST but it is unset
X500992DMLOCK500another shcd already holds the singleton lock {path}, refusing to start a second instance
X500994DMCNFG500daemon config load failed {error}
X500995DMDBOP500daemon db.Open failed {error}
X500996DMRALC500daemon subsystems.RegisterAll failed {error}
X500997DMRAPN500daemon panic during RegisterAll {detail}
X500998DMWIRE500daemon lifecycle.Wire failed {error}
X500999DMMKDR500daemon mkdir {path} failed {error}
X503054OTLINI503otel init failed, continuing without telemetry {error}
X503055SUBSTP503subsystem stop returned error {error}
X503056OTLSHD503otel shutdown error {error}
X503059DNSCFG503dns service skipped, nil config
X503060QTANPL503quota service skipped, nil db pool
X503061RPONPL503repo service skipped, nil db pool
X503062RETNPL503retention service skipped, nil db pool
X503063SRCNPL503search service skipped, nil db pool
X503064CLSNPL503cluster service wired without pool, node repo unavailable
X503065CENRSK503cluster enroll handler skipped, cert provider or node repo unavailable
X503066MSHNRG503mesh orchestrator skipped, node registry not wired
X503067MSHNPC503mesh orchestrator skipped, peer client not wired
X503068MSHCST503mesh orchestrator construct failed {error}
X503069VLTAUS503vault audit writer skipped, audit service not wired
X503070QTANPL503quota cron deps skipped, nil db pool
X503071STKMVS503stack move translator skipped, runtime state nil
X503073PEERHTT503internal-API peer call failed {host} {path} {op} {error}
X503074PEERCRT503internal-API peer client cert load failed {op} {error}
X503074SCLWIN503x-shc-scale window scaling service {service} failed {error}
X503075STKCTL503backup stack-controller {op} failed for {project} {error}
X503077CASRCR503ca-signer connection cred read hit a transient vault fault for tenant {tenant} connection {conn} field {field} {error}
X503078LDRNDL503leader internal-address resolve could not list the node table, falling back to the raft-host heuristic {error}
X503084OTLNOA503managed openobserve destination resolved with no auth header on this node, every export will 401 and be dropped until the vault unlocks here
X503085SHFSMT503shared-fs rebind of mount {mount} approved via provider link rows only, client mount for {provider} on target node {node} is unverified
X503086VOLORF503volume {volume} mount {mount} provider {provider} is orphaned after move, cloud volume not deleted, verify and clean up with shc volume rm {volume}
X503097USRNPL503user service skipped, nil db pool

Source: modules/dns/dnsapi
Count: 29

CodeHTTPMessage template
X200904DNSTDN200dns record write skipped for host {host}, cluster teardown release already ran
X200905DNSRLZ200cluster teardown release reached zero dns zones, {hosts} intended hostnames were not released
X400032DNSZON400dns zone not found for domain {domain}
X400034DNSTGT400cannot resolve target {target} to ip or hostname
X400036DNSMAN400no dns provider manages zone for {hostname}
X400110DNSZNC400zone_id must be set on record for create
X400111DNSZNU400zone_id must be set on record for update
X400112DNSZND400zone_id must be set on record for delete
X400113DNSZNO400zone_id must be set on record for create_or_update
X400114DNSSET400set_records requires at least one content, use delete to clear an rrset
X400922DNSUNK400unknown dns provider {provider}
X400926DNSREQ400{config_key} is required for {provider} dns provider
X403040DNSOWN403dns records for host {host} owned by {found_owner} not {owner}
X403041DNSUNO403no ownership txt for host {host}, refusing to delete unowned records
X403042DNSPRN403skipping prune of unowned {record_type} record {content} for host {host}
X403043DNSRPP403skipping reap of pinned host {host}
X403044DNSRPL403leaving legacy-owned host {host} alone, ownership cannot be proven for {owner}
X403045DNSLGD403releasing legacy-owned host {host} under owner {owner}
X403046DNSTKO403taking over dns records for host {host} from predecessor {found_owner} as {owner}
X404038DNSZNF404no dns zone manages host {host}
X404039DNSREC404no dns record found for host {host}
X503030DNSAPI503dns provider api error {detail} {error}
X503031DNSCFG503no dns provider configured
X503032DNSACT503dns provider async action {action_id} for {detail} still running after {budget}, the write is queued not lost, later zone writes and acme dns-01 challenges may be delayed behind it
X503033DNSUPD503rfc2136 dynamic update failed {detail} {error}
X503034DNSRPS503dns reap refused, no managed hostname source is wired
X503035DNSRPK503dns reap refused, managed hostname read failed {error}
X503036DNSRPZ503dns reap refused, managed hostname set is empty
X503037DNSRPB503dns reap refused, {orphans} of {total} owned hosts would be deleted, pass force to override

Source: modules/docker
Count: 11

CodeHTTPMessage template
X400060CTRINP400invalid docker request {reason}
X400067CTRFSP400invalid container fs request {reason}
X404060CTRNOF404container {container} not found
X404061CTRFSF404path {path} not found in container {container}
X500061DKRCFG500docker client configuration error {reason}
X500062DKRCLL500docker {operation} failed {reason}
X500063CMPFAL500docker compose {subcommand} exited {exit_code} {reason}
X500064EXCFAL500docker exec on {container} failed {reason}
X500065EVCNCT500docker events channel closed {reason}
X500066EVCMAX500docker events {attempts} consecutive reconnect failures
X500067CTRFSO500container fs {op} on {container} failed {reason}

Source: modules/doctor
Count: 4

CodeHTTPMessage template
X500917DCROPF500doctor {operation} failed
X500918DCRNWR500doctor diagnose dependency not wired {dep}
X503919DCRKCD503system keycloak not running, {check} skipped
X503920DCRNAV503doctor fixes require a running daemon

Source: modules/events
Count: 6

CodeHTTPMessage template
X403917EVTTNT403tenant scope required for event subscription
X500007EVTBUS500event bus not running, {reason}
X500015EVTBCS500event broadcaster {stage} failed {error}
X500016EVTHND500event handler panicked {reason} {error}
X500017EVTPRN500events_log prune failed {op} {error}
X503010QUEFUL503queue at capacity {depth}/{max_depth}, task {name} rejected

Source: modules/export
Count: 18

CodeHTTPMessage template
X400501EXPINV400invalid exporter configuration {detail} {error}
X400503IMPREQ400missing required import parameter {param}
X400504EXPREQ400missing required export parameter {param}
X400505IMPJOB400import job {job_name} failed {error}
X400507NOEJOB400exporter {exporter_name} has no exporter jobs defined
X400508NOIJOB400exporter {exporter_name} has no importer jobs defined
X400509ARERRO400ar archive error {op} {error}
X400515WRPSPC400wrap spec malformed {spec}
X400516EXPNDR400data dir {path} is not a directory
X400516WRPNOF400wrap input not found {path}
X404500EXPNFD404exporter {exporter_name} not found in stack {stack_name}
X500511EXPRUN500export run failed {reason} {error}
X500512IMPRUN500import run failed {reason} {error}
X500513EXPNST500export service not wired
X500514EXPSTR500export stream failed {reason} {error}
X500515EXPCKM500data checksum mismatch got {got} want {want}
X500517WRPSTG500wrap staging failed {reason} {error}
X500518EXPLST500export list failed {dir} {error}

Source: modules/fabric/policy, modules/fabric
Count: 20

CodeHTTPMessage template
X200357FABNKY200node {name} enrolled without a fabric public key, no fabric /24 allocated, re-enroll with a fabric-capable cli to repair
X200361FABGLU200fabric host firewall glue not installed, cross-node container traffic may be dropped, {reason}
X200368FABASP200fabric anti-spoof guard not in force, a container can forge a co-located fabric address, {reason}
X200369FABCTN200fabric address claimed by more than one bridge port and left unpoliced, this is a runtime fault or a deliberate attempt to disable the anti-spoof guard, {reason}
X400350FABSEL400fabric {fabric} does not allow runtime {runtime}, {reason}
X400351FABCID400fabric cidr {cidr} is unusable, {reason}
X400355FABKEY400fabric wireguard key for {holder} is invalid, {reason}
X400356FABMOD400unknown fabric {fabric}, must be one of swarm|shc|none
X400364FABPOL400fabric policy input invalid, {reason}
X400365FABTEN400fabric policy tenant boundary violation, {reason}
X409358FABNON409node {name} cannot join, the cluster fabric is none which allows a single node only, re-init with —fabric swarm or shc for multi-node
X500352FABREP500fabric allocation repository error {op}{error}
X500353FABFUL500fabric cidr {cidr} has no free node /24 left, tombstoned subnets are never reused, re-init with a wider fabric cidr
X500354FABDEV500fabric wireguard device {op} failed{error}
X500359FABPIN500fabric service pin error {op}{error}
X500360FABBRG500fabric bridge {name} could not be ensured{error}
X500362FABPST500cluster fabric posture error {op}{error}
X500363FABPFL500node {node} has no free fabric service address left, all {capacity} are pinned, move stacks off this node or re-init with a wider fabric cidr
X500366FABVFY500fabric policy ruleset failed self-verification, {reason}
X500367FABPCY500fabric policy {op} failed{error}

Source: modules/forms
Count: 2

CodeHTTPMessage template
X400213HUDFAB400interactive form cancelled
X500214HUDFRN500interactive form failed, {error}

Source: modules/forward
Count: 8

CodeHTTPMessage template
X400084INVSRN400invalid service name {name}
X400086EMTFWD400empty forward specification
X400088FWDPRT400invalid port {port}
X400089FWDPRR400invalid port {port}, must be 1-65535
X400090FWDFMT400invalid forward specification format {spec}
X400091FWDINF400cannot infer port for service {service}, {detail}
X400910FWDREQ400forward requires {reason}
X500910FWDOPF500forward operation failed {reason}

Source: modules/health/reconcile, modules/health
Count: 11

CodeHTTPMessage template
X200506OTLPST200managed openobserve OTLP provider persisted to the boot config drop-in and global config, restart the daemon to attach the auth header and enable authenticated ingest
X200507OTLPDG200managed openobserve OTLP provider persisted to global config only, a restart will not attach the auth header, set otel.provider in config.yaml to enable authenticated ingest
X200508OTLPLV200managed openobserve OTLP auth attached to the running exporter, authenticated ingest active, no restart required
X400060HLTNDA400no dial address
X409903PRTCNF409port {port}/{protocol} is already allocated to another stack
X500507OTLDIW500failed to write managed OTLP config drop-in {path} at {stage} {error}
X503014NODNAV503node {node_id} unavailable
X503050HLTNID503node health probe identity mismatch, got {got_id}, want {want_id}
X503058SNPCFG503control-plane snapshot in cluster mode with no cluster-dump port wired
X503060HLTNCK503no health checker wired
X503061NODNVS503node {node_id} still unavailable, {suppressed} checks suppressed over {unavailable_for}

Source: modules/hud/server, modules/hud/snapshot, modules/hud
Count: 9

CodeHTTPMessage template
X400213HUDISO400empty ISO timestamp
X400214HUDISP400unparseable ISO timestamp {value}
X401212HUDARJ401hud websocket auth rejected
X404213HUDVOL404volume {leaf} not found in snapshot
X404215HUDPOD404pod {leaf} not found in snapshot
X500210HUDCMD500hud command failed {reason}
X503207HUDWSC503websocket connection failed, {error}
X503209HUDHTP503hud daemon api returned http {status} {body}
X503210HUDBLD503hud builder not wired, {reason}

Source: modules/inspect
Count: 2

CodeHTTPMessage template
X400910INSREQ400inspect requires a stack name
X500910INSDSP500inspect display failed {op}{error}

Source: modules/internal_rpc
Count: 6

CodeHTTPMessage template
X400977RPCJSN400malformed rpc request body {detail}
X400978RPCFNM400missing rpc function name
X400979RPCRDF400rpc body read failed {detail}
X403945RPCTRN403rpc {function} requires the internal mTLS listener, got transport {transport}
X403946RPCCAP403rpc {function} requires capability {capability}, which this caller was not granted
X413900RPCBIG413rpc body exceeds the {limit}-byte cap

Source: modules/internal_stacks
Count: 6

CodeHTTPMessage template
X400076PRJNAM400invalid project_name {project}
X500071DEPFAL500deploy failed at {op} {error}
X500072STPFAL500stop failed {detail} {error}
X500073LOGFAL500logs read failed {detail} {error}
X500074EXCSRV500exec failed {reason}
X500075PSFAIL500ps failed {detail} {error}

Source: modules/job
Count: 14

CodeHTTPMessage template
X200005JOBFAL200job {job_name} failed during {phase} {error}
X200074JOBTHR200registry pull rate limit for job {job_name}, retrying in {delay}
X400010INVJOB400invalid job definition with {detail}
X400011JOBMNG400job {job_name} is a {source} job and cannot be run directly
X400015JOBPRS400job template parse failed, {reason}{token}
X400027JOBREQ400{field} field is required for {context} context
X400065JRNTSK400job run {job_run_id} has no task yet with status {status}, nothing to cancel
X404001JOBNFD404job {job_name} not found in stack {stack_name}
X404904JRNFND404job run {job_run_id} not found
X409066JRNTRM409job run {job_run_id} already {status}, nothing to cancel
X409067JRNRUN409job run {job_run_id} is executing, cannot cancel
X409068JRNCLM409job run {job_run_id} was claimed for execution before the cancel landed
X500900JOBOPF500job {operation} failed{error}
X500901JOBNET500job docker network inspect failed for {network}{error}

Source: modules/kv
Count: 3

CodeHTTPMessage template
X400400KVINPT400kv invalid input {reason} {error}
X404400KVNOFD404kv entry {namespace}/{key} not found
X500401KVOPFL500kv {operation} failed

Source: modules/leader
Count: 1

CodeHTTPMessage template
X200923LDRCBK200leader {callback} callback failed {error}

Source: modules/license
Count: 27

CodeHTTPMessage template
X200961LICGOK200join-time capacity gate enforced for node {node} — {nodes} nodes and {cores} cores measured against {caps}
X200962LICPLC200could not determine which node hosts the system ingress — {reason} — attempting license activation on this node
X200998LICOFF200no broker ask was made — network license checks are disabled by the license.offline policy — install a vendor-signed file with shc license activate <file>
X400968LICMAL400license file malformed — {reason}
X400969LICSIG400license signature is invalid — not signed by the vendor key this binary trusts
X400970LICKEY400minting requires the vendor Ed25519 signing key via —key or SHC_LICENSE_SIGNING_KEY — mint is vendor-only
X400971LICNAF400license file not found at {path}
X400972LICREQ400vendor record request rejected — {reason} — fix the invoice and re-sync, this request will never succeed as sent
X400973LICCAP400purchased capacity {cores} cores exceeds the {ceiling}-core ceiling for tier {tier} — quote this as Enterprise, or raise the broker’s ceiling
X403029LICENT403{feature} is not included in this estate’s SHC license — activate or renew a license that includes it, see shc license status
X403030LICDOM403license is bound to domain {expected} but this estate serves {actual}
X403031LICLIM403license limit reached for {feature} — this estate holds {count} of {limit}, existing resources keep working, creating more needs a higher-tier license, see shc license status
X403032LICDNS403activation callback for {domain} failed the public-DNS leg — {reason}
X403034LICNCE403activation callback for {domain} failed the challenge-nonce leg — {reason}
X403035LICGRT403no license grant on record for domain {domain} — complete a purchase for this domain, then re-run activation
X403036LICOPT403{feature} is an SHC Enterprise feature — start the 30-day trial with shc license trial start, existing workloads are never affected when a trial ends
X403037LICOFF403{feature} is not covered by this estate’s license and network license checks are disabled by policy license.offline — obtain a new signed license file from the vendor and install it with shc license activate — the current license expires {expires}
X403039LICCAP403this estate is over its licensed capacity for {resource} — using {count} against a licensed {limit} — reduce below the limit to clear it immediately, or license the extra capacity
X403048LICVND403vendor mint refused — missing or invalid vendor token, POST /mint is vendor-only and requires the broker’s LB_VENDOR_TOKEN as a bearer token
X409049LICNOD409license activation must run on the estate’s ingress node — the broker callback for {domain} reaches the daemon behind the system Traefik, which runs on {node}, not this one — re-run shc license activate —broker on {node}
X500960LICSGN500license signing failed — {reason}
X500961LICSTO500license store operation failed — {reason}
X502960LICBRK502online license activation failed — {reason} — use the offline signed-file path for airgapped estates
X502961LICMNT502license mint failed after a verified activation callback — {reason} — retry activation, contact the vendor if it persists
X502962LICRFR502license re-fetch from the broker failed — {reason} — entitlements continue resolving from the locally held file
X502963LICREC502writing the purchased rights into Keygen failed — {reason} — this is a RETRY, not a decline, the purchase stands and the next sync attempt should land it
X503964LICGSK503join-time capacity gate skipped for node {node} — the node registry read failed {reason} — {limits} went unenforced for this join

Source: modules/logs
Count: 8

CodeHTTPMessage template
X400940LOGREQ400logs requires a stack name
X400941LOGDUR400invalid since value {since}
X400942LOGTAL400invalid tail value {tail}
X403943LOGTNT403tenant scope required for log retrieval
X403944LOGSCM403permission denied, missing stack {stack} read
X404940LOGNOF404no log target for project {project} service {service}
X500940LOGRUN500log retrieval failed {op}{error}
X500941LOGSTM500log stream failed {op}{error}

Source: modules/mcp
Count: 4

CodeHTTPMessage template
X400381MCPHDR400the mcp endpoint needs the token in the Authorization header — a query-string token cannot open a session
X500379MCPCTX500mcp tool call carried no per-call auth context — refusing to execute without the calling principal
X500380MCPPAN500mcp loopback dispatch panicked — {panic}
X503378MCPNRT503mcp daemon api router not ready — {reason}

Source: modules/metrics
Count: 4

CodeHTTPMessage template
X404920METNOF404metrics no definition for {name}{want}{error}
X500920METREG500metrics duplicate registration for {name}
X500921METINI500metrics failed to create {kind} instrument {name} {error}
X500922METCAR500metrics cardinality cap exceeded for {name}, {observed} > {cap}

Source: modules/nebula
Count: 9

CodeHTTPMessage template
X200916NEBCHK200nebula check failed, {operation} {reason}
X200917NEBSGH200nebula sighup failed {op} {error}
X404913NEBNOF404nebula ca not found in database
X500036NEBROT500certificate rotation failed for {node_id} {reason}
X500916NEBCAG500failed to generate nebula ca {op} {error}
X500918NEBSIG500failed to sign nebula certificate {op} {error}
X500920NEBBIN500nebula-cert binary not found at {path}
X500924NEBIPA500failed to allocate mesh ip {reason}
X500925NEBAPL500failed to apply rotated nebula cert at {step} {reason}

Source: modules/network
Count: 3

CodeHTTPMessage template
X200020NETTMO200timeout waiting for network {network}, ensure swarm manager is running
X200908NETMGR200leader only task requires swarm manager, current node is worker
X500900NOTWRD500network service is not wired with a database

Source: modules/node
Count: 19

CodeHTTPMessage template
X400017NODDEP400node {name} has {count} stacks, move them first or use force
X400061NODHDA400node health dial address empty
X400899NODARG400usage shc node {cmd} <{arg}>
X400907NODNSW400node {name} is not configured for swarm mode
X400909NODNSM400node {name} is not a swarm manager
X400911NODNOA400node {name} has no address configured
X400915NAMVAL400{field_name} validation failed {reason} {error}
X400932NODTTL400invalid ttl {value} {error}
X400933NODTTP400invalid ttl {value}, must be positive
X400934NODPRGS400node leave —purge is self-only, run it on the node you want to wipe without a [node] argument
X400935NODPRGF400node leave —purge permanently destroys all local SHC state and data, re-run with —force to confirm
X404003NODNOF404node {name} not found
X500019NODINI500local node not initialized, {path} missing, run shc init or shc node join first
X500025NODREPO500node repository error {reason}
X500923HTTPST500http {status} {body}
X500924UNMRSH500unmarshal response {error}
X503072NODHPF503node {addr} health probe failed {error}
X503073NODHCN503node health client not configured
X503998CMDNYI503not yet wired in Go port {operation}

Source: modules/notification/channels, modules/notification
Count: 13

CodeHTTPMessage template
X400115NTFPTN400at least one pattern is required
X400700NTFPTN400invalid pattern {pattern} {error}
X400701NTFCFG400invalid notification rule {context} {error}
X400703NTFCHC400notification channel field {field} is empty
X400711NTFTMP400notification template is invalid {issue} {detail}
X500701NTFSND500notification send failed {label} {error}
X500702NTFDRP500notification dropped for rule {rule}, dispatcher not running {events}
X500704NTFTPL500notification template {stage} failed {error}
X500705NTFHTP500notification webhook returned HTTP {status}
X500706NTFSND500unknown notification send failure
X503011QUEFUL503notification queue full, dropping rule {rule} {events}
X503012NTFRSK503notification rule {rule} skipped at dispatch {reason}
X503013NTFDSF503notification dispatch send for rule {rule} failed {error}

Source: modules/portforward
Count: 2

CodeHTTPMessage template
X404921FWDCNT404port-forward target {container} not found or unreachable from host
X503922FWDSCT503socat is required to port-forward overlay and swarm containers but is not installed, run apt-get install -y socat on this node

Source: modules/proxy
Count: 7

CodeHTTPMessage template
X200940PRXNBK200no live backend nodes while {intents} deployments ride external load balancers, leaving every lb target set unchanged this tick
X200979PRXDUP200shared-vip proxy connection {conn} port {port} claimed by both {first} and {second} in tenant {tenant}, first claim wins this sweep
X400972PRXUNK400unknown proxy implementation {impl} for tenant {tenant}
X400973PRXCFG400proxy backend {impl} misconfigured, missing connection cred {field}, {remedy}
X400981PRXPPU400proxy.proxy_protocol_trusted_ips is set but proxy backend {impl} for tenant {tenant} connection {conn} cannot send the PROXY protocol header, refusing to reconcile, unset the config or move the port mappings to an aws connection
X500970PRXRCN500failed to reconcile proxy for tenant {tenant} connection {conn} {op} {error}
X503971PRXNWR503proxy backend not available for tenant {tenant} connection {conn}

Source: modules/quota
Count: 16

CodeHTTPMessage template
X400915QTAINP400invalid quota input {reason} {error}
X403001CPUEXC403cpu quota exceeded, requested {requested} millicores but only {available} of {limit} available
X403002MEMEXC403memory quota exceeded, requested {requested} bytes but only {available} of {limit} available
X403003DSKEXC403disk quota exceeded, using {used} bytes of {limit} bytes limit
X403004STKEXC403stack quota exceeded, {current} of {limit} stacks in {scope}
X403005ENVEXC403environment quota exceeded, {current} of {limit} environments in {scope}
X403006APPEXC403app quota exceeded, {current} of {limit} apps in {scope}
X403007VAPEXC403vapp instance quota exceeded, {current} of {limit} instances in {scope}
X403010NODCPU403node cpu capacity exceeded, requested {requested} millicores but node {node} only has {capacity} millicores total
X403011NODMEM403node memory capacity exceeded, requested {requested} bytes but node {node} only has {capacity} bytes total
X403012SWMPOL403swarm pool capacity exceeded, requires {requested_cpu} millicores and {requested_memory} bytes but pool has {pool_cpu} millicores and {pool_memory} bytes across {node_count} nodes
X403013SWMREP403no single swarm node can host one replica, requires {requested_cpu} millicores and {requested_memory} bytes but largest node has {max_cpu} millicores and {max_memory} bytes across {node_count} nodes
X404909USGNOF404usage record not found for scope {key} {value}
X500909DSKSCA500disk usage scan failed with {error}
X500913USGREC500usage reconciliation failed with {error}
X500914USGOPF500usage {operation} failed

Source: modules/repo
Count: 14

CodeHTTPMessage template
X400013INVURL400invalid repository url
X400927REPFIL400file-path repositories are no longer supported
X400928REPRSV400repository name {name} is reserved
X400931REPAPP400repo apps requires —rejected
X400943REPADP400unsupported adapter {adapter}
X400967REPSSR400repository url host {host} is not an allowed remote target
X403901REPSYS403cannot delete the system repository
X403902REPBLT403cannot remove the builtin repository
X404901REPNOF404repository {name} not found
X409901REPOEX409repository {name} already exists
X500902REPMAT500failed to materialize source for repository {name} {error}
X500903REPSYN500failed to sync repository {name} with {reason} {error}
X500904REPOPF500repository operation {operation} failed
X500905REPGIT500git {args} failed {error} {output}

Source: modules/retention
Count: 2

CodeHTTPMessage template
X400916RETINP400invalid retention input, {context}{error}
X500916RETOPF500retention {operation} failed

Source: modules/schedule
Count: 12

CodeHTTPMessage template
X400001CRNINV400invalid cron expression {cron}
X400932SCHSTK400—stack is required
X400934CRNEMT400empty cron expression
X400935CRNFMT400invalid cron {cron}
X400936CRNHMS400expected HH MM
X400937CRNCNN400non-numeric clock parts
X400938CRNOOR400out-of-range hour or minute
X404902SCHNFD404schedule not found {job}
X409900SCHDPL409schedule already exists for job {job}
X500954SCHCAC500count active schedules failed {error}
X500955SCHCPS500count paused schedules failed {error}
X500956SCHNRT500next-run lookup failed {error}

Source: modules/search
Count: 3

CodeHTTPMessage template
X400400SRINPT400search invalid input {reason}
X404400SRAPNF404app {name} not found
X500401SROPFL500search {operation} failed

Source: modules/shell
Count: 7

CodeHTTPMessage template
X400920SHLREQ400shell requires a stack name
X400922SHLCMD400exec requires a command
X404920SHLCNT404no running container for project {project} service {service}
X500920SHLWSF500shell websocket exec failed {op}{error}
X500921SHLEXC500shell exec failed {op}{error}
X500922SHLPTY500shell pty operation failed {reason}
X500923SHLRDR500shell reader done

Source: modules/stack
Count: 6

CodeHTTPMessage template
X400060STKREQ400stack name required
X400062CMDRQD400command required for exec
X400959SVCRQD400service name required for exec
X404908STKNFD404stack {stack_name} not found
X409069STKAMB409stack {stack_name} exists in more than one scope, found in {scopes}
X503010NDUNRC503cannot connect to node {node} {error}

Source: modules/storage/providers/awsebs, modules/storage/providers/azuredisk, modules/storage/providers/cephfs, modules/storage/providers/cloudstackvol, modules/storage/providers/dovolume, modules/storage/providers/gcepd, modules/storage/providers/linodevolume, modules/storage/providers/nfs, modules/storage/providers/vultrvolume, modules/storage/storageapi
Count: 90

CodeHTTPMessage template
X200036LNKSKP200storage link-table row not written for node {node} on {provider}, mount still attempted {error}
X200037MNTSKP200client mount did not succeed for node {node} on {provider} {error}
X200318VOLLRC200reconciled {count} stranded volume backup leases
X400040EXTNAM400shc-managed providers must use reserved names local, nfs, cephfs
X400053RSVTYP400provider type {provider_type} is reserved for the singleton {reserved_name}, custom name {name} not allowed
X400058MNGDEL400managed provider {name} cannot be removed via storage remove, use shc storage {provider_type} disable
X400060STGWRF400path {path} is not on a {expected} filesystem
X400320VOLDOC400digitalocean volume provider misconfigured, {reason}
X400323VOLHCT400hetzner volume provider misconfigured, {reason}
X400324VOLCFM400volume {volume_id} rebind requires confirmation old node detached without waiting for ack
X400325VOLCFG400no volume backend configured {reason}
X400326VOLCSU400volume connection {conn} for tenant {tenant} not resolvable to a volume provider
X400327VOLAMB400storage.volumes.provider is unset and multiple volume-capable connections exist, {candidates}, set storage.volumes.provider to the one to use
X400334AZDCFG400azure disk provider misconfigured, {reason}
X400336VOLCSC400cloudstack volume provider misconfigured {reason}
X400343EBSCFG400aws ebs volume provider misconfigured, {reason}
X400344GPDCFG400gce persistent disk volume provider misconfigured, {reason}
X400362VOLLCT400linode volume provider misconfigured, {reason}
X400929NODLNK400node {node} is not linked to storage provider {provider}
X400931INVCFG400invalid storage configuration {reason}
X400937QNOSUP400quotas not supported by storage provider {name}, filesystem {filesystem}
X400942SNOSUP400snapshots not supported by storage provider {name}, filesystem {filesystem}
X400944PRVTYP400unknown storage provider type {provider_type}
X400945SNPMTH400unknown snapshot method {method}
X400946QTAMTH400unknown quota method {method}
X400947RSVNAM400reserved name {name} can only be used for shc-managed providers
X403056CFSCBN403cephfs node handler refused, caller identity does not match target node {reason} caller={caller} target={target}
X403080NFSCBN403nfs node handler refused, caller identity does not match target node {reason} caller={caller} target={target}
X403081VOLCBN403volume node handler refused, {reason}, caller {caller} target {target}
X403324VOLEEO403volume {volume_id} rebind requires SHC EE, cross-node failover needs the multi-node fencing plane
X404031STFNOF404state folder {path} not found on storage provider {provider}
X404032SNPNOF404snapshot {snapshot_id} not found for {path}
X404033SRCNOF404source path does not exist {path}
X404103STGNFD404shared storage provider {name} not configured, run shc storage {name} enable first
X404320VOLNOF404volume not found by {selector} {value}
X404322VOLHNF404hetzner resource not found by {selector} {value}
X404324AZDNOF404azure resource not found by {selector} {value}
X404336VOLCSN404cloudstack resource not found by {selector} {value}
X404341VLTVNF404vultr resource not found by {selector} {value}
X404343EBSNOF404aws ebs resource not found by {selector} {value}
X404344GPDNOF404gce persistent disk resource not found by {selector} {value}
X404362VOLLNF404linode resource not found by {selector} {value}
X404914STGNOF404storage provider {name} not found
X409030STGEXS409storage provider {name} already exists
X409031STFEXS409state folder {path} already exists on storage provider {provider}
X409032VOLXTN409volume belongs to tenant {got} not {want}
X409033STGUSE409storage provider {name} is in use by {stacks} stacks {stack_names} and {volumes} volume rows, pass —force to delete anyway
X409034VOLREB409volume {volume_id} rebind refused current node {current_node} not expected {expected_node}
X409035VOLFNC409volume {volume_id} fence refused, request generation {req_gen} row generation {row_gen} {detail}
X409036VOLATT409volume {volume_id} still attached to {node} pass force to detach first
X409037VOLFRB409volume {volume_id} auto failover refused, no force-detach proof or no same-az candidate in zone {az}
X409038CEPFID409ceph cluster identity conflict, /etc/ceph carries fsid {found} but the pinned cluster fsid is {pinned}, run shc storage cephfs disable before enabling again
X409040VOLREL409volume {volume_id} provider {provider} cannot relocate from {prev_node}, its Attach does not self-detach a previous holder
X409056CEPFSD409refusing to re-bootstrap ceph, managed cluster fsid {fsid} exists but is unresponsive, repair the existing cluster or remove it via cephadm rm-cluster —fsid {fsid} and shc storage cephfs disable before re-enabling
X409324AZDREL409azure disk {handle} not freed from holder {holder} within detach-settle bound, last http {last}
X409343EBSDEV409aws ebs no free device slot on instance {instance}, /dev/sd[f-p] exhausted
X409864VOLLSE409volume {volume_id} already leased by {owner} until {until}
X409866VOLSFN409volume {volume_id} self fence in progress on {node}, not yet provably fenced
X500032CMDFLR500command failed {command} {error}
X500033EXPREL500failed to reload nfs exports, {reason}
X500035STGCMD500{tool} failed {stderr} {error}
X500050CEPMON500ceph mon bring-up via cephadm failed, check the daemon log and ceph -s on the leader
X500051CEPMDS500ceph mds placement via the orchestrator failed, check ceph orch ls and the daemon log
X500052CEPFSC500cephfs volume creation via ceph fs volume create failed, check ceph -s and the daemon log
X500053CEPENB500shc storage cephfs enable failed during the cephadm bring-up, check ceph -s/ceph orch host ls on the leader and the daemon log
X500054CEPENR500ceph enroll {op} {error}
X500054CFSCLI500cephfs client mount setup failed {op}{error}
X500055CEPHKY500cephadm host-key install on {host} failed {op} {error}
X500056CEPAUT500cephx client authorization failed {op} {error}
X500076NFSSRV500nfs server setup failed {op}{error}
X500077NFSCLI500nfs client setup failed {op}{error}
X500078NFSDIS500nfs disable failed {op}{error}
X500315VOLREP500volume repository error {op}{error}
X500317VOLNDP500node volume provisioner {op} on {node} failed {error}
X500318VOLSFU500node self-fence {op} on {node} failed {error}
X500327VOLCMD500node volume command failed {reason}
X500917QTAERR500quota operation failed for {path} {error}
X500919SNPERR500snapshot operation failed for {path} {op} {error}
X501330VOLSTN501no stonith provider configured, cannot confirm fence of node {node}
X502111LDRFWD502shared-storage operation {op} could not be relayed to the raft leader, {reason} {error}
X502320VOLDOA502digitalocean volume api call {op} failed, http {status} {error}
X502321VOLHAP502hetzner volume api call {op} failed, http {status} {error}
X502322VOLNDA502node volume dispatch to {node} {path} failed, {reason} {error}
X502324AZDAPI502azure disk api call {op} failed, http {status} {error}
X502326VOLCSA502cloudstack volume api call {op} failed http {status} {error}
X502331VLTVAP502vultr block storage api {op} failed http {status} {error}
X502343EBSAPI502aws ebs ec2 api call {op} failed {error}
X502344GPDAPI502gce persistent disk compute api call {op} failed {error}
X502362VOLLAP502linode volume api call {op} failed, http {status} {error}
X503110NOTLDR503shared-storage operation requires the raft leader, {reason} {error}

Source: subsystems/impl, subsystems/lifecycle
Count: 77

CodeHTTPMessage template
X200963INGGAT200ingress reconcile traefik host check failed {error}
X200964INGSWP200ingress route materialize sweep failed {error}
X200965LEAFSW200certificate leaf renewal sweep failed {error}
X200966CAEXPS200certificate intermediate expiry scan failed {error}
X200967DNSRCN200traefik dns-01 credential reconcile failed {error}
X200968KCBRCN200keycloak base path reconcile failed {error}
X200969OOBRCN200openobserve base path reconcile failed {error}
X200971NETRCN200shared network reconcile failed {error}
X200973CTRSTL200container reconcile stale container list failed {error}
X200974CTRSRM200container reconcile stale container {container_id} remove failed {error}
X200975CTRDRL200container reconcile status drift list failed {error}
X200976CTRDRF200container reconcile status drift fix failed for deployment {deployment_id} {error}
X200977ACMWTC200ingress sweep had no stalled-acme watcher wired, allocated one in place, tls self-heal was inert until now
X200978INTTLS200internal api tls server error {detail}
X200979MNUSWP200apps menu materialize sweep failed {error}
X403044INTNMB403internal api peer certificate rejected, identity {identity} is not in the live node registry, node removed from the cluster or never enrolled
X500990INTAPCA500failed to parse internal-api CA {path} no PEM blocks
X500991INTAPKP500failed to load internal-api node cert and key {error}
X500992LCSTFL500lifecycle subsystem {subsystem} start failed {error}
X500993LCDPBL500lifecycle deps builder for {name} panicked {detail}
X501002DBREOP501failed to reopen rqlite pool {error}
X501003INTAPRD501failed to read internal-api CA {path} {error}
X501017RQDSTP501rqlited manager stop returned error {error}
X501018RQDDEM501scale-to-one demote failed, staying on the raft engine {error}
X503015LDRPOL503leader_hub poll-driven FlipLeader returned error {error}
X503016LDRMTS503leader_hub health monitor {phase} returned error {error}
X503022EVBNPL503event_bus no db pool wired, running without events.Service
X503023EVBSTR503event_bus events.Service.Start failed {error}
X503024EVBREC503event_bus pending-broadcast recovery sweep failed {error}
X503025EVBNOJ503event_bus job.Service not wired, V200900JOBRUN handler is a no-op
X503026QUENPL503queue no db pool wired, running without task.Service
X503027QUESTR503queue task.Worker.Start failed {error}
X503028HTPNAS503http subsystem no api.Server available, skipping TCP listener
X503029STKRWR503stack_reconcile reconcile.Wire returned error {error}
X503034VLTSKP503vault subsystem started without config, skipping
X503035DKRDWN503docker daemon unreachable, continuing {error}
X503036SSEBSK503sse_broker subsystem started without pool, skipping
X503037COLSKP503collectors subsystem started without config, skipping
X503038COLTKE503tick collector error {error}
X503039CFGSKP503config_loader subsystem started without pool, skipping
X503040DKEVEX503docker_events Subscribe exited {error}
X503041RTRWLK503router walk failed for module {module} {error}
X503042INTRWK503internal router walk failed for module {module} {error}
X503043INTAEX503internal_api listener exited {error}
X503045CCRTOP503cluster_cert_rotation {operation} rotation service returned error {error}
X503046BKMRCN503backup_mount reconcile failed {error}
X503046LCSTRB503lifecycle start failed in group {group}, rolling back {error}
X503047LCSTPE503lifecycle subsystem {subsystem} stop returned error {error}
X503048LCRBKE503lifecycle rollback Stop for {subsystem} returned error {error}
X503048USKVNS503unix_socket filesystem entry vanished, rebinding {path}
X503049LCFAHL503lifecycle subsystem {subsystem} reported fatal health error {error}
X503049USKRBD503unix_socket rebind failed {path} {error}
X503051LCSTDG503lifecycle subsystem {subsystem} started degraded, daemon staying up {error}
X503052LCDGRD503lifecycle subsystem {subsystem} degraded {error}
X503053LCONLD503lifecycle OnLeader callback failed for {subsystem} is_leader={is_leader} {error}
X503055NSRWRN503node_self_register {step} failed {error}
X503056COLPRT503collectors per-tenant alloc failed for {tenant} {error}
X503075SCHFRR503schedule_dispatcher per-row dispatch failed {schedule_id} {error}
X503076SCHSWP503schedule_dispatcher sweep returned error {error}
X503077SCHDQE503schedule_dispatcher enqueue to task queue failed at {op}{error}
X503078BKSCEX503backup_scheduler scope execute failed {scope_key} {error}
X503079MNTMKD503backup_mount default repo {repo} mkdir failed {error}
X503080MNTRIN503backup_mount restic init failed for {repo}, backup ops fail until configured {error}
X503081VLTAUF503vault auto-unlock from SHC_VAULT_PASSWORD failed {error}
X503083CFGRLD503config_loader DB-layer reload failed after {changed} changed paths {error}
X503084CCAGEN503cluster_ca_genesis provision returned error {error}
X503085CCAGSL503cluster_ca_genesis row committed but sealed vault key unreadable {error}
X503086CCAGLF503cluster_ca_genesis first-node local port 4003 leaf sign failed {error}
X503087CRNSKP503cron_runner skipped {module}.{cron}, previous run still in flight
X503088CRNBAD503cron_runner unparseable schedule for {module}.{cron} spec={spec} {error}
X503089CRNRUN503cron_runner {module}.{cron} Run returned error {error}
X503091GCAGEN503global_ca_genesis provision returned error {error}
X503093OPRREAP503operation_registry stale-operation reaper sweep returned error {error}
X503094OPRLST503operation_registry reaped lost operation {task_id}, worker heartbeat stale past {lease}s lease
X503105INTMBR503internal api membership gate registry refresh failed {error}
X503106BKSLOD503backup_scheduler schedule load failed {error}
X503108INTANB503internal_api nic {nic} did not resolve to an IPv4 {error}, retrying bind

Source: modules/supportbundle
Count: 7

CodeHTTPMessage template
X200373SPBSEC200support bundle section {section} degraded — {reason}
X200376SPBOMT200section {section} omitted — estate-scoped sections ride only a platform-admin bundle
X400374SPBREQ400invalid support bundle request — {reason}
X500371SPBSTR500support bundle download failed at {step} — {error}
X500372SPBHTT500support bundle request failed — daemon answered http {status} — {body}
X502377SPBSTQ502support bundle store query failed — http {status} — {body}
X503375SPBNWR503support bundle source {source} is not wired on this daemon

Source: modules/task
Count: 11

CodeHTTPMessage template
X200914TSKRTY200task {task_id} scheduled for retry {attempt}/{max_attempts} in {delay}s
X404404TSKNFD404task {task_id} not found
X409404TSKAMB409ambiguous task id {task_id} matches {count} tasks, pass a longer prefix
X500004HDLNFD500handler not found for task {task_name}
X500904TSKFAL500task {task_id} failed with {error}
X500905TSKINT500task {task_id} interrupted, server restarted while running
X500909TSKOPF500task {operation} failed
X500912TSKTMO500task {task_id} timed out after {max_runtime_seconds}s
X500913TSKWRK500task worker {stage} failed {error}
X500914TSKPNC500task {task_id} {name} handler panicked {panic}
X500915TSKLST500task lost-operation reaper {stage} failed

Source: modules/tenant
Count: 15

CodeHTTPMessage template
X400058TNTDEF400cannot remove the default tenant
X400059TNTHAS400tenant {name} has {count} stacks, use force to remove
X400062TNTREQ400tenant name is required
X400958TNTREQ400tenant {name} has {count} stacks, uninstall stacks first
X400974TNTNAM400tenant name {name}, {reason}
X403975TNTEEO403tenant {name} not created, creating additional tenants requires SHC EE
X404973TNTNXS404tenant {name} does not exist, {hint}
X409059TNTUNK409tenant {name} deployment count could not be determined, {reason}, refusing to delete a tenant whose stacks cannot be counted
X409974TNTTMB409tenant {name} was deleted and is not re-adopted automatically, {hint}
X500460TNTSQL500tenant sql operation {operation} failed {error}
X500461TNTFSO500tenant fs operation {operation} failed {error}
X500462TNTVLT500tenant admin credential vault store failed {reason}
X500463TNTKCP500detached keycloak provisioning failed {tenant} {op} {error}
X503464TNTCTX503active-tenant switching is not available on this host, {hint}
X503973TNTIND503tenant {name} existence could not be determined, {reason}

Source: modules/test
Count: 10

CodeHTTPMessage template
X404010APPNFD404app {app} not found
X404910TSTNFD404app {app} has no tests directory
X500010BATSNF500bats is not installed
X500011TSTNIL500apptest Runner has nil receiver
X500012TSTCMD500apptest bats command is empty
X500013TSTSTR500local test server already started
X500014TSTNST500local test server not started, call start first
X500015TSTDIE500shcd exited before reporting healthy
X500016TSTBLD500apptest daemon startup stage {stage} failed {error}
X500017TSTCLP500isolated server cleanup failed {reason}

Source: modules/user
Count: 9

CodeHTTPMessage template
X400913USRPWM400passwords do not match
X400930USRREQ400user request missing {field}
X400931USRTNT400platform admin must specify a tenant
X400932USRTNB400caller has no tenant binding
X403930USRPRM403requires tenant manage permission
X403931USRXTN403cannot operate on tenant {requested}, caller bound to {own}
X403935USRLMT403tenant {tenant} has {count} user accounts, the community edition seat limit is {limit}, more requires SHC EE
X503930USRKCN503system keycloak is not running
X503932USRRLM503keycloak realm for tenant {tenant} is not provisioned yet

Source: modules/vault
Count: 34

CodeHTTPMessage template
X200970VLTUBP200vault unlock broadcast peer {node} failed {error}
X200972VLTENA200vault envelope state adoption failed writes stay legacy {error}
X200997VLTUPD200vault unlock pull peer {node} accepted but no unlock landed within {wait}
X400025PRVAUT400{auth_method} authentication requires {requirement}
X400026PRVKTY400{provider} requires {required_key_type} key, got {got_key_type}
X400906INVSCP400invalid scope {scope} requires {required}
X400910VLTEXP400vault export failed with {reason} {error}
X400912VLTIMP400vault import failed with {reason} {error}
X400916PRVUNK400unknown vault provider {provider}
X400917PRVREQ400{config_key} is required for {provider} provider
X400918PRVSCP400{scope_type} required for {operation}
X400919PTHFMT400invalid path format {path} {error}
X400925PRVPIN400pinned vault provider not configured {provider} {path}
X400962VLTHOK400{hook} hook not wired
X400963VLTPWM400passwords do not match
X400964VLTRMS400invalid remap-scope pair {reason} {pair}
X400980VLTFMT400vault crypto format failure {reason} {error}
X400983AGNCHS400invalid autogen charset {charset} {reason}
X401012VLTINV401invalid vault password
X401013VLTNEW401invalid new vault password {reason} {error}
X401902VLTPWI401vault import password incorrect or data corrupted
X403905CAPRTC403protected ca section is not ref resolvable {key}
X403906CONPRT403protected connection credential is not accessible {key}
X404905SECREQ404required vault secret {key} unresolved for {tenant} {stack} {environment} with {reason}
X404907SECNOF404secret {key} not found
X409902SECEXS409secret {key} already exists at scope {scope}
X500101VLTKEK500vault kek salt failure {reason} {error}
X500806VLTRNS500vault scope rename failed with {reason} {error}
X500912VLTDBS500database session required for vault {operation}
X500960PRVEXE500vault provider {provider} cli failed {stderr} {error}
X500961VLTCRP500vault crypto failure {op} {error}
X503902VLTNAV503vault not available with {reason} {error}
X503903VLTPWM503vault password not configured
X503950PRVAPI503vault provider {provider} api returned {status} {body}