triggermesh / docs

Documentation for https://github.com/triggermesh/triggermesh
https://docs.triggermesh.io
Apache License 2.0
6 stars 11 forks source link

[ENHANCEMENT]: better windows user clarity for quick start #399

Open drdamour opened 1 year ago

drdamour commented 1 year ago

Description

maybe i'm missing it, but quickstart assumes a lot, i'm thinking it assumes you have docker desktop set with the wsl backend so the containers can work as they appear to only be linux platform. is there a way to comfigure tmctl to work with a windows docker engine, or to leverage a wsl hosted docker engine without having to run tmctl in wsl directly?

Screenshots

Additional context

tzununbekov commented 1 year ago

@drdamour there are no direct requirements in tmctl for Windows to have Docker Desktop or WSL. Could you share your experience with the windows-version of tmctl on the host with the docker engine only?

drdamour commented 1 year ago

it can't find the container because it's looking for a linux container. docker engine without wsl only runs windows containers AFAIK. do you offer your stuff in windows containers?

tzununbekov commented 1 year ago

I am confused because linux containers (lxc) are nowhere near the CLI codebase. CLI uses Docker's client that provides the OS abstraction layer and I was pretty sure it should work on Windows with Docker engine. I don't currently have a Windows box in my hands but I'll try to sort this out and test it. Meanwhile, could you share the exact tmctl command and error that you receive in the Windows terminal? Thanks.

drdamour commented 1 year ago

think your confusion lies within you thinking docker desktop and docker engine are same thing. i'm not docker expert because i use podman, but what docker desktop brought to the game was the mobyvm that delegated running the daeomon and linux containers in...which has now been supplanted by leveraged wsl2.

from https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

image

if there's a way to tell docker engine to use mobyvm...i dunno

b4 the days of the wsl2 engine you use to have to switch to linux containers in docker desktop (which fired up the mobyvm). i opened this ticket so you could make your requiremenets more clear.

here's the error you get with just docker engine

C:\Users\damourc\Downloads\tmctl_windows_amd64> ./tmctl create broker foo
2023/07/21 09:33:53 jde-catalyst | Updating manifest
2023/07/21 09:33:53 jde-catalyst | Starting container
Error: docker create: Error response from daemon: No such image: gcr.io/triggermesh/memory-broker:v1.4.0
Usage:
  tmctl create broker <name> [flags]

Examples:
tmctl create broker foo

Flags:
  -h, --help             help for broker
      --version string   TriggerMesh broker version. (default "v1.4.0")

2023/07/21 09:33:54 docker create: Error response from daemon: No such image: gcr.io/triggermesh/memory-broker:v1.4.0

the not foudn is cause it's looking for a windows architecture.

tzununbekov commented 1 year ago

Ah, now I get the issue! My initial understanding was that our CLI does not work on Windows because it cannot find containers. But now I see that it simply cannot pull container images because we don't build them for the Windows platform. Hypothetically, we could build our components for Windows OS, but updating the docs to clarify the runtime requirements seems like a preferable option right now. /cc @jmcx, let's talk about this on our next call.