unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Jesse Millwood <jesse_m@fastmail.com>
To: help-guix@gnu.org
Subject: Re: Debugging Shepherd Daemon. Possible escape char issue.
Date: Tue, 10 Dec 2024 08:17:38 -0500	[thread overview]
Message-ID: <c9ef0467-e8fc-42b4-95cd-b6a2aa5021f9@fastmail.com> (raw)
In-Reply-To: <bf088d7c-e2a0-4e00-af1f-37ce5ee168dc@fastmail.com>

Actually I'm not sure what my issue was before but I have this working 
as the extra arguments:

    (extra-arguments
     '("--label"
       "traefik.http.routers.whoami.rule=Host(`whoami.geekslab`)"))

Didn't have to wrap the whole thing in escaped quotes and used backticks 
for the go lang string literal in the rule.


On 12/10/24 07:11, Jesse Millwood wrote:
> For what it's worth I figured this out with help from giacomo of the 
> gocix project. He has a really neat herd action where you can query 
> the command line invocation that was used. That helped quite a bit to 
> figure out what the issue was. Turns out for passing labels to the 
> docker invocation you have to wrap the argument in escaped quotes so 
> that the whole thing is passed to the --label argument as a string:
>
>                      (oci-extra-arguments
>                       '("--label" 
> "\"traefik.http.routers.whoami.rule=Host(`whoami.geekslab`)\""))
>
> The backticks used here are because that is a string literal that is 
> evaluated by docker, which is written in the Go programming language.
>
> Jesse
>
>
> On 11/29/24 14:08, Jesse Millwood wrote:
>> Hello,
>>
>> I am trying to run some docker services as an 
>> oci-service-configuration entry.
>>
>> I have one simple one running fine. However the one that I am having 
>> trouble with, I assume is an issue with quoting and escaping. I don't 
>> see any issue in /var/log/messages. I'd like to be able to see the 
>> actual command that Shepherd is trying to run. Is there a way to do 
>> that?
>>
>> The Shepherd service I am trying to run is this:
>>
>>
>> (service oci-container-service-type
>>   (list
>>    (oci-container-configuration
>>     (image "traefik/whoami")
>>     (network "traefik-network")
>>     (extra-arguments
>>      '("--label"
>> "traefik.http.routers.whoami.rule=Host\(\\\"whoami.geekslab\\\")"))
>>     (log-file "/var/docker.whoami.log")
>>    )
>> ))
>>
>> The only feedback I get is this:
>>
>> admin@geekslab ~/geekslab/scripts$ sudo herd status docker-whoami
>> Status of docker-whoami:
>>  It is stopped.
>>  It is enabled.
>>  Provides (docker-whoami).
>>  Requires (dockerd user-processes).
>>  Will not be respawned.
>>
>> admin@geekslab ~/geekslab/scripts$ sudo herd start docker-whoami
>>  Service user-homes has been started.
>>  Service dockerd depends on elogind.
>>  Service docker-whoami depends on dockerd.
>>  herd: error: failed to start service docker-whoami
>>
>> As stated before, nothing in /var/log/messages. I'm not sure where 
>> else to look. I feel like I'm missing something when trying to debug 
>> Shepherd services. I've also tried a lot of different combinations of 
>> escapes and such.
>>
>> If I run the following from the shell though, it works fine:
>>
>> sudo docker run --rm --name whoami --label 
>> "traefik.http.routers.whoami.rule=Host(\"whoami.geekslab\")" 
>> traefik/whoami
>>
>> Notice the escaped quotes that need to be passed through. I am 
>> essentially trying to daemonize this docker run command.
>>
>> Any Shepherd pointers here would be appreciated!
>>
>
>



      reply	other threads:[~2024-12-10 13:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-29 19:08 Debugging Shepherd Daemon. Possible escape char issue Jesse Millwood
2024-11-29 21:25 ` Felix Lechner via
2024-11-29 23:52   ` Jesse Millwood
2024-12-10 12:11 ` Jesse Millwood
2024-12-10 13:17   ` Jesse Millwood [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c9ef0467-e8fc-42b4-95cd-b6a2aa5021f9@fastmail.com \
    --to=jesse_m@fastmail.com \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).