#macos

1 messages Β· Page 1 of 1 (latest)

ionic abyss
agile geyser
#

Unfortunately it requires to disable SIP 😦

ionic abyss
#

I have no idea what that is, which makes it OK! πŸ˜›

agile geyser
#

lol unfortunately It’s not okay. You need to restart your MacBook in recovery mode and type in a command in the terminal to disable the SIP (system integrity protection) https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection and it’s a very bad idea to encourage that.

Apple Developer Documentation

Disable system protections only temporarily during development to test drivers, kernel extensions, and other low-level code.

tacit berry
mortal totem
#

I thought disabling SIP is what everyone does after getting a new mac. πŸ˜„

tacit berry
mortal totem
#

You should rather laugh. It's better. πŸ˜„

fallow karma
idle steppe
ionic abyss
narrow bobcat
ionic abyss
inland elk
#

yo, I'm new to Dagger and I'm trying some stuff on MacOS
I'm running into "no space left on device" errors when running some functions
I exec-d into the dagger engine container and I noticed this

/ # df -h
Filesystem                Size      Used Available Use% Mounted on
overlay                 109.7G    106.0G         0 100% /
tmpfs                    64.0M         0     64.0M   0% /dev
shm                      64.0M         0     64.0M   0% /dev/shm
/dev/vda1               109.7G    106.0G         0 100% /etc/resolv.conf
/dev/vda1               109.7G    106.0G         0 100% /etc/hostname
/dev/vda1               109.7G    106.0G         0 100% /etc/hosts
/dev/vda1               109.7G    106.0G         0 100% /var/lib/dagger
/dev/vda1               109.7G    106.0G         0 100% /etc/dnsmasq-resolv.conf
overlay                 109.7G    106.0G         0 100% /etc/resolv.conf

does this make sense?

inland elk
hybrid vapor
# inland elk yo, I'm new to Dagger and I'm trying some stuff on MacOS I'm running into "no sp...

If you go to settings on docker desktop, you can increase the size of the virtual disk used by docker. This does not solve it, it only postpone the problem. Besides, if you need ever to reduce, it deletes all containers and images in it to create a new one with the decreased size.

If you don’t have space on your system to increase docker disk image, you’d have to prune. This link teaches how to do it. Just start all containers you don’t want deleted and run the command docker system prune

https://docs.docker.com/desktop/faqs/macfaqs/#how-do-i-reduce-the-maximum-size-of-the-file

Docker Documentation

Frequently asked questions for Docker Desktop for Mac

hybrid vapor
woeful sandal
#

Hi - just getting started with dagger and tried to run "dagger init --sdk go --source ./dagger" in my dev folder and notice that all of a sudden it tries to traverse and upload(?) my entire $HOME folder to what I think is the docker engine. Why on earth does it want to do that? I immediately hit ctrl+c to break it #1030538312508776540

runic atlas
#

Upload $HOME

ionic abyss
rough pagoda
#

and i don't think anybody's gonna build that bc there are too many limitations? like Virtualization.Framework, despite being fast and close to the metal, is still doing hardware virtualization, so every VM gets its own OS, FS, kernel, etc

ionic abyss
#

I'm picturing something like a separate dag.Mac() core function, which would return a Host-like type, where you could execute command, read and write files, etc. You wouldn't get caching etc. but at least you could orchestrate xcode builds and get files in and out. The key is that it would be in a VM controlled by dagger, and isolated from the actual host so OK to give a module control of (maybe VM is namespaced by module, so each module gets exactly one VM to mess around with)

fathom veldt
#

I'm eager to upgrade to v0.16.0 but am hitting a snag:

brew upgrade dagger/tap/dagger
==> Upgrading 1 outdated package:
dagger/tap/dagger 0.15.4 -> 0.16.0
==> Fetching dagger/tap/dagger
==> Downloading https://dl.dagger.io/dagger/releases/0.16.0/dagger_v0.16.0_darwin_arm64.tar.gz
########################################################################################################################################################################################################################################### 100.0%
Error: SHA256 mismatch
Expected: 5ae286047958a70e6ed541c81e5fbc4550b979ecb75d2fb95c1c132907c9945b
  Actual: 4d19b0f10a2cbaeeff7a6a4e182fbcd40f12243bad0f68a4e6e0765a74105647
    File: /Users/matt/Library/Caches/Homebrew/downloads/969b15c0ba09d53e123325d4f35c285bee4dda1a72217e31482886d5c03400ce--dagger_v0.16.0_darwin_arm64.tar.gz
To retry an incomplete download, remove the file above.

Error persists after removing the tar and trying again.

high galleon
fathom veldt
#

Yep, works great now. Thanks!

ionic abyss
#

I wonder if we could co-opt this idea for solving the problem of native execution in dagger. https://news.ycombinator.com/item?id=43985624

