AntonAndreevichMoroz / RealMikrotikBackup

Система резервного копирования для оборудования Mikrotik, с возможностью использования функционала Git для контроля версий конфигураций оборудования.
GNU General Public License v3.0
39 stars 8 forks source link

Не работает git #3

Closed ilyadavydyuk closed 2 years ago

ilyadavydyuk commented 2 years ago

Валится на шаге "Git2" в n8n, с такой ошибкой:

TypeError [ERR_INVALID_URL]: Invalid URL: undefined
    at onParseError (internal/url.js:259:9)
    at new URL (internal/url.js:335:5)
    at prepareRepository (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Git/Git.node.js:184:29)
    at async Object.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Git/Git.node.js:278:48)
    at async /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/src/WorkflowExecute.js:447:47

А до этого вообще не содавался репозиторий локальный, пока руками не сказал git init в каталоге /backups/rsc

AntonAndreevichMoroz commented 2 years ago

У вас какая-то ошибка с URL репозитория. Покажите часть конфига, отвечающий за настройку GIT.

ilyadavydyuk commented 2 years ago

Gitlab внутри инфраструктуры, корневой сертификат на систему откуда запускается RMB импортирован А до этой ошибки была на 'GIT1' - GIT_DISCOVERY_ACROSS_FILESYSTEM not set. Добавил переменную в env со значением "1", и docker-compose. Не помогло.

GIT_URL=https://gitlab.xxxxxxx.ru/root/mikrotik-backups.git
GIT_USER=root
GIT_PASSWORD=Password
GIT_CONFIG_USERNAME=Ilya
GIT_CONFIG_USERMAIL=id@xxxxxxx.ru
AntonAndreevichMoroz commented 2 years ago
  1. Вы изначально создавали репозиторий на gitlab? Уже после этого запускали RMB?
  2. Делать git init не надо. Репозиторий уже должен существовать. При запуске контейнера n8n проверяет имеется ли в папке ./backups/rsc информация о git командой git status. Если получить информацию не получается, то пробует git clone репозитория.

Пока я вижу, что скорее всего ваш репозиторий не был заранее создан на gitlab.

Если сейчас он функционирует и может быть склонирован через git clone, то удалите папку rsc и перезагрузите контейнеры. Папка будет создана заново и в нее склонируется ваш существующий репозиторий.

ilyadavydyuk commented 2 years ago

Репозиторий конечно существует до запуска контейнеров. На Workflow at startup была ошибка при клонировании репозитория:

SSL certificate problem: unable to get local issuer certificate

Вопрос решился добавлением в dockerfile n8n:

ADD root.crt /usr/local/share/ca-certificates/root.crt
RUN chmod 644 /usr/local/share/ca-certificates/root.crt && update-ca-certificates

и пересборкой образа n8n.