cloudi-gen
is a CLI tool that aids in the generation of cloud-init configurations, making it easier for you to set up cloud instances with your desired configurations.
- User Creation: Easily create a user on your cloud instance with a specified username.
- SSH Key Import from GitHub: Import SSH keys directly from a GitHub handle, streamlining the setup process.
- Package Installation: Specify packages you want installed on your cloud instance right from the start.
- Fail2Ban Configuration: Enhance security with
fail2ban
. By default, it's installed, but you have the option to disable it. - SSH Configurations: Customize SSH settings, including:
- Allowing/Disallowing SSH TCP tunneling.
- Allowing/Disallowing SSH X11 forwarding.
- Allowing/Disallowing SSH agent forwarding.
- Pretty Print: Get a neatly formatted output. By default, the output is machine-readable, but you can opt for a more human-friendly version.
cloudi-gen -u jontze -g jontze -p curl -p jq > cloud-init.yml
With this command:
- A user named
jontze
will be created on the cloud instance - The SSH keys of the GitHub user
jontze
will be imported - The packages
curl
andjq
will be installed - The cloud-init configuration will be saved to
cloud-init.yml
- Navigate to the Releases section of the
cloudi-gen
GitHub repository. - Download the appropriate executable for your operating system from the latest release.
- Save the downloaded executable to a directory that's in your system's PATH.
- Make the executable file runnable (for Linux/macOS users, you can use the command
chmod +x /path/to/cloudi-gen
). - You can now run
cloudi-gen
from your terminal!
If you have cargo
installed, you can compile cloudi-gen
from source:
cargo install --git https://github.com/jontze/cloudi-gen
You can now run cloudi-gen
from your terminal!