GreenGames

Hey HN, we're excited to share Lumier (https://github.com/trycua/cua/tree/main/libs/lumier), an open-source tool for running macOS and Linux virtual machines in Docker containers on Apple Silicon Macs.When building virtualized environments for AI agents, we needed a reproducible way to package and distribute macOS VMs. Inspired by projects like ...

polar ivy
ionic abyss
#

@polar ivy it can't be just a module though, something needs to natively execute the lume CLI on the mac host. My thinking is maybe dagger itself could do that as a hardcoded integration, similar to 1password integration

polar ivy
ionic abyss
#

It could work right?

polar ivy
#

we can do the same in Windows with HyperV also

rough pagoda
polar ivy
#

seems like as similar thing

#

"Push/Pull virtual machines from any OCI-compatible container registry."

#

"Easily integrates with any CI system."

hybrid vapor
ionic abyss
hybrid vapor
polar ivy
#

let's continue discussing here.

#

@desert cedar is currently doing some testing with this. Apparently it "seems" like we might be lucky and supporting that in Dagger could be straightforward. We're doing some tests now and will report back once we have a better understanding on the coverage of what works.

desert cedar
ionic abyss
#

πŸ‘€πŸ‘€πŸ‘€πŸ‘€πŸ‘€

desert cedar
slim ibex
#

Just updated to Tahoe and wanted to try containers. I followed the instructions here, however I'm getting the following message:

β–Ό connect 0.0s ERROR
! start engine: failed to run command [docker info]: exit status 64
╰─▼ exec docker info 0.0s ERROR
  ┃ Error: failed to find plugin named container-info
  ┃ Usage: container [--debug] <subcommand>
  ┃   See 'container --help' for more information.
  ! failed to run command [docker info]: exit status 64

The engine is running:

$ container ls
ID                      IMAGE                               OS     ARCH   STATE    ADDR
dagger-engine-v0.18.19  registry.dagger.io/engine:v0.18.19  linux  arm64  running  192.168.64.2
$ echo $_EXPERIMENTAL_DAGGER_RUNNER_HOST 
docker-container://dagger-engine-v0.18.19

Any clues?

ionic abyss
somber adder
# slim ibex Just updated to Tahoe and wanted to try containers. I followed the instructions ...

this pr's description probably needs to make it in the docs but i got it to work by prefixing the host with image+apple / container+apple instead of docker-container

GitHub

Fixes:

Proposal: better support for other local container runtimesΒ #10676
✨ Identify bugs/friction and remove them to make apple/container support first class #10666

Related:

Compute DriversΒ #55...

#

also, got it working without setting the runner host by removing docker from the PATH

ionic abyss
#

@somber adder @slim ibex an update on this...

  1. Our docs are wrong 😬 aliasing docker to container does not work
  2. As of the current stable release, Dagger will automatically pick container if it's available, and fall back to docker.
  3. Make sure to remove your docker alias, and unset _EXPERIMENTAL_DAGGER_RUNNER_HOST. With just a vanilla system configuration, and a vanilla Dagger configuration, everything should work the way you want

Sorry for the confusion! We're going to remove the docs page.

cc @barren ether who clarified things for me πŸ™

ionic abyss
strange kelp
#

πŸ€” I'm trying to have Dagger working with container, but it looks like not everything is working.
I have dagger core version working as expected and I can see the dagger container been created:

$ dagger core version
β–Ά connect 3.1s
● loading type definitions 0.3s

β–Ά version: String! 0.0s

● parsing command line arguments 0.0s

v0.18.19

$ container ls
ID                      IMAGE                               OS     ARCH   STATE    ADDR          CPUS  MEMORY
dagger-engine-v0.18.19  registry.dagger.io/engine:v0.18.19  linux  arm64  running  192.168.64.4  4     8192 MB

But when I'm trying to go further, I have several issues:

#

If I'm trying to just create an alpine container:

dagger -M
Dagger interactive shell. Type ".help" for more information. Press Ctrl+D to exit.

β–Ό container | from alpine | with-new-file /hi Hello | with-exec -- cat /hi | combined-output 0.3s ERROR
β”œβ”€β— container: Container! 0.0s
β”œβ”€β–Ό .from(address: "alpine"): Container! 0.3s ERROR
β”‚ ! failed to resolve image "docker.io/library/alpine:latest" (platform: "linux/arm64"): failed to resolve source metadata for
β”‚   docker.io/library/alpine:latest: failed to get credentials: error getting credentials - err: exec: "docker-credential-
β”‚   desktop": executable file not found in $PATH, out: ``
β”‚ ╰─▼ resolving docker.io/library/alpine:latest 0.3s ERROR
β”‚   ! failed to get credentials: error getting credentials - err: exec: "docker-credential-desktop": executable file not found
β”‚     in $PATH, out: ``
β”‚   ╰─▼ remotes.docker.resolver.HTTPRequest 0.3s ERROR
β”‚     β•°β”€βœ˜ HTTP HEAD 0.3s ERROR

