Pliki inicjujące chmurę są zasadniczo kodami rozruchowymi, które są uruchamiane przed każdym uruchomieniem i mogą między innymi modyfikować pliki, konfigurować usługi, tworzyć użytkowników itp.
Nie wszystkie typy kropelek obsługują wszystkie funkcje inicjowania chmury, na przykład CoreOS używa własnej implementacji z bardzo ograniczonym podzbiorem prawidłowych wartości.
Aby użyć tego w terraformie, po prostu podaj plik inicjujący chmurę podczas tworzenia kropli:
main.tf
:
resource "digitalocean_droplet" "web" {
image = "coreos-stable"
name = "web"
region = "lon1"
size = "2gb"
private_networking = true
ssh_keys = ["${digitalocean_ssh_key.dodemo.id}"]
user_data = "${file("web.conf")}"
}
web.conf
:
#cloud-config
coreos:
units:
- name: "etcd2.service"
command: "start"
- name: "fleet.service"
command: "start"
Spowoduje to na przykład utworzenie kropli, w której CoreOS uruchomi etcd2 i uruchomi flotę podczas uruchamiania
Możesz znaleźć więcej przykładów w tym repozytorium , gdzie pokazuję, jak można użyć tych opcji konfiguracji do skonfigurowania prostych usług opartych na dokerze w CoreOS