macOS 14 VM Type VZ / Virtiofs - SSH agent forward fails after colima stop / start (if container with agent was still running)
- Ngôn ngữ chính
- Go
- Star
- 30.8k
- Fork
- 613
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### Description
If I run a docker compose project where one service forwards the ssh agent into the container using `/run/host-services/ssh-auth.sock`, and before doing a colima stop, the project / service is not stopped, after a colima start the agent is not forwarded to the container correctly and it will fail with a connection refused.
This can be fixed by stopping all containers that use a SSH agent, stopping colima and restarting it.
Using `colima ssh` I did some checks and it seems that in the case where the issue occurs, `/run/host-services/ssh-auth.sock` is not a symlink to the agent file but a folder that contains a symlink to the agent.
manually removing that folder and creating a symlinks to the real agent file also fixes the issue.
### Version
colima version 0.6.7
git commit: ba1be00e9aec47f2c1ffdacfb7e428e465f0b58a
runtime: docker
arch: x86_64
client: v24.0.7
server: v24.0.7
limactl version 0.19.1
qemu-img version 8.2.0
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
### Operating System
- [ ] macOS Intel <= 13 (Ventura)
- [X] macOS Intel >= 14 (Sonoma)
- [ ] Apple Silicon <= 13 (Ventura)
- [ ] Apple Silicon >= 14 (Sonoma)
- [ ] Linux
### Output of `colima status`
INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: x86_64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
### Reproduction Steps
see description
### Expected behaviour
it should always correctly forward the agent.
### Additional context
Created the base image using 0.6.6 as with 0.6.7 I have this issue: https://github.com/abiosoft/colima/issues/930
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
The issue involves SSH agent forwarding in Colima's macOS virtualization (Virtiofs). Start by examining the code that sets up the /run/host-services/ssh-auth.sock symlink in the VM, likely in the virtiofs mount handling. Check the lifecycle management during colima stop/start to see why a directory is created instead of a symlink when containers are still running. Reproduce the bug by following the steps in the description, then look at the relevant files in the colima codebase to understand the socket setup logic.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- docker, docker-compose, go, macos, shell
- Lĩnh vực
- cli, developer-experience, devops
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 50/100