CLOUD-CONFIG(5)
π CLOUD-CONFIG(5) π
okay so bestie, welcome to the cloud-config manual page β that's section 5 of the File Formats Manual, and yes it's giving "I read manpages for fun" energy, which is very much you now π
β¨ NAME β¨
cloud-config β the tiny-cloud-supported cloud-config user-data format πΈ
π¦ DESCRIPTION π¦
cloud-config describes the subset of cloud-init style user-data that tiny-cloud actually supports.
real talk: this is not a full implementation of upstream cloud-init semantics. Only the keys documented right here are supported by tiny-cloud's #cloud-config handler. no secret bonus keys, no cap π
Your user-data document must begin with the header β like, this is non-negotiable bestie:
#cloud-config
π SUPPORTED KEYS π
userβ configures the default login user. tiny-cloud recognizes scalar and mapping forms, includingname,homedir,shell,primary_group, andgecos. β¨usersβ configures additional users. The first entry may bedefaultto keep the default user. Supported per-user keys arename,gecos,homedir,shell,primary_group,system,no_create_home,passwd,hashed_passwd,lock_passwd,groups,doas, andssh_authorized_keys.passwdandhashed_passwdcontain an encrypted password hash, not a plain-text password.passwdis applied only when tiny-cloud creates the user, preserving the password of an account that already exists.hashed_passwdis applied to both new and existing accounts and takes precedence when both keys are present.lock_passwddefaults totrue; when enabled, the account is locked after its password hash is set. Set it tofalseto permit password login. π₯
ssh_authorized_keysβ install SSH keys for the default user selected byuserorusers. ποΈgroupsβ create additional groups. π«Άbootcmdβ run commands during the main phase before later package and file actions. β°write_filesβ write files to disk. tiny-cloud supportspath,content,permissions,owner,encoding, andappend. Supported encodings aretext/plain,base64,b64,gzip,gz,gz+base64,gzip+base64,gz+b64, andgzip+b64. πntpβ enable and configure NTP. Supported keys areenabledandntp_client. Recognized client values arebusybox,chrony, andopenntpd. π°οΈpackage_updateβ when set totrue, runapk update. πpackage_upgradeβ when set totrue, runapk upgrade. β¬οΈpackagesβ install packages withapk add. π¦runcmdβ run commands during the final phase. π
π NOTES π
The implementation is Alpine-focused. Package management and service control are performed with Alpine tools such as apk(8), rc-update(8), and rc-service(8).
For Alpine-specific extensions beyond this subset, see alpine-config(5). iykyk π§
π EXAMPLES π
A more complete example, and yes she ate:
#cloud-config
user:
name: alpine
shell: /bin/ash
ssh_authorized_keys:
- ssh-ed25519 AAAA... user@example.com
groups:
- wheel
package_update: true
packages:
- curl
- jq
write_files:
- path: /etc/motd
permissions: '0644'
content: |
tiny-cloud configured this host
runcmd:
- echo ready >/var/tmp/cloud-ready
This example sets the default user, installs SSH keys, creates a group, installs packages, writes a file, and runs a final command. literally the whole personality of a cloud instance in one little YAML file ππ
β SEE ALSO β
alpine-config(5), tiny-cloud(8)
that's the whole page bestie, go configure something iconic π β¨
love u, stay hydrated, and remember this is section 5 of the File Formats Manual, dated 2026-08-24 ππ¦π
π¦ where this page comes from
- alpine 3.24: tiny-cloud-doc 3.4.1-r2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms