You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi. I'd like a feature to allow local repo directories in containerd archives in Lima yaml. This can make a smooth experience of developing nerdctl/containerd/buildkit/others in macOS locally without using remote IDE.
Lima yaml only accepts full nerdctl tar.gz today (I found it untars the tar.gz file here so assumed it. Correct me if I missed anything). Although developers can write scripts to build the tar.gz as workaround, directly filling local repo directories can make the experience better.
Example yaml to help explain the idea. The exact interface is still TBD.
# Override containerd archive
# 🟢 Builtin default: hard-coded URL with hard-coded digest (see the output of `limactl info | jq .defaultTemplate.containerd.archives`)
archives:
- location: "~/Downloads/nerdctl-full-X.Y.Z-linux-amd64.tar.gz"
arch: "x86_64"
digest: "sha256:..."
local_repo_directories:
- arch: "x86_64"
nerdctl_directory: "~/workspace/nerdctl"
containerd_directory: "~/workspace/containerd"
buildkit_directory: "~/workspace/buildkit"
Will raise error if both archives and local_repo_directories are filled to prevent conflict (Alternative is one can override the other)
No need to check digest in local_repo_directories
If the directory of any dependency is empty in yaml, it will use the lima default one.
User story:
As a macOS developer, if I want to test my nerdctl changes locally, I can follow these steps:
Mount the local repos and compile the binaries inside the guest
Mount the local repos, but cross-compile the binaries with GOOS=linux on macOS, and symlink ln -sf /Users/your/local/repo/_output/nerdctl /usr/local/bin/nerdctl in the guest
Mount the local repos and compile the binaries inside the guest
Mount the local repos, but cross-compile the binaries with GOOS=linux on macOS, and symlink ln -sf /Users/your/local/repo/_output/nerdctl /usr/local/bin/nerdctl in the guest
For the 3rd user story, it will need developer's additional work to make the multiple changed package work together.
Description
Hi. I'd like a feature to allow local repo directories in containerd archives in Lima yaml. This can make a smooth experience of developing nerdctl/containerd/buildkit/others in macOS locally without using remote IDE.
Lima yaml only accepts full nerdctl tar.gz today (I found it untars the tar.gz file here so assumed it. Correct me if I missed anything). Although developers can write scripts to build the tar.gz as workaround, directly filling local repo directories can make the experience better.
Example yaml to help explain the idea. The exact interface is still TBD.
User story:
As a macOS developer, if I want to test my nerdctl changes locally, I can follow these steps:
lima start
with the yaml like thislima nerdctl ...
to test my changeAs a macOS developer, if I want to test my containerd changes locally, I can follow these steps:
lima start
with the yaml like thislima nerdctl ...
or log in lima shell to test in other ways with containerd socketAs a macOS developer, if I want to test a large feature that includes the features in both containerd and nerdctl locally, I can follow these steps:
lima start
with the yaml like thislima nerdctl ...
to test my change.I can help the design and implementation if you think this is a proper and useful feature for Lima
The text was updated successfully, but these errors were encountered: