> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Брендинг

> Изменение заголовка сайта, логотипа, ссылок в шапке, нижних колонтитулов и сообщения о техническом обслуживании в развёртывании на Kubernetes.

Сервис **web** формирует заголовок, логотип, ссылки в шапке, нижние колонтитулы и страницу технического обслуживания на основе переменных окружения. Все настройки и их формат описаны в разделе [Брендинг](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/overleaf-toolkit/branding.md); в Kubernetes они помещаются в ConfigMap.

| | |
| - | - |
| Сервис | web в каждом поде Ayakaleaf Pro; считывается при запуске web |
| Сеть | нет: логотипы — это URL, которые загружает браузер |
| Периодические задания | нет (web проверяет файл обслуживания каждые 5 секунд, см. ниже) |

### Настройка

```yaml title="30-config.yaml (additions)" wrap theme={null}
  OVERLEAF_NAV_TITLE: Our Overleaf Instance
  OVERLEAF_HEADER_IMAGE_URL: https://example.com/img/logo.png
  OVERLEAF_HEADER_EXTRAS: '[{"text":"Help","url":"https://example.com/help","class":"subdued"}]'
  OVERLEAF_LEFT_FOOTER: '[{"text":"Run by the IT department"}]'
  OVERLEAF_RIGHT_FOOTER: '[{"text":"Imprint","url":"https://example.com/imprint"}]'
  OVERLEAF_MAINTENANCE_MESSAGE: Our Overleaf Instance is down for maintenance and will be back shortly.
```

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

Заключайте значения JSON в одинарные кавычки, как показано выше, чтобы YAML сохранил их как одну строку. Недопустимый JSON в `OVERLEAF_HEADER_EXTRAS` или в нижних колонтитулах игнорируется и только записывается в журнал при запуске.

### Режим технического обслуживания

Страница технического обслуживания отображается, пока файл `/etc/overleaf/site_status` в контейнере содержит `closed`. У каждого пода своя копия этого файла, а новый или перезапущенный под запускается в открытом состоянии. Чтобы закрыть сайт, запишите файл в каждом поде:

```bash theme={null}
for p in $(kubectl -n overleaf get pod -l app=overleaf -o name); do   # app=overleaf-ha for several replicas
  kubectl -n overleaf exec "$p" -- sh -c 'echo closed > /etc/overleaf/site_status'
done
```

Чтобы завершить обслуживание, таким же образом запишите `open`. Поды подхватывают изменение в течение 5 секунд.

Кнопка **Close Editor** в панели администратора работает иначе: она закрывает редактор только в той реплике, которая обработала запрос администратора, и эта реплика снова открывает его при перезапуске. При нескольких репликах вместо неё используйте файл, как описано выше.

### Проверено на Kubernetes

На Kubernetes 1.37: с приведёнными выше настройками в ConfigMap страницы показывали `OVERLEAF_NAV_TITLE`, левый нижний колонтитул и, после входа, ссылку из `OVERLEAF_HEADER_EXTRAS` (на страницах входа ссылки в шапке скрыты). Запись `closed` в `/etc/overleaf/site_status` одного пода показывала страницу технического обслуживания с `OVERLEAF_MAINTENANCE_MESSAGE` только на этом поде, а `open` завершал обслуживание в течение нескольких секунд. При трёх репликах Close Editor в панели администратора закрывал редактор только на реплике, обслуживавшей администратора, тогда как две другие оставались открытыми.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.