This might be because I still have some Docker Desktop things on my machine, but it means we can't really have Docker and container at the same time on the machine

#

One other issue is, sometimes, the dagger container just disappear...

$ dagger core version
β–Ό connect 31.1s ERROR
! start engine: new client: interrupted
β”œβ”€β–Ά exec container system status 0.0s
β”œβ”€β–Ά starting engine 0.1s
╰─▼ connecting to engine 31.0s ERROR
  ! new client: interrupted
  ╰─▼ creating client 31.0s ERROR
    ! interrupted
    β”œβ”€βœ˜ moby.buildkit.v1.Control/Info 0.0s ERROR
    β”‚ ! connection error: desc = "error reading server preface: command [container exec -i dagger-engine-v0.18.19 buildctl
    β”‚   dial-stdio] has exited with exit status 1, make sure the URL is valid, and Docker 18.09 or later is installed on the
    β”‚   remote host: stderr=Error: notFound: \"get failed: container dagger-engine-v0.18.19 not found\"\n"

$ container ls
ID  IMAGE  OS  ARCH  STATE  ADDR  CPUS  MEMORY

It looks like the client still think the engine is there, trying to access it, but it failed.
It makes me think about the container having a panic and be removed, but I'm seeing nothing in the logs, even if I container logs -f dagger-engine-v0.18.19

It looks like to be reproducible:

$ dagger core version && dagger core version
β–Ά connect 3.0s
● loading type definitions 0.3s
● parsing command line arguments 0.0s

β–Ά version: String! 0.0s

v0.18.19

Full trace at https://dagger.cloud/dagger/traces/591ea3db8150ee1eef284e6f3d68162c
β–Ό connect 6.3s ERROR
! start engine: new client: interrupted
β”œβ”€β–Ά exec container system status 0.0s
β”œβ”€β–Ά starting engine 0.2s
╰─▼ connecting to engine 6.1s ERROR
  ! new client: interrupted
  ╰─▼ creating client 6.1s ERROR
    ! interrupted
    β”œβ”€βœ˜ moby.buildkit.v1.Control/Info 0.0s ERROR
    β”‚ ! connection error: desc = "error reading server preface: command [container exec -i dagger-engine-v0.18.19 buildctl
    β”‚   dial-stdio] has exited with exit status 1, make sure the URL is valid, and Docker 18.09 or later is installed on the
    β”‚   remote host: stderr=Error: notFound: \"get failed: container dagger-engine-v0.18.19 not found\"\n"

Second call is always failing

high galleon
shrewd prawn
shrewd prawn
ionic abyss
shrewd prawn
silk ledge
#

πŸ‘‹ for visibility: https://github.com/dagger/dagger/issues/11242
I had to try the native apple container tooling, I think it's supported... but something funny is going on and I'm not sure is me/apple containers/dagger πŸ˜„

GitHub

What happened? What did you expect to happen? What am I doing wrong? πŸ˜… For "reasons", some of our engineers have started looking at apple containers to replace their colima/podman (90% of...

strange kelp
silk ledge
#

you guys are 🦸
it takes me longer to report issues than you to fix them πŸ˜›

strange kelp
random creek
#

is there a way to enable NAT on the bridge interface created by the apple container? Essentially, I only want the "host <-> guest" communication only, making the container somewhat isolated.

polar ivy
random creek
polar ivy
random creek
polar ivy
shrewd prawn
#

is there any way to combine two mac power to run one dagger engine? @polar ivy @ionic abyss

vital gust
polar ivy
grim grove
#

I am seeing an error with colima that I'm not seeing with docker desktop. When I run anything on dagger core engine local-cache entry-set entries I get this error

15:06:46 ERR cleanup failed msg="close dagger session" err="shutdown: do shutdown: Post \"http://dagger/shutdown\": command [docker exec -i dagger-engine-v0.20.1 buildctl dial-stdio] has exited with exit status 1, make sure the URL is valid, and Docker 18.09 or later is installed on the remote host: stderr=Error: dial unix /run/dagger/engine.sock: connect: connection refused\nUsage:\n  dial-stdio [flags]\n\nFlags:\n      --addr string   The address serving the grpc api (default \"unix:///run/dagger/engine.sock\")\n  -h, --help          help for dial-stdio\n      --timeout int   The timeout in seconds for connecting to the grpc api (default 5)\n\n" duration=1.034878791s

Most everything else runs fine on colima. I can even prune the cache. But the above command fails.

high galleon