hashicorp / hashicorp/nomad

Enable HTTP to bind to a unix socket.

Open
#1,639 6 comments 1 reaction 0 assignees View on GitHub
stage/needs-discussion type/enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.