hashicorp / hashicorp/nomad-pack

Paths exposed through Envoy for external services using by Consul connect

Open
#307 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
447
Forks
65
PR merge metrics
No merged PRs in 30d

Description

### Nomad version
nomad.version `1.5.0` (fc40c491cacec3d8ec3f2f98cd82b9068a50797c)

### Operating system and Environment details
Debian `11.5`
kernel.version `5.10.0-19-amd64`
docker.version `20.10.21`
consul.version `1.14.3`
nomad-pack `v0.0.1-techpreview.3 (3b4163b)`

### Issue
We have updated the Nomad in cluster to version 1.5.0 (1.4.3 before) on servers and clients. After that we noticed our services that was configured `exposed path` in Consul no longer have this. We use nomad-pack to deploy jobs to cluster

#### before update
nomad
![](https://i.ibb.co/WWzvWQF/1.png)
consul
![](https://i.ibb.co/d2w3hjy/2.png)

#### after update (and redeploy job)
nomad
![](https://i.ibb.co/Rzk86B8/3.png)
consul
![](https://i.ibb.co/rZfvhDc/4.png)

#### Diff in Job Definition in our cluster between `nomad-pack run` and `nomad run` jobs
![](https://i.ibb.co/6PtRVh1/image.png)

### Reproduction steps
You can use any pack with Expose Paths configuration to test this issue. And then try to deploy this job by `nomad run` command. For example you can use the job below

```
job "job" {
datacenters = ["dc1"]
type = "service"

group "group" {
network {
mode = "bridge"
port "expose" {}
}

service {
tags = ["test"]
name = "service"
port = "6166"
meta {
metrics_port = "${NOMAD_HOST_PORT_expose}"
}

connect {
sidecar_task {
config {}
resources {
cpu = 100
memory = 100
}
}

sidecar_service {
proxy {
expose {
path {
path = "/metrics"
protocol = "http"
local_path_port = "6166"
listener_port = "expose"
}
}
}
}
}
}

task "task" {
driver = "docker"
config {
image = "hashicorp/http-echo"
args = [
"-listen",
":6166",
"-text",
"hello world",
]
}
}
}
}

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.