Готовлю скрипты cloud-init для установки программный агент мониторинга (отказ от ответственности: я один из основателей MonitOwl). Программное обеспечение агента собирает информацию (например, статистику памяти или сети) и отправляет ее на сервер. Каждая группа компаний должна подключиться к собственному персонализированный URL-адрес сервера, например: https://customer_name.example.org.
Скрипт cloud-init - это Content-Type: multipart/mixed;
который загружает агент из github, устанавливает службу systemd и устанавливает требования python. В настоящее время мы используем это как:
# ec2-run-instances --user-data-file <our_generated_file>
Для наших внутренних развертываний мы используем ansible (параметризованный с помощью VARS), но теперь все больше и больше людей просят скрипт cloud-init.
Я хотел бы иметь один общий сценарий облачной инициализации для всех компаний и просто предоставить аргумент с URL-адресом для сервера. Я хотел бы поместить этот сценарий облачной инициализации в наш репозиторий на github, чтобы сделать установку агента еще лучше.
К сожалению, единственный способ, который я нашел, - это подготовить отдельный сценарий - генератор это создаст сценарий cloud-init с жестко заданным URL-адресом внутри. Есть какой-нибудь хороший способ достичь моей цели? Не могу поверить, что компания canonical не думала о параметризации при разработке cloud-init.