Перейти к содержимому
Elemctl
Русский
Esc
navigateopen⌘Jpreview
На этой странице

Настройка

Параметры подключения, переменные окружения и язык интерфейса.

Настройка

Реквизиты подключения берутся из переменных окружения либо из .env в текущем каталоге (переменные окружения имеют приоритет):

Переменная Назначение
ELEMENT_BASE_URL базовый URL платформы, например https://1cmycloud.com
ELEMENT_CLIENT_ID Client-Id для получения токена
ELEMENT_CLIENT_SECRET Client-Secret
ELEMENT_APP_ID приложение по умолчанию (необязательно)
ELEMENT_PROJECT_ID проект по умолчанию (необязательно)
ELEMENT_SPACE_ID пространство по умолчанию (необязательно)
ELEMENT_CA_FILE дополнительный PEM-файл CA для частного облака (необязательно)
ELEMENT_TLS_STRICT строгая проверка сертификатов по RFC 5280; по умолчанию true
ELEMENT_TLS_VERIFY проверка сертификата и имени сервера; по умолчанию true

Client-Id/Client-Secret выпускаются в панели управления 1cmycloud (раздел интеграций Console API). Шаблон файла – .env.example.

Настройка через .env

Скопируйте шаблон в каталог, из которого будете запускать elemctl:

cp .env.example .env

Затем заполните как минимум адрес платформы, Client-Id и Client-Secret:

ELEMENT_BASE_URL=https://1cmycloud.com
ELEMENT_CLIENT_ID=client-id
ELEMENT_CLIENT_SECRET=client-secret

Без параметра --env-file инструмент ищет файл с точным именем .env в текущем каталоге запуска. Это не обязательно каталог проекта или каталог, в котором установлен elemctl. В репозитории elemctl файл .env исключён из Git; если вы создаёте его в другом репозитории, добавьте .env в .gitignore. Файл содержит секрет и не должен попадать в коммиты или журналы работы.

Если конфигурация лежит в другом месте, укажите её явно. Абсолютный путь надёжнее для MCP-сервера, фоновых запусков и CI:

elemctl --env-file /opt/elemctl/cloud.env apps list

Параметр можно ставить и после команды:

elemctl apps list --env-file /opt/elemctl/cloud.env

Относительный путь разрешается от текущего каталога. Несколько файлов позволяют работать с разными стендами без изменения переменных процесса:

elemctl --env-file ./env/public-cloud.env apps list
elemctl --env-file ./env/local-cloud.env apps list

Пример конфигурации локального облака с доверенным, но устаревшим внутренним CA, который Python 3.13 отклоняет из-за строгой проверки RFC 5280:

ELEMENT_BASE_URL=https://cloud.internal.example
ELEMENT_CLIENT_ID=client-id
ELEMENT_CLIENT_SECRET=client-secret
ELEMENT_TLS_STRICT=false

Если внутренний CA уже доверен, но Python 3.13 отклоняет его с ошибкой Basic Constraints of CA cert not marked critical, задайте ELEMENT_TLS_STRICT=false. Проверка цепочки, срока действия, подписи и имени сервера при этом сохраняется; отключается только строгий профиль RFC 5280 в OpenSSL. Если возможно, предпочтительнее исправить или перевыпустить CA.

Если частного CA нет в системном хранилище, укажите ELEMENT_CA_FILE=/path/to/internal-ca.pem. Значение ELEMENT_TLS_VERIFY=false полностью отключает проверку сертификата и имени сервера и предназначено только для изолированной тестовой сети как крайняя мера. При отключённой проверке каждая команда печатает предупреждение в stderr – в stdout остаётся только ответ, поэтому вывод JSON по конвейеру им не портится. Допустимые логические значения: true/false, yes/no, on/off и 1/0.

ELEMCTL_NO_PROXY решает другую задачу: направляет запрос мимо прокси окружения. Он может помочь, когда прокси не видит внутренний адрес или подменяет сертификат, но не отменяет TLS-проверку сервера. Если прямое соединение дошло до сервера и завершилось ошибкой CERTIFICATE_VERIFY_FAILED, настройте доверенный CA или параметры ELEMENT_TLS_*.

Поведение инструмента

Эти переменные задаются только окружением – в .env подключения им не место:

Переменная Назначение
ELEMCTL_LANG язык сообщений и справки (ru, en); флаг --lang сильнее
ELEMCTL_NO_PROXY обходить прокси окружения во всех вызовах (петлевые и приватные адреса обходятся и так)
ELEMCTL_NO_PLUGINS не искать плагины: прогон только со штатными возможностями ядра

Окружение CI

Своих переменных сборка не заводит, но читает те, что CI выставляет сам, – и потому в конвейере не нужны ни флаг версии, ни правка исходников:

Переменная Назначение
CI_PIPELINE_IID номер прогона; из него берётся суффикс версии сборки, когда нет ни --build-version, ни предыдущей сборки
GITHUB_RUN_NUMBER то же, второй по очереди
BUILD_NUMBER то же, третий по очереди (берётся первое ЧИСЛОВОЕ значение)
CI_COMMIT_BRANCH имя ветки для манифеста, когда git в отцепленном HEAD
CI_COMMIT_REF_NAME то же, второй по очереди
GITHUB_REF_NAME то же, третий по очереди; значение HEAD отбрасывается, и поле остаётся пустым

Язык

Сообщения об ошибках, прогресс и текст --help выводятся на русском и английском (JSON-результат от языка не зависит). Язык выбирается так: --lang ru|en > переменная ELEMCTL_LANG > системная локаль (LC_ALL, затем LANG) > русский; --lang читается до построения парсера, поэтому elemctl --lang en --help печатает справку по-английски.

Последнее обновление 26 августа 2026 г.

Эта страница была полезной?