Общие сведения

С помощью Artix Control Center можно централизованно управлять конфигурациями касс (настраивать различные параметры, отвечающие за поведение касс) и отслеживать состояние касс. Для обеспечения данного функционала требуется:

  1. Установить puppet сервер.
  2. Настроить подключение КС с puppet сервером.
    Подключение к Puppet серверу задается в настройках Artix Control Center пункт "Паппет":
  3. Установить пакет artixcs-puppet-objects на машину, где установлен КС.

    sudo apt-get install artixcs-puppet-objects


  4. Перезапустить КС.
  5. Можно приступать к конфигурированию касс.

В пакете artixcs-puppet-objects поставляются:

Факты, группы классов, классы и глобальные параметры поставляются через пакеты. Не рекомендуется изменять или удалять их, т.к. это может повлиять на корректную работу конфигурирования puppet узлов (касс). При необходимости добавления функционала для конфигурирования следует обратиться в службу технической поддержки Artix.

Конфигурирование puppet узлов (касс)

Для конфигурирования puppet узлов (касс) требуется:

  1. Создать конфигурационные метки на основе имеющихся классов. Чтобы настроить один из классов, требуется создать конфигурационную метку – это совокупность значений параметров одного класса. У классов есть обязательные и необязательные для заполнения параметры, а также у многих параметров есть значение по умолчанию. В конфигурационной метке каждый параметр может быть переопределен либо оставлен без изменений, если есть значение по умолчанию или значение параметра необязательно для заполнения. Одна конфигурационная метка может настраивать только один класс, но для одного класса может быть создано несколько конфигурационных меток. Например, если на разных кассах используются разные ФР, то для них можно создать разные конфигурационные метки, настраивающие один и тот же класс “Конфигурирование ФР”.
  2. Создать конфигурации на основе конфигурационных меток. Конфигурация – это совокупность конфигурационных меток. Она определяет итоговое состояние puppet узла (кассы), до которого он должен быть доведен. При создании конфигурации указывается версия кассы, которая будет установлена при применении данной конфигурации. После заполнения версии будет предоставлен список конфигурационных меток, которые можно назначить для соответствующей версии кассы.

    При создании/редактировании конфигурации также допускается переопределение глобальных параметров.

    Для переопределения глобальных параметров необходимо:

            1. Перейти во вкладку "Глобальные параметры".

            2. Выбрать в таблице необходимый объект.

            3. Установить флаг напротив поля "Изменить".

            4. Указать новое значение для глобального параметра.

            5. Сохранить изменения.

    Для глобальных параметров с типами array и map существует возможность импортировать дополнительные настройки из .csv-файла. Для этого необходимо нажать кнопку "Импортировать параметры из файла .csv" :

    По умолчанию существует 7 глобальных параметров:

    НаименованиеОписаниеПримечания
    artixCslpХост кассового сервера

    В значении требуется указать <Адрес кассового сервера>. В случае отсутствия адреса в определенной конфигурации, адрес будет взят из глобального параметра artixCsIp.

    Artix-классы, которые могут использовать глобальный параметр artixCsIp:

    Название Artix-классаНазвание параметра
    Софт-чекserverHost
    Отложенный чекserverHost
    Артикс БонусserverHost
    Подарочные сертификатыserverHost
    Счетчикиhost
    КупоныonlineCouponHost
    ОбувьmarkVerifyHost
    Табачная продукцияmarkVerifyHost
    УведомленияnetworkTesterHost
    БезопасностьadditionalRegistrationCardHost, cardVerificationHost
    Настройка времениntpServers


    egaisURLsURL транспортного модуля ЕГАИС

    Используется для продажи и возврата акцизной алкогольной продукции.

    В ключе требуется указать <код магазина>, в значении – <URL транспортного модуля ЕГАИС>. Если поле "значение" для магазина не будет заполнено, то оно будет заполняться значением из соответствующего поля "address" в классе "ЕГАИС продажа"

    processingClickPassИндивидуальные настройки процессинга ClickPass для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении <секретный ключ>_<идентификатор пользователя>.

    Например, ключ – shopCode1_cashCode2, значение – 111_222.  Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей secretKey, merchantUserId в классе "ClickPass" 

    processingRaiffeisenSBPИндивидуальные настройки процессинга СБП Райффайзен для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении <идентификатор партнёра в СБП>_<секретный ключ>_<идентификатор статического QR-кода>_<данные статического QR-кода>. Например, ключ – shopCode1_cashCode2, значение sbpMerchantId_secretKey_staticQrId_staticQrPayload. Если значение для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей sbpMerchantId, secretKey, staticQrId, staticQrPayload в классе "СБП Райффайзен"

    processingOplatiИндивидуальные настройки процессинга Оплати для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении – <Адрес сервера>_<Регистрационный номер кассы>.

    Например, ключ – shopCode1_cashCode2, значение – 192.168.0.1_567. Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей url, regNum в классе "Оплати процессинг"

    processingYarusИндивидуальные настройки процессинга Yarus для кассы

    В ключе требуется указать <код магазина>_<код кассы>, в значении – <Хост терминала>_<Порт терминала>_<Порт сетевого принтера>.

    Например, ключ – shopCode1_cashCode2, значение – 192.168.0.1_5757_5858. Если поле "значение" для магазина и кассы не будет заполнено, то оно будет заполняться значениями из соответствующих полей host, port, printerPort в классе "Yarus процессинг"

    scoBagBarcodesШтрих-код товара, который будет добавляться в чек как пакет

    В ключе требуется указать код магазина, в значении – штрих-код пакета. Если поле "значение" для магазина не будет заполнено, то оно будет заполняться значением из соответствующего поля "bagBarcode" в классе "КСО:Чек"



  3. Распространить изменения до нужного окружения. Окружение представляет собой изолированное состояние конфигураций (вместе с классами, глобальными параметрами, фактами, конфигурационными метками) на определенный момент времени. Использование окружений помогает обезопасить некорректное конфигурирование “боевых” puppet узлов (касс). По умолчанию предоставляется 4 окружения:
  4. Назначить конфигурации на кассы и произвести стыковку кассы и КС. На кассы могут быть назначены конфигурации из всех окружений, кроме “Разработка”.

    После стыковки кассы с КС все конфигурации будут помещены в директорию кассы /linuxcash/cash/conf/ncash.ini.d/puppet.

    Посмотреть статус применения конфигурации можно с помощью кнопки-индикатора на информационной панели:

    При нажатии на кнопку-индикатор осуществляется обновление статуса объекта. При наведении на кнопку-индикатор всплывает дополнительная информация:

