Skip to content

Timeouts with Keyserver | Debating on providing key in build context #3312

Closed
@ruffsl

Description

@ruffsl

So I have been adjusting the methods that the official ROS and Gazebo images have interacted with the remote keyserver, (see #3163 and #3162 ) and am not satified with its relabilty. We migrated recently to the p80 pool for sks-keyservers.net to help our users who may be behind corporate firewalls, and thus blocking the default port 11371. But now with our docker images continuous integration in place, I'm getting a lot of flaky test solely due to the fact that the keyserver is intermittently unreachable and times out: e.g.

I've seen it unofficially alluded to that the p80.pool is not load balanced, so this may be the root issue in this case; reverting to the traditional load balanced pool may be the simplest solution. I'm not sure if adding an exhaustive loop of p80 keyserver URLs to reattempt would suffice. However, I'd like to ask about whether it would be appropriate to simply provide the public key as a .asc file along inside the build context. This has been similarly discussed in the docker community here:
moby/moby#13555 and resolved here: moby/moby#29967

I could mimic moby/moby#29967 by having my image templates auto generate the included key file along with the entrypoint. I don't think it's as elegant as a one-liner keyserver command, and I'm not sure if the same arguments for revocation would apply for static image layer as opposed to live system, but it would be a reliable compromise between our corporate users who reuse our dockerfiles, and our image build CI test.

pinging @tfoote @yosifkit @tianon

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions