What's new
Coming
Web-SDK
- Request limit up to 100kb
- trackActivity new params
Heavyload
- Completely re-written
- Support files up to 500mb
Band framework
- Support for http streaming responses
- Response wrappers: pixel, redirect, error, data
Bootstrap
- Custom configuraton support
Director
- Tail logs from docker and assess it by websocker (ebaloger functionality)
Dashboard
- Logs commands: auto-follow, pause
- Swithed to director source
2 jan 2019
Services
Grafana
Band
- Fixed bug with reconnection after connection drop
- New service template using cookiecutter. More at https://github.com/rockstat/band-skeleton-py
- Band-framework config param
redis_params
renamed to rpc_params
- Custom timeout on handler registration.
@expose.handler(timeout=18000)
for 18 sec - Wildcard handlers registration. Use
name='*'
to receive all requests.
Front
- Incoming uid format checking
- Flag which turns on internal request representation for responses
- Experimental implementation of websocket server with rpc-style purpose
- Transport data in WebSocket messages
- Handlers info RPC method
handlers
. Try it curl http://host:10000/call/front/handlers
CHWriter
- Migrations support with custom user folder
- New record to table map algo
WebSDK
- Improved uid checking.
- New SDK method
request
. - Promise-based calls to server.
- Improve WS support.
- Fixed internal session absence.
- Better SPA support: clean internal counters (avtivity, etc..) on page event.
- Activity tracking option
zeroEvents
enables sending all events event if no activity happen. - Implemented
pixelSync
. Use pixelSync
to configure criteria.
Possible values: false/object, details at corresponding page
Docs
- Getting started splitted to guides
- Handling active item element in nested cetegories
Other
- Initial R support in Jupyter
- Log dashboard statistic requests
Theia
- Cmd+Shift+P -> Tasks: Run -> Genrate bans service
- Initialize script support (bootstrap.sh)
19 oct 2018
WebSDK
- Track all clicks mode. New event
element_click
. (not yet documented in struct doc and automatic events) - Updated snippet! Plz update your installation.
snippet code
Band & co
- Band Set services updated to latest Band API.
- Director switched to new SimpleCH library.
- Fixed Director services startup bug.
- Band FW fixed rpc server incompatible version.
Other
- Catch logs from SSL request service and display in dashboard logs page.
- new Theia container with workspace search, preferences and hotkeys GUI, many other things and improvements.
- new Jupyter(anaconda) container with py3.7 and latest ipython + ipykernell with async support.
- Public directory for storing external usable files accessible in Theia.
- Ability to manage CHWriter and Front custom configuration using Theia.
- new SimpleCH library with sync and async API.
02 oct 2018
- docs
- В Архитектура / Жизненный цикл и адресация появилось описание принципов формирования ключей событий.
- Появилась документация по WebSDK
- Руководство по внедрению собственного формата событий
- infrastructure
- Поддержка произвольных окружений сборки. Для выбора окружения в Ansible передается параметр branch, который будет подставлен к образам.
- Сборка основных образов в Travis-CI поддерживает dev окружение
- Образ Anaconda/Jupyter, специальный для Rockstat. В комплект входят все необходимые зависимости
- Отдельный базовый образ для сервисов на базе RockMe.ts
- Сборка front и chwriter (на базе rockme-ts) переведена на использование базового образа
- Сборка базовых образов Band.py и Rockme.ts триггерит пересборку зависимых образов
- Изменилась локация пользовательских образов контейнеров (my_images в theia).
Если ранее Вы создавали свои образы, то нужно перенести их самостоятельно при помощи последовательности действий:
NL=/srv/platform/images/user && shopt -s dotglob && mkdir -p $NL && mv /srv/platform/data/images/* $NL
.
При ошибке mv: cannot stat '/srv/platform/data/images/*': No such file or directory
,
ничего делать не нужно, это нормально, значит переносить нечего. - В Theia пользователь получил фиксированные идентификаторы.
UID=765 GID=765
,
В дальнейшем к этим идентификаторам будут приведены все кастомные конфигурационные файлы и кастомные образы,
что позволит управлять конфигурацией системы из theia. - Доработан контейнер Anaconda: обновился набор дополнительных библиотек.
- httpdebug service: управлять где ему запустить можно переменной
httpdebug_bind
вида 80:8080
или addr:80:8080
.
Для остановки указать -e http_debug_bind=absent
- Store_debug service (доступен в director) для отладки данных передаваемых listner-ам
- Front
- Учет передаваемого со списком регистраций hash, на базе которого принимается решение перестраивать список регистраций или нет
- Упразднен компонент http роутинга, переработан компонент http сервера. Работа теперь осуществляется на базе нескольких простых правил
- WebSDK
- Обновился список параметров Web-SDK на странице Getting Started.
- WebSDK переведена на новую версию Babel и WebPack
- WebSDK собирается и имплементируется в Front при запуске при помощи docker stage. Ранее просто скачивалось в CDN
- Band
- Исправлена работа обогатителей данных
- Обновлен скелет сервиса под ранее обновленный API фреймворка
- Director
- Запоминание списка запущеных сервисов и восстановление их состояния при перезагрузке
- Автостарт сервисов
mmgeo
, sxgeo
, uaparser
при первом запуске - Исправлена ошибка с недостатком портов, возникающая при запуске сервисов одним за другим
- Director поддерживает шаблонизацию Dockerfile для подстановки базового образа соответствующего требуемому окружению
- bootstrap
- Возможность накатить демонстрационный сайт
- Возможность отключить ключ удаленного обновления сервера и доступа поддержки
- Появилась возможность переназначать источники базовых образов платформы, которые использует сборщик, на свои собственные через параметр
_images_extra
, создав собственный файл private.yml
в /srv/platform/bootstrap/group_vars/
(по аналогии с _images
в /srv/platform/bootstrap/group_vars/all.yml
). - Стало возможным переназначать переменные окружения для старта новых контейнеров, которые запускаются при работе сборщика. Переменные окружения можно задать через параметр
_containers_env_extra
, создав собственный файл private.yml
в /srv/platform/bootstrap/group_vars/
(по аналогии с _containers_env
в /srv/platform/bootstrap/group_vars/all.yml
). - Проверка корректности настройки домена при старте playbook
- Поддержка и возможность выбора верификации SSL при помощи DNS challenge
- Автопродление SSL сертифифкатов. Для этого запускается специальный сервим AcmeSH Daemon
- Поддержка параметров конфигурации в инвертате (ранее доступно было только использование локальных переменных)
14 sep 2018
- infrastructure
- В Grafana изначально добавлен ClickHouse datasource, а также уже встроен демо-дашбород.
- На 90% завершен переход на предварительно собранные образы сервисов. Собираются в открытом виде в travis-ci.
- dashboard
- Реструктуризация кода Dashboards для дальнейшей разработки интерфейсов управления контейнерами.
- Ebaloger: новый сервис в составе платформы. Отбирает у докера логи контейнеров, принимает другую часть через сокет, стримит все логи на фронтенд в app. Заточен под обработку большого количества данных.
- band Новый API band framework: декоратора
@dome
больше нет, теперь методы сервисов (контейнеров) помечаются таким образом:@expose()
- делает метод доступным другим сервисам, но метод не регистрируется в Front,@expose.handler()
- регистрирует метод обработчиком в Front,@expose.enricher(keys=['in.gen.track'], props=dict(ip='td.ip'))
- регистрация обогатителя в Front - пример обогатителя из сервиса mmgeo,@export.listener()
- регистрация слушателя в Front,@worker()
- регистрация воркером сервиса,@cleanup()
- регистрация чистильщиком севиса, который запускается при остановке сервиса.
- bootstrap Добавлен новый способ получения SSL-сертификатов. Разработана новая роль для Ansible, которая использует альтернативный клиент acme.sh и умеет получать
wildcard сертификаты (*.вашдомен), причем делает это не вмешиваясь в работу сервера, используя DNS-challenge.
06 sep 2018
- band Изменен синтаксис logger. Никуда не деться, режим совместимости не работает корректно:
logger.info('extract result %s', out)
должно превратиться в logger.info('extract result', out=out)
- Многие компоненты платформы переведены на пердварительную сборку образов.
27 aug 2018
- band
- Вместо переменной
CH_DSN
, указывающей на ClickHouse Proxy появилась переменная CHS_DSN
, указывающая на ClickHouse Server, и CHP_DSN
- ClickHouse Proxy. - Родительский образ для сервисов на Band Framework теперь
rockstat/band-base-py
(вместо rst/band-base-py
). - Появился промежуточный образ Grafana, при помощи которого можно вносить изменения в ее сборку.
25 aug 2018
- bootstrap main version switched to master.
15 aug 2018
- bootstrap clickhouse column
channel
changed from enum to string. Only events
, webhooks
, activity
tables updated automatically, others need to be updated. Look at clickhouse_migrations/002-...
... a lot of issues