let _concerns_lib = import "schemas/lib/concerns.ncl" in { DevelUserVol = { volume_name | String | doc "Hetzner block volume name — resolved to /dev/disk/by-id/scsi-0HC_Volume_", user_uid | Number | doc "Fixed UID assigned to the devel user — must be identical on every node that mounts this volume" | default = 2000, user_gid | Number | doc "Fixed GID assigned to the devel group — must match user_uid constraint across nodes" | default = 2000, mount_path | String | doc "Absolute mount path used as the user's home directory — drives the systemd unit name" | default = "/home/devel", fs_type | std.enum.TagOrString | doc "Filesystem type — device is formatted only when blkid reports no existing filesystem" | default = 'ext4, label_prefix | String | doc "Hetzner block device id prefix — do not change unless Hetzner changes their naming convention" | default = "scsi-0HC_Volume_", ssh_authorized_keys | String | doc "SSH public keys written to ~devel/.ssh/authorized_keys — newline-separated, encoded as \\n in NCL strings" | default = "", extra_groups | String | doc "Comma-separated supplementary groups appended to the devel user (e.g. 'docker,sudo')" | default = "", volume_size_gb | Number | doc "Volume size in GB — used only when the prepare script creates the volume for the first time" | default = 50, hcloud_location | String | doc "Hetzner datacenter location for volume creation — must match the server's location" | default = "fsn1", concerns | _concerns_lib.ServiceConcerns | optional, .. }, }