Возможные проблемы и способы их устранения
failed to read expected number of bytes: unexpected EOF
Ошибка связана с работой Docker реестра. Данная проблема была устранена в версии ПО GitFlic 3.3.0
В случае если вы встречаете подобную ошибку в версии ПО GitFlic 3.3.0 и выше , необходимо воспользоваться CLI идущей в комплекте с дистрибутивом ПО GitFlic
Подробнее с ПО gitflic-cli , можно ознакомиться на данной странице.
1. Распакуйте архив с ПО GitFlic в любую удобную директорию
unzip gitflic_3.3.0_free.zip
2. Перейдите в директорию cli внутри распакованного архива
cd /path/to/archive/cli
3. Сделайте скрипт gitflic-cli.sh исполняемым
chmod +x ./gitflic-cli.sh
4. Запустите скрипт
./gitflic-cli.sh /path/to/gitflic/properties/application.properties
#Например, ./gitflic-cli.sh /user/admin/gitflic/default-config/application.properties
5. Дождитесь окончания запуска скрипта
2024-02-22 14:36:32.630 INFO 7 --- [ main] o.s.i.channel.PublishSubscribeChannel : Channel 'application.errorChannel' has 1 subscriber(s).
2024-02-22 14:36:32.631 INFO 7 --- [ main] o.s.i.endpoint.EventDrivenConsumer : started bean '_org.springframework.integration.errorLogger'
shell:>
6. Ведите команду fix docker manifest и дождитесь выполнения.
7. После успешного выполнения выйдите из приложения комбинацией клавиш ctrl+c
psql: error obtaining MAC configuration for user
Ошибка означает что БД не может верно определить метку безопасности пользователя.
Для устранения необходимо проверить есть ли у пользователя который запускает СУБД (postgres по умолчанию) необходимые права на чтение и исполнение необходимых директорий
sudo getfacl /etc/parsec/macdb/
sudo getfacl /etc/parsec/capdb/
Запись в выводе user:postgres:r-x
Если данной записи в выводе нет, необходимо задать необходимые права
sudo setfacl -R -m u:postgres:rx /etc/parsec/capdb
sudo setfacl -R -m u:postgres:rx /etc/parsec/macdb
Проверьте результат перезапуском приложения.
Если ошибка осталась
Установите валидные уровни конфиденциальности для пользователя согласно официальной инструкции
Отсутствуют RSA ключи стандарта PKCS8 попробуйте добавить их указав пути gitflic.vault.cert.privateKey и gitflic.vault.cert.publicKey в application.properties
Использование данных ключей связано с работой Vault, SAML OIDC, подписи контейнеров, подписи токенов в CI. Поля gitflic.vault.cert.privateKey и gitflic.vault.cert.publicKey являются обязательными.
Если эта проблема возникла во время обновления с версии 3.x.x:
Нужно с помощью утилиты [keys-retriever.jar](https://gitflic.ru/project/gitflic/keys-retriever/blob/raw?file=keys-retriever.jar) извлечь ключевую пару из текущей инсталляции ПО Gitflic.
Подробнее про обновление с версии 3.х.х
Для новых инсталляций начиная с версии 4.x.x:
1. Создать приватный ключ при помощи утилиты **openssl** командой: `openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048`
2. Создать публичный ключ при помощи утилиты **openssl** командой: `openssl rsa -pubout -in private_key.pem -out public_key.pem`
3. После создания пары ключей, необходимо указать путь до этих файлов в **application.properties** в параметры gitflic.vault.cert.privateKey и gitflic.vault.cert.publicKey
org.springframework.dao.InvalidDataAccessResourceUsageException
Данная ошибка связана с настройками используемого PostgreSQL.
В первую очередь необходимо выполнить диагностику параметра standard_conforming_strings именно в той базе данных и под тем пользователем PostgreSQL, под которым работает приложение.
Требуется выполнить в консоли БД следующие команды:
``` show standard_conforming_strings;
select current_setting('standard_conforming_strings'); ```
Ожидаемый ответ для обеих команд: on.
Для определения источника, из которого определяется значение параметра необходимо выполнить команду в консоли БД:
select
name,
setting,
source,
sourcefile,
sourceline,
pending_restart
from pg_settings
where name = 'standard_conforming_strings';
- Если source = 'configuration file', параметр задан в конфигурационном файле PostgreSQL.
- Если source = 'database', параметр переопределён на уровне базы данных.
- Если source = 'user', параметр переопределён на уровне пользователя/роли.
- Если source = 'client' или source = 'session', параметр задаётся при подключении или уже внутри сессии.
Для управления активации функции через конфигурационный файл, необходимо определить где он находится в системе. Узнать это можно при помощи команд:
show config_file;
show data_directory;
В ответе будет именно тот postgresql.conf, который использует данный экземпляр PostgreSQL.
В используемом конфигурационном файле должно быть установлено:
standard_conforming_strings = on
После изменения конфигурации необходимо применить её:
select pg_reload_conf();
Либо выполнить перезапуск PostgreSQL, если это требуется регламентом эксплуатации. После этого перезапустите GitFlic.