Skip to content

Startup Scripts / Cloud-Init

Owner-scoped guest-side startup content. Scripts execute only inside the guest through the image's native mechanism — the panel never runs them on the host.

Types

  • CLOUD_INIT_USER_DATA
  • SHELL_FIRST_BOOT
  • CLOUD_CONFIG

Rules

  • Bodies are encrypted at rest and never logged.
  • Size cap: 64 KB (USER_DATA_TOO_LARGE).
  • Edits bump version; a provisioning operation writes an immutable snapshot of the exact rendered bytes so later edits never rewrite history.
  • Plan policy: DISABLED / PRESET_ONLY / CUSTOM.
  • Rendering only substitutes declared variables with validated scalar values ({{ name }}).
  • Support bundles and logs redact the body ([REDACTED]).

Error codes

USER_DATA_DISABLED, USER_DATA_PRESET_REQUIRED, USER_DATA_FORBIDDEN, USER_DATA_TOO_LARGE, USER_DATA_EMPTY, USER_DATA_TYPE_INVALID, USER_DATA_VARIABLE_UNKNOWN, USER_DATA_VARIABLE_INVALID.