История изменений
Исправление vbr, (текущая версия) :
За NixOS не скажу, но могу сказать, как я это делаю. У моего провайдера OpenStack. Я загрузил туда Debian Cloud Image (формат qcow2). В Terraform всё настроил как надо. И в поле user_data передаю YAML для Cloud Init. Соответственно по этому YAML сервер полностью настраивается.
Если нет возможности указать cloud-init в интерфейсе, тогда хз. Ну подготовить свой образ, в котором его захардкодить, если хостер разрешает загружать свои образы, как вариант. Но в целом я бы поискал хостера, который таки даёт API хороший.
Вообще «классический» подход это Ansible и сначала я его использовал. Ему надо только ssh-соединение. Но потом оказалось, что мне возможностей cloud-init хватает.
Исходная версия vbr, :
За NixOS не скажу, но могу сказать, как я это делаю. У моего провайдера OpenStack. Я загрузил туда Debian Cloud Image (формат qcow2). В Terraform всё настроил как надо. И в поле user_data передаю YAML для Cloud Init. Соответственно по этому YAML сервер полностью настраивается.
Если нет возможности указать cloud-init в интерфейсе, тогда хз. Ну подготовить свой образ, в котором его захардкодить, если хостер разрешает загружать свои образы, как вариант. Но в целом я бы поискал хостера, который таки даёт API хороший.