selvpc CLI

Утилита selvpc позволяет управлять проектами, квотами и пользователями для подготовки к работе с ресурсами облачной платформы. Все дальнейшие действия с облачными серверами, дисками, образами и другими ресурсами выполняются через OpenStack API и OpenStack CLI.

Установить GO selvpc CLI

Для взаимодействия с инфраструктурой сервиса используется библиотека go-selvpcclient.

Установите пакет:

go get github.com/selectel/go-selvpcclient/selvpcclient/v2

Аутентификация производится с помощью API-ключей. Документация по использованию библиотеки доступна на pkg.go.dev.

Установить Python selvpc CLI

Консольный клиент python-selvpcclient используется для подготовки к работе с ресурсами облачной платформы.

Для работы с selvpc CLI настройте доступ к проекту из локальной системы:

  1. Создайте API-токен по инструкции Ключи API.

  2. Получите актуальный URL-адрес API вида https://api.selectel.ru/vpc/resell/v2.

  3. Установите переменные окружения:

    export SEL_TOKEN=token
    export SEL_URL=api_url
    export SEL_API_VERSION=api_version
    

    Пример:

    export SEL_TOKEN=3sDasKl7HetVaKfz7tLOLFDm4_123456
    export SEL_URL=https://api.selectel.ru/vpc/resell
    export SEL_API_VERSION=2
    
  4. Загрузите библиотеку python-selvpcclient с помощью команды:

    pip install python-selvpcclient
    

После конфигурации параметров аутентификации можно запускать утилиту selvpc.

Работа с selvpc

Команды selvpc выглядят следующим образом:

selvpc <object> <command> [arguments...]

Полный список команд и аргументов в документации python-selvpcclient на GitHub.

Создать проект

Для создания проекта используется команда:

selvpc project create --name <project name>

Вывод будет выглядеть следующим образом:

+---------+----------------------------------+
| Field   | Value                            |
+---------+----------------------------------+
| id      | 1a0e275a4e1f408074f4f685e662da7c |
| name    | project                          |
| url     | https://123456.selvpc.ru         |
| enabled | True                             |
+---------+----------------------------------+

Создать пользователя

Для создания пользователя:

selvpc user create --name <username> --password <password>
+---------+----------------------------------+
| Field   | Value                            |
+---------+----------------------------------+
| id      | 00c41ee8561445bc8bb604316d5d096d |
| name    | user                             |
| enabled | True                             |
+---------+----------------------------------+

Добавить пользователя в проект

Для добавления пользователя в проект:

selvpc role create -p <project ID> -u <user ID>

Пример:

selvpc role create -p 1a0e275a4e1f408074f4f685e662da7c -u 00c41ee8561445bc8bb604316d5d096d

+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| project_id | 1a0e275a4e1f408074f4f685e662da7c |
| user_id    | 00c41ee8561445bc8bb604316d5d096d |
+------------+----------------------------------+

SSH-ключ

SSH-ключи можно использовать для подключения к облачным серверам по SSH.

SSH-ключ можно добавить в панели управления в разделе Облачная платформа ⟶ Доступ — но через панель SSH-ключи добавляются для проекта, а не для пользователя, поэтому они могут не отображаться при использовании утилиты openstack keypair list. В таком случае можно создать пользователя в проекте и добавить ему ключ или использовать для создания ключей консольный клиент selvpc.

Для создания SSH-ключа:

selvpc keypair add --name <keypair name> --user <user ID> --key <file>

Для просмотра списка созданных ключей:

selvpc keypair list

Теперь при создании нового облачного сервера через OpenStack CLI можно добавить этот ключ в качестве аргумента --key-name.

Для удаления ключа используйте:

selvpc keypair delete <keypair name> ... --user <user ID> --yes-i-really-want-to-delete