-
Notifications
You must be signed in to change notification settings - Fork 929
feat(cli): allow specifying name of provisioner daemon #11077
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick look
@@ -198,6 +200,7 @@ func (c *Client) ServeProvisionerDaemon(ctx context.Context, req ServeProvisione | |||
} | |||
query := serverURL.Query() | |||
query.Add("id", req.ID.String()) | |||
query.Add("name", req.Name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
curious: is it required to pass ID and name now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm going to end up ignoring the ID parameter and just upserting based on name in a follow-up PR.
if len(hostname+suffix) > 62 { | ||
hostname = hostname[:62-len(suffix)] | ||
} | ||
name := fmt.Sprintf("%s-%s", hostname, suffix) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A hostname could include e.g. _
, /
, --
, etc. I believe validation would fail in this case.. should we sanitize (strip/replace/allowlist)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not, but it turns out that you can write whatever you want to /proc/sys/kernel/hostname
. The hostname
command will validate its input, but it looks like docker
will happily accept whatever you give it.
If we trim, we run the risk of collisions between machines named foo/bar
, foo~bar
, and foo!"£$%^&*()_+{}~@:?,bar
. I'm leaning towards not sanitizing this.
Part of #10676
--name
argument toprovisionerd start
hostname
if not specified for external,hostname-N
for integratedcliutil.Hostname