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!
>>
>
>
prev parent 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).