hashicorp / hashicorp/nomad

some automatic Nomad and/or to Consul basic "Intentions" idea

Open
#18,286 18 comments 0 reactions 0 assignees View on GitHub
stage/needs-discussion theme/networking type/enhancement
Dominant language
Go
Stars
17k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
105

Description

My primary idea looks like this:
```
service {
name = "loadbalancer"
port = "80"
provider = "nomad"
address_mode = "driver"
intentions {
scope = "myappscope" // in this scope, app could talk to each other loadbalancer
ingress = undefined / true / ["myappscope", "or service"]
egress = undefined / true / ["myappscope", "or service"]
iamloadbalancer = true/false // if true, the service is a loadbalancer and we know loadbalancer ip
loadbalanceme = true/false/["myappscope", "or service"] // if true, the service can accept traffic from
// loadbalancer and we know loadbalancer ip
}
}

service {
name = "appnameservice"
port = "80"
provider = "nomad"
address_mode = "driver"
intentions {
scope = "mysecondapp"
loadbalanceme = true
}
tags = [
"traefik.enable=true" //....
]
}
```

scope - app in same scope could talk to each other
ingress/egress - could be controlled in scope or without scope
loadbalanceme - iamloadbalancer could reach this node ( lets 1 balancer talk to 3 apps isolated from each other but not load balancer)

this block could be transfered to Consul intentions
problem - iptables / ipset rules ( open services )

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by reviewing the proposed Nomad service `intentions` block and its possible Consul transfer, then clarify the scope, ingress and egress semantics and the intended iptables/ipset behavior. Done should include agreed semantics and an implementation plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure, networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.