Конфигурирование сервисов¶
Содержание
При установке системы через amanitabar install
в рабочее окружение копируется
файл config.defaul.yml
из папки с исходным кодом проекта (см. приложение)
Для изменения конфигурационных настроек нужно использовать утилиту amanitabar:
root@test % amanitabar config --help
Usage: amanitabar config [OPTIONS] COMMAND [ARGS]...
Configuration management.
Options:
--help Show this message and exit.
Commands:
del Delete a configuration option.
set Set a configuration option.
show Show configuration.
Вывод парамтеров конфигурации¶
Команда config show
выводит все параметры, а config show PARAM
только параметры,
в которых есть PARAM
. Пример:
root@test tmp % amanitabar config show ODOO_HOST
ODOO_HOST: 127.0.0.1
Начальная конфигурация¶
Файл конфигурации, клонируемый при создании рабочего окружения:
AGENT_UID: test
AMANITA_BARRIER_PREFIX: {{ PREFIX }}
GPIO_CMD: /usr/local/bin/gpio
ODOO_HOST: 127.0.0.1
ODOO_PORT: 8069
ODOO_BUS_POLLING_PORT: 8072
ODOO_USER: callpanel_test
ODOO_PASS: callpanel_test
ODOO_DB: barrier
ODOO_SCHEME: http # or https
ODOO_SINGLE_DB: yes
ODOO_BUS_ENABLED: yes
ODOO_SYNC_TIMEOUT: 10
PIPE_ENABLED: yes
PIPE_PATH: /tmp/access_request.pipe
PINS_PORT: /dev/ttyUSB0
PINS_ENABLED: yes
PINS_BAUD_RATE: 9600
PINS_READ_INTERVAL: 0.1 # Seconds to sleep between port read
# Sound files can be chained.
PINS_KEY_PRESS_SOUNDS: ['TnkWDing.wav']
PINS_PIN_ACCEPTED_SOUNDS: ['Go-car.wav']
PINS_BAD_PIN: ['auth-incorrect.wav']
RECORDER_ENTRY_KEEP_DAYS: 15
LANGUAGE: en
AMQP_URI: amqp://guest:guest@localhost:5672/
# Used by alembic
SQLALCHEMY_URL: sqlite:///{{ PREFIX }}/app.db
# Used by nameko-sqlalchemy
DB_URIS:
'recorder:Base': sqlite:///{{ PREFIX }}/app.db
'config:Base': sqlite:///{{ PREFIX }}/app.db
'keykeeper:Base': sqlite:///{{ PREFIX }}/app.db
'odoo:Base': sqlite:///{{ PREFIX }}/app.db
REDIS_URIS:
local: redis://127.0.0.1/1
LOG_FILE: {{ PREFIX }}/amanita_barrier.log
SUPERVISORD_CONF_DIR: {{ SUPERVISORD_CONF_DIR }}
SUPERVISORD_LOG_DIR: {{ SUPERVISORD_LOG_DIR }}
# Logger
LOGGING:
version: 1
formatters:
default:
format: '%(asctime)s - %(name)s:%(lineno)s - %(levelname)s - %(message)s'
handlers:
console:
class: logging.StreamHandler
formatter: default
file:
class: logging.FileHandler
filename: amanita_barrier.log
mode: a
formatter: default
level: INFO
graypy:
level: ${GRAYLOG_LEVEL:INFO}
class: graypy.GELFUDPHandler
host: ${GRAYLOG_HOST:localhost}
port: ${GRAYLOG_PORT:12201}
localname: ${GRAYLOG_SOURCE:nameko}
loggers:
sqlalchemy.engine.base:
level: WARNING
nameko:
level: INFO
kombu:
level: WARNING
root:
level: DEBUG
handlers: [console, file, graypy]
Настройки сервисов¶
Odoo¶
Дополнительные настройки Odoo, не включенный в файл по-умолчанию:
- ODOO_BUS_ENABLED - использовать
/longpolling/poll
(по-умолчанию = 1). Иногда необходимо отключить поллинг, для этого надо установить это значение в 0. - ODOO_SINGLE_DB - так как
/longpolling/poll
не позволяет выбрать базу, то сервис перед началом поллинга вызывает/web/session/authenticate
для выбора базы. В случае, если Odoo работает с одной базой, или используется опцияdb_filter
, можно в целях оптимизации включить режим одной базыODOO_SINGLE_DB=1
.