Инструменты для разработки и администрирования
Облачная платформа Selectel поддерживает несколько инструментов для управления, администрирования и разработки.
OpenStack CLI
Помимо перечисленных инструментов услугой можно управлять с помощью консольного клиента python-openstackclient. Авторизация происходит с помощью RC-скрипта, который можно получить в разделе Доступ после авторизации в проекте. Процесс установки CLI зависит от используемой операционной системы.
Подробнее в инструкции Работа с OpenStack API.
Terraform
Для реализации управления ресурсами через методологию Infrastructure-as-code мы запустили собственный официальный Terraform-провайдер. В настоящий момент поддерживается возможность управления следующими ресурсами:
- проекты и их квоты;
- пользователи, их роли и токены;
- публичные подсети;
- лицензии ПО.
Провайдер использует нашу публичную Go-библиотеку для работы с API.
И библиотека, и сам провайдер являются открытым программным обеспечением, их разработка ведется на Github:
- репозиторий библиотеки Go-selvpcclient;
- репозиторий провайдера Terraform-provider Selectel.
Подробно о начале работы с Terraform.
Python selvpc CLI
Доступен консольный клиент python-selvpcclient, который используется для подготовки к работе с ресурсами Облачной платформы. Подробнее в инструкции Работа с selvpc CLI.
GO selvpc CLI
Для взаимодействия с инфраструктурой сервиса используется библиотека go-selvpcclient. Установка пакета производится командой:
go get github.com/selectel/go-selvpcclient/selvpcclient
Аутентификация производится с помощью API-ключей. Документация по использованию библиотеки доступна на pkg.go.dev.
Ansible
Система управления конфигурациями Ansible предназначена для автоматизации рутинных задач и облегчения жизни системного администратора. Для наших клиентов был разработан пакет ansible-selvpc-modules, который включает в себя несколько ansible-модулей, предназначенных специально для нашего сервиса.
Пакет ansible-selvpc-modules включает в себя:
- selvpc_projects — для управления проектами;
- selvpc_quotas — для управления ресурсами проекта;
- selvpc_limits — для получения информации о доступных ресурсах;
- selvpc_users — для работы с пользователями;
- selvpc_floatingips — для работы с плавающими ip адресами;
- selvpc_subnets — для работы с подсетями;
- selvpc_roles — для работы с ролями в проекте;
- selvpc_tokens — для создания ключей;
- selvpc_licenses — для работы с лицензиями.
Детальное описание работы с пакетом есть в статье Работа с VPC при помощи пакета ansible-selvpc-modules.