Skip to content

Release 0.15 notes

Создание индексов

В связи с частичным бэкпортом оптимизации создания датасетов в POST /transform из Axiom 0.16, необходимо вручную создать недостающие индексы в metastore Axiom:

create index if not exists ind_dataset_db_table_name on meta.dataset (db_table_name);
create index if not exists ind_dataset_db_schema_name on meta.dataset (db_schema_name);

Индексы будут автоматически созданы при установке релиза Axiom 0.16 в случае их отсутствия.

ENVIRONMENT VARIABLES

NEW

  • AF__PYTHON_VERSION - версия python, установленная в Airflow
  • KEYCLOAK__AUTH_REQUIRED - вкл/выкл механизма аутентификации
  • KEYCLOAK__STRATEGY - introspect (по умолчанию) / userinfo - эндпоинт KC для получения информации
  • KEYCLOAK__CLIENT_SECRET - секрет для клиента KC
  • API_ROOT_PATH_PREFIX - префикс для корневого URL приложения. Пример: axiom

Настройки KeyCloak

ВАЖНО: Начиная с текущего релиза роли для работы с приложением достаются только на уровне клиента. Наличие реалм-ролей (вместо клиентских) у пользователей будет игнорироваться.

ВАЖНО 2: Стратегия работы через introspect, описанная далее, работает только на Keycloak версии 23 и выше.

В приложении появляется возможность ходить в эндпоинт /introspect для валидации токена (включено по умолчанию).

Для корректной работы необходимо создать в KC нового ПРИВАТНОГО клиента. На клиенте нужно создать необходимые роли axiom. Эти клиентские роли требуется раздать пользователям в соответствии с ролевой моделью.

Секрет нового созданного клиента необходимо положить в переменную окружения KEYCLOAK__CLIENT_SECRET.

Для включения старого подхода с походом в эндпоинт /userinfo требутся задать значение KEYCLOAK__STRATEGY=userinfo

Airflow

  1. Добавлена инструкция о создании дага, очищающего историю запусков в Airflow.
  2. Протетистирована работоспособность приложения с версией airflow 2.9. При переезде на него важно корректно указать переменную среды AF__PYTHON_VERSION

Префикс для корневого URL приложения - API_ROOT_PATH_PREFIX

При необходимости использования префикса нужно внести изменения в values.yaml:

  1. API_ROOT_PATH_PREFIX в configMaps (например: "axiom")
  2. uriPrefix в ingress (например: "/axiom/api")

Префикс для корневого URL WEB приложения - ROOT_PATH_PREFIX

При необходимости использования суффикса к домену WEB интерфейса нужно внести изменения в values.yaml на примере суффикса axiom-web:

  1. uriPrefix в ingress: /axiom-web
  2. value для ROOT_PATH_PREFIX: "/axiom-web"
  3. Добавить перед /index.html в livenessProbe и readinessProbe livenessProbe: httpGet: path: /axiom-web/index.html ...

readinessProbe: httpGet: path: /axiom-web/index.html