github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/e2e/connect/input/multi-ingress.nomad (about)

     1  job "multi-ingress" {
     2  
     3    datacenters = ["dc1"]
     4  
     5    constraint {
     6      attribute = "${attr.kernel.name}"
     7      value     = "linux"
     8    }
     9  
    10    group "gateways" {
    11      network {
    12        mode = "bridge"
    13        port "inbound1" {
    14          static = 8081
    15          to     = 8081
    16        }
    17        port "inbound2" {
    18          static = 8082
    19          to     = 8082
    20        }
    21        port "inbound3" {
    22          static = 8083
    23          to     = 8083
    24        }
    25      }
    26  
    27      service {
    28        name = "ig1"
    29        port = "8081"
    30        connect {
    31          gateway {
    32            ingress {
    33              listener {
    34                port     = 8081
    35                protocol = "tcp"
    36                service {
    37                  name = "api1"
    38                }
    39              }
    40            }
    41          }
    42        }
    43      }
    44  
    45      service {
    46        name = "ig2"
    47        port = "8082"
    48        connect {
    49          gateway {
    50            ingress {
    51              listener {
    52                port     = 8082
    53                protocol = "tcp"
    54                service {
    55                  name = "api2"
    56                }
    57              }
    58            }
    59          }
    60        }
    61      }
    62  
    63      service {
    64        name = "ig3"
    65        port = "8083"
    66        connect {
    67          gateway {
    68            ingress {
    69              listener {
    70                port     = 8083
    71                protocol = "tcp"
    72                service {
    73                  name = "api3"
    74                }
    75              }
    76            }
    77          }
    78        }
    79      }
    80    }
    81  
    82    group "api1" {
    83      network {
    84        mode = "host"
    85        port "api" {}
    86      }
    87  
    88      service {
    89        name = "api1"
    90        port = "api"
    91  
    92        connect {
    93          native = true
    94        }
    95      }
    96  
    97      task "api1" {
    98        driver = "docker"
    99  
   100        config {
   101          image        = "hashicorpdev/uuid-api:v5"
   102          network_mode = "host"
   103        }
   104  
   105        env {
   106          BIND = "0.0.0.0"
   107          PORT = "${NOMAD_PORT_api}"
   108        }
   109      }
   110    }
   111  
   112    group "api2" {
   113      network {
   114        mode = "host"
   115        port "api" {}
   116      }
   117  
   118      service {
   119        name = "api2"
   120        port = "api"
   121  
   122        connect {
   123          native = true
   124        }
   125      }
   126  
   127      task "api2" {
   128        driver = "docker"
   129  
   130        config {
   131          image        = "hashicorpdev/uuid-api:v5"
   132          network_mode = "host"
   133        }
   134  
   135        env {
   136          BIND = "0.0.0.0"
   137          PORT = "${NOMAD_PORT_api}"
   138        }
   139      }
   140    }
   141  
   142    group "api3" {
   143      network {
   144        mode = "host"
   145        port "api" {}
   146      }
   147  
   148      service {
   149        name = "api3"
   150        port = "api"
   151  
   152        connect {
   153          native = true
   154        }
   155      }
   156  
   157      task "api3" {
   158        driver = "docker"
   159  
   160        config {
   161          image        = "hashicorpdev/uuid-api:v5"
   162          network_mode = "host"
   163        }
   164  
   165        env {
   166          BIND = "0.0.0.0"
   167          PORT = "${NOMAD_PORT_api}"
   168        }
   169      }
   170    }
   171  }