Bug: New GitSync issue :)
Bug Description
Hey @kmendell
It's me again with new gitsync issues.
There's seems to be an issue with gitsync when there's a directory inside the project directory which is not part of the sync itself. In my case I have bind mount directory inside the project directory.
So my flow is:
- run initial gitsync to sync compose file(s) - works fine
- add "volumes" directory in the project directory - git sync might work or fail, it seems to be related to the size of the files inside volumes dir and their permissions
I have PUID and PGID set to 1000.
Using dd directive I create file of certain size inside "volumes" directory, for example:
dd if=/dev/random of=test bs=1M count=66
This is 66MB file owned by root user, but it is 644 so readable by arcane. With this file size, sync works fine.
Now I create test file again but this time it is 67M. Same owner,same permissions, but this time sync fails. While I was executing sync I have docker logs running. But what is even worse, arcane container restarts here.
Nothing in the logs:
Aug 26 22:22:49.153 INF Using directory sync mode syncId=bcc23593-2743-4f6c-9e4b-c2c947df2a5f composePath=projects/test/compose.yaml
Aug 26 22:22:49.153 INF Starting directory walk syncId=bcc23593-2743-4f6c-9e4b-c2c947df2a5f composePath=projects/test/compose.yaml
Aug 26 22:22:49.157 INF Directory walk complete syncId=bcc23593-2743-4f6c-9e4b-c2c947df2a5f totalFiles=5 totalSize=3214 skippedBinaries=0
Aug 26 22:22:49.661 INF Filesystem change detected, syncing projects
Aug 26 22:22:50.546 INF Project sync completed after filesystem changeAfter this line, arcane restarts itself. In the UI I get 502 bad gateway, probably because of the restart.
Now, I change permissions of the test file to 640 (still owner by root). And voila, git sync works! In this case in the arcane logs I see expected warning:
WRN skipped unreadable files while staging project sync; they will be left untouched on promotion
So obviously, arcane still has issues with the directories inside the project directory that are not part of the git sync itself.
Steps To Reproduce
Explained above.
Expected Behavior
Git sync should work, ignoring the existance of directories/files in the project dir that are not part of the git sync.
Actual Behavior
Git sync fails and arcane restarts itself.
Screenshots
No response
Arcane Version
2.9.0
Installation Method
Docker Compose (Recommended)
Environment Type
Local Docker (Single instance)
Database Type
SQLite (Default)
Operating System
Linux
Docker Version
29
Browser & Version
No response
Relevant Logs or Error Messages
Docker Compose Configuration
Environment Configuration (.env file)
Additional Context
No response
Source: getarcaneapp/arcane