@polinux, thanks for sharing! I'm still working through the documentation to have understanding but this is what I gathered.
------------
Regarding:
https://github.com/million12/linodeapiIt seems as though the code you provide spins up a linode using Debian 7 distro, defaulting to 1GB plan and 2GB reserved disk space, creates new partitions for CoreOS(raw, default:2048M), Swap(swap, default:2048M), and an optional Extra(raw). The code then boots the linode with a Install Profile Configuration using "Latest 64 bit" kernel, once booted code sends the cloud-config.yaml data over an sshpass command. Things become a security concern at line 346 when the code calls an outside shell script (
https://raw.githubusercontent.com/milli ... os_boot.sh). Looks like the shell script is nothing bad, updating and upgrading packages, installing and configures grub-legacy, gets coreos-install (
https://raw.githubusercontent.com/coreo ... os-install), then installs the 'stable' verison of CoreOS on designated partition created earlier and updates the grub boot menu to boot on the CoreOS partition. Finally, code then shuts the linode down and boots with a CoreOS linode Profile Configuration. using "pv-grub-x86_64" kernel.
------------
Overall, I'm pleased with the coding as it is easy to read and lightweight. I think there could be some cleanup scripts such as removing unnecessary configuration profiles and disks after a successful CoreOS deploy. I should also remark that to my knowledge you follow the practices described by the Linode team in building Custom Builds very well. Can you elaborate why the call to the outside shell script (prepare_coreos_boot.sh) was implemented?