Skip to content

Release 0.13 notes

ENVIRONMENT VARIABLES

Deprecated

  • ENGINE__SKIP_FEATURES_STATS
  • ENGINE__SKIP_STAT_ENTITY_COUNT
  • KEYCLOAK__OPENID_POSTFIX
  • KEYCLOAK__USERINFO_POSTFIX
  • KEYCLOAK__ACCESS_ROLE - заменена на KEYCLOAK__ACCESS_ROLES

NEW

  • DEFAULT_ITEMS_LIMIT - значение по-умолчанию для параметра limit в GET методах
  • KEYCLOAK__ACCESS_ROLES - роли пользователей, задаются в виде словаря:
    • ключи - "read", "transform", "load", "admin"
    • значения - названия соответствующих ролей в Keycloak Старая роль "axiom" заменяется на новые 4: "read", "transform", "load", "admin".
      Эти роли необходимо добавить в Keycloak.
      По-умолчанию: '{"read": "axiom_read", "transform": "axiom_transform", "load": "axiom_load", "admin": "axiom_admin"}'
  • KEYCLOAK__CACHE_LIFETIME - время жизни кеша токенов в секундах, по-умолчанию 7200
  • DEFAULT_PERMISSION_LEVEL - значение permission по умолчанию для создаваемых объектов ("no_access", "view", "read", "edit", "full"), по-умолчанию: "full"
  • UVICORN_RELOAD - влючение флага --reload в Uvicorn (по умолчанию False)

Настроки Keycloak 20+

Info

Актуально начиная с версии keycloak-20. Оригинальный тред с описанием проблемы: https://github.com/keycloak/keycloak/issues/16168

Для валидации токена приложение ходит в keycloak в эндпоинт /userinfo. Эндпоинт требует, чтобы в переданном токене содержался scope='openid', без него поход в эндпоинт завершается возвращает ошибкой. Этого можно добиться двумя способами:

  • Без модификации настроек keycloak: при получении токена передавать параметр scope=openid (и другие, если необходимо)
  • Настройка Keycloak, чтобы openid включался автоматом:
    1. Manage -> Client Scopes -> Create client scope -> openid -> Include in token scope [ON]
    2. Clients -> {axiom client} -> Client scopes -> Add client scope -> openid -> Default

Обновление справочников

Таблицы удаляются миграцией

  • meta.data_type
  • meta.data_type_default
  • meta.data_type_category
  • meta.data_type_stats_map

Ручные изменения

Если справочник meta.ref_type_indicator не пустой, то надо выполнить запрос в схеме meta:

insert into meta.ref_type_indicator (
    fs_type,
    indicator,
    author,
    created_dttm,
    updated_dttm
)
with indicators as (
    select 'COUNT_DISTINCT' as ind union all
    select 'COUNT_DISTINCT_PER_DTTM' union all
    select 'NULL_COUNT' union all
    select 'NULL_COUNT_PER_DTTM'union all
    select 'NULL_SHARE' union all
    select 'NULL_SHARE_PER_DTTM'
)
select
    tp.fs_type,
    i.ind,
    '_root',
    now(),
    now()
from
    indicators i
inner join meta.ref_fs_type tp on
    1 = 1;

commit; 

Migration

В миграции 0.12 присутствует ошибка, которая может привести к невозможности удаления некоторых загрузчиков. Ошибка исправляется в миграции релиза 0.14.

При возникновении проблем в процессе эксплуатации версий 0.12 и 0.13 рекомендуется в метасторе приложения выполнить следующий скрипт, исправляющий ошибку:

delete from meta.feature_table_x_entity_column
where table_rk not in (select table_rk from meta.feature_table)