Skip to content
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

Unix domain socket support #12450

Closed
asauber opened this issue Nov 4, 2020 · 7 comments · Fixed by #12469
Closed

Unix domain socket support #12450

asauber opened this issue Nov 4, 2020 · 7 comments · Fixed by #12469

Comments

@asauber
Copy link

asauber commented Nov 4, 2020

Hi. In the documentation for --listen-client-urls, the docs say that a unix path like unix://<file-path> can be used.

However, due to this validation code, unix domain sockets cannot actually be used. We get an error like the following:

URL address does not have the form \"host:port\": unix:///var/etcd/data/datafile"

Is my use of the flag correct? --listen-client-urls=unix:///var/etcd/data/datafile

Has anyone had success using unix sockets with etcd?

@stale
Copy link

stale bot commented Feb 3, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 3, 2021
@spzala spzala removed the stale label Feb 16, 2021
@stale
Copy link

stale bot commented May 18, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label May 18, 2021
@xiang90
Copy link
Contributor

xiang90 commented May 18, 2021

the line you mentioned should just verify the host part not the scheme part. for that part, it probably need to differentiate unix socket which does not need a port.

@stale stale bot removed the stale label May 18, 2021
@stale
Copy link

stale bot commented Aug 16, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 16, 2021
@stale stale bot closed this as completed Sep 6, 2021
@justinsb
Copy link
Contributor

This issue has an open PR, I propose we reopen it.

/reopen

justinsb added a commit to justinsb/etcdadm that referenced this issue Nov 1, 2021
When restoring a backup for both etcd and etcd-events, I observed a
port-conflict on port 8002/8003.  Switching to unixs:// endpoints (unix
domain sockets) is a little more secure, and avoids the port conflict.

Due to etcd-io/etcd#12450 the syntax is
slightly awkward - we have to make it look like a host and port.
justinsb added a commit to justinsb/etcdadm that referenced this issue Nov 2, 2021
When restoring a backup for both etcd and etcd-events, I observed a
port-conflict on port 8002/8003.  Switching to unixs:// endpoints (unix
domain sockets) is a little more secure, and avoids the port conflict.

Due to etcd-io/etcd#12450 the syntax is
slightly awkward - we have to make it look like a host and port.
@HubertZhang
Copy link
Contributor

Hi I was wondering will this feature be supported on feature release of etcd 3.5? Creating an embedded etcd cluster using unix socket would be very convenient for test purposes😀

@thequailman
Copy link

Looks like #12469 was merged into main but not backported to 3.5, any chance it could be backported?

HubertZhang pushed a commit to HubertZhang/etcd that referenced this issue May 23, 2023
Resolves etcd-io#12450
This commits adds support to unix/unixs socket URLs, which currently
fail with the message "URL address does not have the form "host:port".
It also replaces the work started in etcd-io#11747.
HubertZhang pushed a commit to HubertZhang/etcd that referenced this issue May 24, 2023
Resolves etcd-io#12450
This commits adds support to unix/unixs socket URLs, which currently
fail with the message "URL address does not have the form "host:port".
It also replaces the work started in etcd-io#11747.

(cherry picked from commit d93b7c8)
Signed-off-by: Hubert Zhang <hubert.zyk@gmail.com>
HubertZhang pushed a commit to HubertZhang/etcd that referenced this issue Feb 19, 2024
Resolves etcd-io#12450
This commits adds support to unix/unixs socket URLs, which currently
fail with the message "URL address does not have the form "host:port".
It also replaces the work started in etcd-io#11747.

(cherry picked from commit d93b7c8)
Signed-off-by: Hubert Zhang <hubert.zyk@gmail.com>
mrbobbytables pushed a commit to kubernetes-sigs/etcd-manager that referenced this issue May 14, 2024
When restoring a backup for both etcd and etcd-events, I observed a
port-conflict on port 8002/8003.  Switching to unixs:// endpoints (unix
domain sockets) is a little more secure, and avoids the port conflict.

Due to etcd-io/etcd#12450 the syntax is
slightly awkward - we have to make it look like a host and port.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

6 participants