Hatch

Cloud-Init Config Generator

Generate user-data and network-config for automated Linux cloud instance setup

← Home
🔒 100% Local — No Data Transmitted

System Basics

Core identity and locale settings written to the instance on first boot.

Users & Authentication

Configure user accounts, SSH keys, and authentication settings.

User Accounts
â„šī¸ cloud-init does not accept plain text passwords. Each user's password field expects a SHA-512 crypt hash. Generate one with: openssl passwd -6 (prompts you to type the password, outputs the hash).
Global SSH Authorized Keys

Keys added here are injected into the default cloud user (e.g. ubuntu, ec2-user). One key per line.

Force Password Change (chpasswd)

Network Configuration

Configure network interfaces. Generates a separate network-config file (cloud-init network v2 / Netplan format).

Package Management

Install packages and configure repositories on first boot.

Update package cache on boot
Equivalent to apt-get update / yum makecache
Upgrade all packages on boot
Equivalent to apt-get upgrade / yum upgrade
Reboot if required after upgrade
Reboots automatically if a kernel or libc upgrade requires it
Packages to Install
Additional APT Sources

Storage — Mounts & Swap

Configure additional disk mounts and swap space. The root filesystem is handled automatically.

Mounts
â„šī¸ Entries map to /etc/fstab. Use nofail for non-critical mounts to prevent boot failures if the device is absent. NFS/CIFS mounts automatically get _netdev so they wait for the network before mounting.
Swap

Write Files

Create or overwrite files on the instance during cloud-init. Runs before runcmd.

Boot Commands (bootcmd)

Commands that run on every boot very early, before cloud-init modules. Must be idempotent.

âš ī¸ bootcmd runs on EVERY boot — not just the first. Use only for idempotent operations like sysctl settings.

Run Commands (runcmd)

Commands that run once on first boot after all cloud-init modules complete. Use for application setup.

â„šī¸ runcmd runs as root. Commands run with /bin/sh -c so shell features like pipes and redirects work.

Systemd Units

Create custom systemd unit files (services, timers, sockets, etc). Cloud-init writes the unit file and runs daemon-reload plus enable/start via runcmd automatically. Service units can be built with a guided form or pasted as raw text — switching back to Guided regenerates the file from the form fields, discarding manual edits.

NTP Configuration

Configure Network Time Protocol servers.

Enable NTP configuration
Let cloud-init configure NTP client

Final Settings

Post-init message and power state action.

Review & Generate

Review your configuration, then generate the cloud-init files.

Copied!