containers / podlet

Generate Podman Quadlet files from a Podman command, compose file, or existing object
https://crates.io/crates/podlet
Mozilla Public License 2.0
486 stars 13 forks source link

Can't convert compose service with user field that includes GID #106

Closed rany2 closed 3 weeks ago

rany2 commented 1 month ago
# cat compose.yml 
version: "3.7"
services:
  true:
    image: 'docker.io/busybox'
    command: 'true'
    user: 999:999
# podman run -v ./compose.yml:/compose.yml -e RUST_BACKTRACE=full --rm -it ghcr.io/containers/podlet compose /compose.yml 
Error: 
   0: error converting compose file
   1: error reading compose file
   2: File `/compose.yml` is not a valid compose file
   3: services.true.user: invalid user or group name character `:`, names may only contain ASCII letters (a-z, A-Z), digits (0-9), underscores (_), and dashes (-), with an optional dollar sign ($) at the end at line 6 column 11

Location:
   src/cli/compose.rs:203

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 2 frames hidden ⋮                               
   3: podlet::cli::compose::Compose::try_into_files::hbb0684eb9a2da675
      at <unknown source file>:<unknown line>
   4: podlet::cli::Cli::try_into_files::hc6cd37e582077a0f
      at <unknown source file>:<unknown line>
   5: podlet::cli::Cli::print_or_write_files::h9c545e61e13df831
      at <unknown source file>:<unknown line>
   6: podlet::main::h349908b29c837a4a
      at <unknown source file>:<unknown line>
   7: std::sys_common::backtrace::__rust_begin_short_backtrace::h060f8b9c3addbcd6
      at <unknown source file>:<unknown line>
   8: std::rt::lang_start::{{closure}}::he7aa7e8f31a658f7
      at <unknown source file>:<unknown line>
   9: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h95600587cb28d946
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/ops/function.rs:284
  10: std::panicking::try::do_call::h19463e8b7e5759dc
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552
  11: std::panicking::try::h9c53f8a8b4478cb2
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516
  12: std::panic::catch_unwind::h1bf2d4ddc0dfe252
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146
  13: std::rt::lang_start_internal::{{closure}}::h974ac37711bf3c2b
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148
  14: std::panicking::try::do_call::hd0925bfa231be214
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:552
  15: std::panicking::try::h4999557a22e5ef52
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panicking.rs:516
  16: std::panic::catch_unwind::hbe1275e05de4c7ab
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/panic.rs:146
  17: std::rt::lang_start_internal::h14632ddfb850e80e
      at /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/std/src/rt.rs:148
  18: main<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
k9withabone commented 1 month ago

Responded in the compose_spec issue, k9withabone/compose_spec_rs#23, which this issue is blocked on.