Стыковка кассы и кассового сервера

При первом запуске кассы после ее установки puppet не нужно настраивать.

  1. Добавьте кассу на КС. Подробнее об этом можно прочитать в разделе "Архитектура торговой сети".
  2. На кассе в конце файла /etc/hosts добавить строчку:

    <ip-адрес_puppet_сервера> puppet


  3. Проверьте связь с puppet сервером с помощью команды:

    ping puppet


  4. В конфигурационный файл /etc/puppet/puppet.conf добавьте секцию [agent]. В параметре certname укажите ID кассы с кассового сервера:

    В настройку certname из секции [main] изменения не вносим.


    [main]
    logdir = /var/log/puppet
    vardir = /var/lib/puppet
    ssldir = /var/lib/puppet/ssl
    rundir = /var/run/puppet
    factpath = $vardir/lib/facter
    templatedir = $confdir/templates
    certname = cash-1-1
    [master]
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY
    [agent]
    certname = _cash_100500_67c3c935
    server = puppet
    masterport = 8140
    


  5. Запустите получение конфигураций с puppet при помощи команды:

    puppet agent --test


Удаление puppet-сертификата

В случае выхода из строя кассы и замены ее на новую необходимо удалить puppet-сертификат старой кассы, чтобы новая касса могла работать с puppet сервером. Новый puppet-сертификат будет сгенерирован при первом обращении кассы к puppet серверу.

Функционал реализован для объектов архитектуры торговой сети "касса" и "МКС".

Для удаления puppet-сертификата необходимо в дереве объектов выбрать нужный объект, перейти во вкладку "Общее" и нажать кнопку "Удалить puppet-сертификат":

После удаления puppet-сертификата будет выведено сообщение:

Обновление конфигурации

Для обновления конфигурации нажмите кнопку "Обновить конфигурацию":

Будет выведено сообщение:

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