Installing redpanda on nomad cluster

I can use some help to fine tune the nomad job spec I have below to install redpanda on a 3 node nomad cluster. I used their docker compose file and tried to translate it to a nomad job spec. I am using a csi storage volume for this. My cluster also has consul for service discovery.

My questions:

  1. Can I install this as a system job? How does consul service discovery change this confguration? They are installing 3 different services and getting them to talk to each other with rpc, I think.
  2. if setting it up as a system job, do I need to do redpanda-1, 2 and 3? Perhaps I need just redpanda-1 ?
  3. What is the best network mode for this? bridge or host?
job "redpanda-cluster" {
  datacenters = ["your-datacenter"]

  group "redpanda-group" {
    network {
      mode = "bridge"
    }

    volume "redpanda-csi" {
      type      = "csi"
      read_only = false
      source    = "redpanda-csi-volume-nfs"
      access_mode = "multi-node-multi-writer"
      attachment_mode = "file-system"
    }

    task "redpanda-0" {
      driver = "docker"

			volume_mount {
        volume      = "redpanda-csi"
        destination = "/redpanda-0"
        read_only   = false
      }

      config {
        image   = "docker.redpanda.com/redpandadata/redpanda:v23.2.17"
        command = ["redpanda", "start",
          "--kafka-addr", "internal://0.0.0.0:9092,external://0.0.0.0:19092",
          "--advertise-kafka-addr", "internal://redpanda-0:9092,external://localhost:19092",
          "--pandaproxy-addr", "internal://0.0.0.0:8082,external://0.0.0.0:18082",
          "--advertise-pandaproxy-addr", "internal://redpanda-0:8082,external://localhost:18082",
          "--schema-registry-addr", "internal://0.0.0.0:8081,external://0.0.0.0:18081",
          "--rpc-addr", "redpanda-0:33145",
          "--advertise-rpc-addr", "redpanda-0:33145",
          "--smp", "1",
          "--memory", "1G",
          "--mode", "dev-container",
          "--default-log-level=debug"]
      }

      resources {
        network {
          port "http"       { static = 18081}
          port "pandaproxy" { static = 18082}
          port "kafka"      {static  = 19092}
          port "rpc"        {static  = 19644}
        }
      }

      volumes = [
        "redpanda-0:/var/lib/redpanda/data",
      ]

      env {
        # Add any necessary environment variables here
      }
    }

    task "redpanda-1" {
      driver = "docker"

			volume_mount {
        volume      = "redpanda-csi"
        destination = "/redpanda-1"
        read_only   = false
      }

      config {
        image   = "docker.redpanda.com/redpandadata/redpanda:v23.2.17"
        command = ["redpanda", "start",
          "--kafka-addr", "internal://0.0.0.0:9092,external://0.0.0.0:29092",
          "--advertise-kafka-addr", "internal://redpanda-1:9092,external://localhost:29092",
          "--pandaproxy-addr", "internal://0.0.0.0:8082,external://0.0.0.0:28082",
          "--advertise-pandaproxy-addr", "internal://redpanda-1:8082,external://localhost:28082",
          "--schema-registry-addr", "internal://0.0.0.0:8081,external://0.0.0.0:28081",
          "--rpc-addr", "redpanda-1:33145",
          "--advertise-rpc-addr", "redpanda-1:33145",
          "--smp", "1",
          "--memory", "1G",
          "--mode", "dev-container",
          "--default-log-level=debug",
          "--seeds", "redpanda-0:33145"]
      }

      resources {
        network {
          port "http"       { static = 28081}
          port "pandaproxy" {static  = 28082}
          port "kafka"      {static  = 29092}
          port "rpc"        {static  = 29644}
        }
      }

      volumes = [
        "redpanda-1:/var/lib/redpanda/data",
      ]

      env {
        # Add any necessary environment variables here
      }

      depends_on = ["redpanda-0"]
    }

    task "redpanda-2" {
      driver = "docker"

			volume_mount {
        volume      = "redpanda-csi"
        destination = "/redpanda-2"
        read_only   = false
      }

      config {
        image   = "docker.redpanda.com/redpandadata/redpanda:v23.2.17"
        command = ["redpanda", "start",
          "--kafka-addr", "internal://0.0.0.0:9092,external://0.0.0.0:39092",
          "--advertise-kafka-addr", "internal://redpanda-2:9092,external://localhost:39092",
          "--pandaproxy-addr", "internal://0.0.0.0:8082,external://0.0.0.0:38082",
          "--advertise-pandaproxy-addr", "internal://redpanda-2:8082,external://localhost:38082",
          "--schema-registry-addr", "internal://0.0.0.0:8081,external://0.0.0.0:38081",
          "--rpc-addr", "redpanda-2:33145",
          "--advertise-rpc-addr", "redpanda-2:33145",
          "--smp", "1",
          "--memory", "1G",
          "--mode", "dev-container",
          "--default-log-level=debug",
          "--seeds", "redpanda-0:33145"]
      }

      resources {
        network {
          port "http"       {static = 38081}
          port "pandaproxy" {static = 38082}
          port "kafka"      {static = 39092}
          port "rpc"        {static = 39644}
        }
      }

      volumes = [
        "redpanda-2:/var/lib/redpanda/data",
      ]

      env {
        # Add any necessary environment variables here
      }

      depends_on = ["redpanda-0"]
    }

    task "console" {
      driver = "docker"

      config {
        image      = "docker.redpanda.com/redpandadata/console:v2.3.8"
        entrypoint = ["/bin/sh", "-c"]
        command    = 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console'
      }

      resources {
        network {
          port "http" {static = 8080}
        }
      }

      volumes = []

      env {
        CONFIG_FILEPATH      = "/tmp/config.yml"
        CONSOLE_CONFIG_FILE  = <<EOF
          kafka:
            brokers: ["redpanda-0:9092"]
            schemaRegistry:
              enabled: true
              urls: ["http://redpanda-0:8081"]
          redpanda:
            adminApi:
              enabled: true
              urls: ["http://redpanda-0:9644"]
        EOF
      }

      depends_on = ["redpanda-0"]
    }
  }
}