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, установленная в AirflowKEYCLOAK__AUTH_REQUIRED- вкл/выкл механизма аутентификацииKEYCLOAK__STRATEGY- introspect (по умолчанию) / userinfo - эндпоинт KC для получения информацииKEYCLOAK__CLIENT_SECRET- секрет для клиента KCAPI_ROOT_PATH_PREFIX- префикс для корневого URL приложения. Пример: axiom
Настройки KeyCloak
ВАЖНО: Начиная с текущего релиза роли для работы с приложением достаются только на уровне клиента. Наличие реалм-ролей (вместо клиентских) у пользователей будет игнорироваться.
ВАЖНО 2: Стратегия работы через introspect, описанная далее, работает только на Keycloak версии 23 и выше.
В приложении появляется возможность ходить в эндпоинт /introspect для валидации токена (включено по умолчанию).
Для корректной работы необходимо создать в KC нового ПРИВАТНОГО клиента. На клиенте нужно создать необходимые роли axiom. Эти клиентские роли требуется раздать пользователям в соответствии с ролевой моделью.
Секрет нового созданного клиента необходимо положить в переменную окружения KEYCLOAK__CLIENT_SECRET.
Для включения старого подхода с походом в эндпоинт /userinfo требутся задать значение
KEYCLOAK__STRATEGY=userinfo
Airflow
- Добавлена инструкция о создании дага, очищающего историю запусков в Airflow.
- Протетистирована работоспособность приложения с версией airflow 2.9. При переезде на него важно
корректно указать переменную среды
AF__PYTHON_VERSION
Префикс для корневого URL приложения - API_ROOT_PATH_PREFIX
При необходимости использования префикса нужно внести изменения в values.yaml:
- API_ROOT_PATH_PREFIX в configMaps (например: "axiom")
- uriPrefix в ingress (например: "/axiom/api")
Префикс для корневого URL WEB приложения - ROOT_PATH_PREFIX
При необходимости использования суффикса к домену WEB интерфейса
нужно внести изменения в values.yaml на примере суффикса axiom-web:
- uriPrefix в ingress: /axiom-web
- value для ROOT_PATH_PREFIX: "/axiom-web"
- Добавить перед /index.html в livenessProbe и readinessProbe livenessProbe: httpGet: path: /axiom-web/index.html ...
readinessProbe: httpGet: path: /axiom-web/index.html