Для того, чтобы нормально пользоваться инструментом Terraform, нам понадобится текстовый редактор с плагином, понимающим язык разметки Terraform (HCL). Это необходимо для того, чтобы было удобно писать код для поднятия инфраструктуры. На самом деле, код можно писать в каком угодно текстовом редакторе, но наиболее удачно подходит текстовый редактор Atom.
Для Windows установка очень простая. Идем на сайт www.atom.io, сайт автоматически определяет версию операционной системы и нажимаем на кнопку скачать. Дальнейшая инсталляция под операционную систему Windows очень простая - запуск файла и нажатие несколько раз кнопки Далее.
В случае если мы хотим работать из-под операционной системы Linux, заходя на сайт мы видим, что сайт предлагает скачать нам установочные пакеты в вариации deb
и rmp
. Но возможно пойти нам и другим путем. Заходим на сайте в документацию, находим Atom Flight Manual.
![Atom Flight Manual Atom Flight Manual](http://wiki.merionet.ru/images/ustanovka-tekstovogo-redaktora-atom/1.png)
Далее выбираем с левой стороны Installing Atom, а вверху тип операционной системы.
![Installing Atom Installing Atom](http://wiki.merionet.ru/images/ustanovka-tekstovogo-redaktora-atom/2.png)
Далее мы видим описание инсталляций для разных ОС семейства Linux. Для Ubuntu и для CentOS.
При инсталляции на Ubuntu:
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
Скачиваем ключ и помещаем в хранилище.
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
Обновляем список депозитарий командой apt update
, а также обновляем сам репозиторий. Ну собственно и последующая инсталляция непосредственно самого текстового редактора Atom.
sudo apt-get install Atom
Инсталляция на CentOS в принципе аналогичная.
Скачиваем и добавляем ключ.
sudo rpm --import https://packagecloud.io/AtomEditor/atom/gpgkey sudo sh -c 'echo -e "[Atom] name=Atom Editor baseurl=https://packagecloud.io/AtomEditor/atom/el/7/$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packagecloud.io/AtomEditor/atom/gpgkey" > /etc/yum.repos.d/atom.repo'
Теперь мы можем воспользоваться пакетным менеджером yum
или dnf
sudo dnf install Atom sudo dnf install atom-beta
Или если установлен альтернативный пакетный менеджер yum или операционная система CentOS 7, можно скачать пакет в rpm
формате https://atom.io/download/rpm
и установить
sudo yum install -y atom.x86_64.rmp sudo dnf install -y atom.x86_64.rpm
После данных манипуляций у нас установится текстовый редактор Atom. Конечно, установка имеет смысл на машину с графическим интерфейсом пользователя. Его можно найти по зеленой иконке, как на скриншоте.
![Atom Atom](http://wiki.merionet.ru/images/ustanovka-tekstovogo-redaktora-atom/3.png)
Далее, самая интересная, часть данной статьи. Если мы просто вставим кусочек кода от TerraForm, то мы увидим, что он ничем не отличается от обычного текста. Все преимущества данного текстового редактора раскрываются в использовании плагинов для Terraform.
Для установки плагина, который различает написанный код Terraform, нам необходимо зайти в Edit, в данном открывшемся меню найти Preferences. В следующем открывшемся окне выбираем Install. В правой части после данной операции появляется строка поиска для инсталляции дополнительных пакетов (Plugins). С помощью данного поиска находим пакет по запросу Terraform. Пакетов будет найдено достаточно много. Можно посмотреть описание и версию пакетов и сколько раз был скачен данный пакет. Я рекомендую выбрать пакет language-terraform. Для большинства данного пакета будет совершенно достаточно. Данный пакет дает не только красивую подсветку кода, но и много других функций. Еще для удобства работы можно установить terraform-fmt. Данный пакет не столь популярен, но за то он позволяет удобно форматировать код Terraform при написании. А именно, код будет выравниваться при нажатии сочетания клавиш Ctrl+S для сохранения изменений в файле.
Для того, чтобы плагины начали работать, необходимо перезапустить текстовый редактор. И второй важный момент переименовать файл рабочий в файл с разрешением *.tf
.