Enable HTTP to bind to a unix socket.
- Dominant language
- Go
- Stars
- 17k
- Forks
- 2.1k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 105
Description
With security coming to nomad for RPC and Serf (https://github.com/hashicorp/nomad/issues/469, https://github.com/hashicorp/nomad/pull/1615) it would be nice to finish the job by allowing the HTTP UI to be protected.
While this could also be done with SSL I think it would be easier for Nomad to support binding to a unix socket (and it doesn't preclude adding SSL support later). Unix sockets provide the following advantages.
- Access can be restricted using standard posix filesystem permissions.
- Reverse proxies often provide flexible authentication options, these can be used without the need to reimplement everything in Nomad.
- Many people run reverse proxies on their servers anyways.
The only downside is that the client would need to support these authentication schemes. But starting slowly (HTTP basic auth over SSL) seems like it would be a good idea.
(Other suggestions for securing the HTTP interface also welcome)
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files or tests; start by locating Nomad's HTTP UI listener configuration and the client paths that would need to address a Unix socket. Define the supported socket configuration, permission behavior, proxy and client compatibility, and verification criteria before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100