Advertisement
fedorm

Untitled

Jul 11th, 2019
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 14.14 KB | None | 0 0
  1. job "gateway" {
  2.  
  3.   datacenters = ["dc1"]
  4.  
  5.   type = "system"
  6.  
  7.   update {
  8.     max_parallel = 1
  9.     min_healthy_time = "30s"
  10.     healthy_deadline = "2m"
  11.     auto_revert      = true
  12.   }
  13.  
  14.   group "gateway" {
  15.     task "gateway" {
  16.       driver = "docker"
  17.       config {
  18.         image = "artifactory.setmachine.ru:5000/haproxy:1.9.4"
  19.         auth {
  20.           username = "admin"
  21.           password = "tc324012"
  22.         }
  23.         port_map = {
  24.           http = 8090
  25.           http_nonsecure = 9999
  26.           stats = 3333
  27.         }
  28.         volumes = [
  29.           "local/haproxy:/usr/local/etc/haproxy"
  30.         ]
  31.       }
  32.  
  33.       template {
  34.         data = <<EOF
  35.          {{ key "haproxy-key" }}
  36.          EOF
  37.        destination   = "secrets/haproxy-key"
  38.        change_mode = "signal"
  39.        change_signal = "SIGHUP"
  40.      }
  41.  
  42.      template {
  43.        data = <<EOH
  44.          global
  45.              nbthread 4              
  46.          defaults
  47.              timeout connect 5000
  48.              timeout client 30000
  49.              timeout server 30000
  50.              option http-server-close
  51.          frontend https
  52.              mode http
  53.              bind :8090 ssl crt /secrets/haproxy-key
  54.  
  55.              # Потом эти пути купонинга надо удалить. SLS-232
  56.              acl deprecated_coupon_coupon_test path_beg /test-couponing/processing/coupons/coupon
  57.              acl deprecated_coupon_category_test path_beg /test-couponing/processing/coupons/category
  58.              acl deprecated_coupon_coupon_production path_beg /production-couponing/processing/coupons/coupon
  59.              acl deprecated_coupon_category_production path_beg /production-couponing/processing/coupons/category
  60.  
  61.              # Переходные пути (удалить, когда на центруме пропишут новые пути /processing/couponing)
  62.              acl middle_coupon_coupon_test path_beg /test-couponing/coupon
  63.              acl middle_coupon_category_test path_beg /test-couponing/category
  64.              acl middle_coupon_coupon_production path_beg /production-couponing/coupon
  65.              acl middle_coupon_category_production path_beg /production-couponing/category
  66.  
  67.              # Новые пути купонинга SLS-232
  68.              acl coupon_coupon_test path_beg /processing/test-couponing/coupon
  69.              acl coupon_category_test path_beg /processing/test-couponing/category
  70.              acl coupon_coupon_production path_beg /processing/couponing/coupon
  71.              acl coupon_category_production path_beg /processing/couponing/category
  72.  
  73.              acl counters_restriction_processing path_beg /processing/restrictions
  74.  
  75.              # Старый путь сегментов надо удалить SLS-232
  76.              acl deprecated_segments_processing path_beg /processing/segments
  77.  
  78.              # Новый путь сегментов SLS-232
  79.              acl segments_processing path_beg /processing/segmentation
  80.  
  81.              # Потом эти пути купонинга надо удалить. SLS-232
  82.              use_backend deprecated-coupon-coupon-test if deprecated_coupon_coupon_test
  83.              use_backend deprecated-coupon-category-test if deprecated_coupon_category_test
  84.              use_backend deprecated-coupon-coupon-production if deprecated_coupon_coupon_production
  85.              use_backend deprecated-coupon-category-production if deprecated_coupon_category_production
  86.  
  87.              # Переходные пути (удалить, когда на центруме пропишут новые пути /processing/couponing)
  88.              use_backend middle-coupon-coupon-production if middle_coupon_coupon_production
  89.              use_backend middle-coupon-category-production if middle_coupon_category_production
  90.              use_backend middle-coupon-coupon-test if middle_coupon_coupon_test
  91.              use_backend middle-coupon-category-test if middle_coupon_category_test
  92.  
  93.              # Новые пути купонинга SLS-232
  94.              use_backend coupon-coupon-test if coupon_coupon_test
  95.              use_backend coupon-category-test if coupon_category_test
  96.              use_backend coupon-coupon-production if coupon_coupon_production
  97.              use_backend coupon-category-production if coupon_category_production
  98.  
  99.              use_backend counters-restriction-processing if counters_restriction_processing
  100.              use_backend segments-processing if segments_processing
  101.              use_backend deprecated-segments-processing if deprecated_segments_processing
  102.          frontend http
  103.              mode http
  104.              bind :9999
  105.              # Потом эти пути купонинга надо удалить. SLS-232
  106.              acl deprecated_coupon_coupon_test path_beg /test-couponing/processing/coupons/coupon
  107.              acl deprecated_coupon_category_test path_beg /test-couponing/processing/coupons/category
  108.              acl deprecated_coupon_coupon_production path_beg /production-couponing/processing/coupons/coupon
  109.              acl deprecated_coupon_category_production path_beg /production-couponing/processing/coupons/category
  110.  
  111.              # Переходные пути (удалить, когда на центруме пропишут новые пути /processing/couponing)
  112.              acl middle_coupon_coupon_test path_beg /test-couponing/coupon
  113.              acl middle_coupon_category_test path_beg /test-couponing/category
  114.              acl middle_coupon_coupon_production path_beg /production-couponing/coupon
  115.              acl middle_coupon_category_production path_beg /production-couponing/category
  116.  
  117.              # Новые пути купонинга SLS-232
  118.              acl coupon_coupon_test path_beg /processing/test-couponing/coupon
  119.              acl coupon_category_test path_beg /processing/test-couponing/category
  120.              acl coupon_coupon_production path_beg /processing/couponing/coupon
  121.              acl coupon_category_production path_beg /processing/couponing/category
  122.  
  123.              acl counters_restriction_processing path_beg /processing/restrictions
  124.  
  125.              # Старый путь сегментов надо удалить SLS-232
  126.              acl deprecated_segments_processing path_beg /processing/segments
  127.  
  128.              # Новый путь сегментов SLS-232
  129.              acl segments_processing path_beg /processing/segmentation
  130.  
  131.              # Потом эти пути купонинга надо удалить. SLS-232
  132.              use_backend deprecated-coupon-coupon-test if deprecated_coupon_coupon_test
  133.              use_backend deprecated-coupon-category-test if deprecated_coupon_category_test
  134.              use_backend deprecated-coupon-coupon-production if deprecated_coupon_coupon_production
  135.              use_backend deprecated-coupon-category-production if deprecated_coupon_category_production
  136.  
  137.              # Переходные пути (удалить, когда на центруме пропишут новые пути /processing/couponing)
  138.              use_backend middle-coupon-coupon-production if middle_coupon_coupon_production
  139.              use_backend middle-coupon-category-production if middle_coupon_category_production
  140.              use_backend middle-coupon-coupon-test if middle_coupon_coupon_test
  141.              use_backend middle-coupon-category-test if middle_coupon_category_test
  142.  
  143.              # Новые пути купонинга SLS-232
  144.              use_backend coupon-coupon-test if coupon_coupon_test
  145.              use_backend coupon-category-test if coupon_category_test
  146.              use_backend coupon-coupon-production if coupon_coupon_production
  147.              use_backend coupon-category-production if coupon_category_production
  148.  
  149.              use_backend counters-restriction-processing if counters_restriction_processing
  150.  
  151.              use_backend segments-processing if segments_processing
  152.              use_backend deprecated-segments-processing if deprecated_segments_processing
  153.  
  154.           # Потом эти пути купонинга надо удалить. SLS-232
  155.          backend deprecated-coupon-coupon-test
  156.              mode http
  157.              reqrep ^([^\ ]*\ /)test-couponing\/processing\/coupons\/coupon[/]?(.*)     \1\2
  158.              balance roundrobin{{range service "coupons-test-coupon-coupon"}}
  159.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  160.          backend deprecated-coupon-category-test
  161.              mode http
  162.              reqrep ^([^\ ]*\ /)test-couponing\/processing\/coupons\/category[/]?(.*)     \1\2
  163.              balance roundrobin{{range service "coupons-test-category-category"}}
  164.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  165.          backend deprecated-coupon-coupon-production
  166.              mode http
  167.              reqrep ^([^\ ]*\ /)production-couponing\/processing\/coupons\/coupon[/]?(.*)     \1\2
  168.              balance roundrobin{{range service "coupons-production-coupon-coupon"}}
  169.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  170.          backend deprecated-coupon-category-production
  171.              mode http
  172.              reqrep ^([^\ ]*\ /)production-couponing\/processing\/coupons\/category[/]?(.*)     \1\2
  173.              balance roundrobin{{range service "coupons-production-category-category"}}
  174.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  175.  
  176.          # Переходные пути (удалить, когда на центруме пропишут новые пути /processing/couponing)
  177.          backend middle-coupon-coupon-test
  178.              mode http
  179.              reqrep ^([^\ ]*\ /)test-couponing[/]?(.*)     \1\2
  180.              balance roundrobin{{range service "coupons-test-coupon-coupon"}}
  181.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  182.          backend middle-coupon-category-test
  183.              mode http
  184.              reqrep ^([^\ ]*\ /)test-couponing[/]?(.*)     \1\2
  185.              balance roundrobin{{range service "coupons-test-category-category"}}
  186.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  187.          backend middle-coupon-coupon-production
  188.              mode http
  189.              reqrep ^([^\ ]*\ /)production-couponing[/]?(.*)     \1\2
  190.              balance roundrobin{{range service "coupons-production-coupon-coupon"}}
  191.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  192.          backend middle-coupon-category-production
  193.              mode http
  194.              reqrep ^([^\ ]*\ /)production-couponing[/]?(.*)     \1\2
  195.              balance roundrobin{{range service "coupons-production-category-category"}}
  196.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  197.  
  198.          # Новые пути купонинга SLS-232
  199.          backend coupon-coupon-test
  200.              mode http
  201.              reqrep ^([^\ ]*\ /)processing\/test-couponing[/]?(.*)     \1\2
  202.              balance roundrobin{{range service "coupons-test-coupon-coupon"}}
  203.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  204.          backend coupon-category-test
  205.              mode http
  206.              reqrep ^([^\ ]*\ /)processing\/test-couponing[/]?(.*)     \1\2
  207.              balance roundrobin{{range service "coupons-test-category-category"}}
  208.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  209.          backend coupon-coupon-production
  210.              mode http
  211.              reqrep ^([^\ ]*\ /)processing\/couponing[/]?(.*)     \1\2
  212.              balance roundrobin{{range service "coupons-production-coupon-coupon"}}
  213.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  214.          backend coupon-category-production
  215.              mode http
  216.              reqrep ^([^\ ]*\ /)processing\/couponing[/]?(.*)     \1\2
  217.              balance roundrobin{{range service "coupons-production-category-category"}}
  218.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  219.  
  220.          # Процессинг ограничений
  221.          backend counters-restriction-processing
  222.              mode http
  223.              reqrep ^([^\ ]*\ /)processing\/restrictions[/]?(.*)     \1\2
  224.              balance roundrobin{{range service "counters-restriction-processing"}}
  225.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  226.  
  227.          # Процессинг сегментов
  228.          backend deprecated-segments-processing
  229.              mode http
  230.              balance roundrobin{{range service "segments-proxy"}}
  231.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  232.          backend segments-processing
  233.              mode http
  234.              reqrep ^([^\ ]*\ /)processing\/segmentation[/]?(.*)     \1\2
  235.              balance roundrobin{{range service "segments-proxy"}}
  236.              server {{.Node}}-{{.Port}} {{.Address}}:{{.Port}}{{end}}
  237.          listen stats
  238.              bind :3333
  239.              mode http
  240.              stats enable
  241.              stats hide-version
  242.              stats realm Haproxy\ Statistics
  243.              stats uri /stats
  244.              stats auth admin:324012
  245.          EOH
  246.        destination = "local/haproxy/haproxy.cfg"
  247.        change_mode = "signal"
  248.        change_signal = "SIGHUP"
  249.      }
  250.      resources {
  251.        cpu = 1000
  252.        memory = 100
  253.        network {
  254.          port "http" {
  255.            static = "8090"
  256.          }
  257.          port "http_nonsecure" {
  258.            static = "9999"
  259.          }
  260.          port "stats" {
  261.            static = "3333"
  262.          }
  263.        }
  264.      }
  265.    }
  266.    task "haproxy-exporter" {
  267.      driver = "docker"
  268.      config {
  269.        image = "artifactory.setmachine.ru:5000/haproxy-exporter:0.10.0"
  270.        auth {
  271.          username = "admin"
  272.          password = "tc324012"
  273.        }
  274.        args = [
  275.          "--haproxy.scrape-uri", "http://admin:324012@${NOMAD_ADDR_gateway_stats}/stats;csv"
  276.        ]
  277.        port_map = {
  278.          metrics = 9101
  279.        }
  280.      }
  281.      service {
  282.        port = "metrics"
  283.        address_mode = "host"
  284.  
  285.        check {
  286.          type = "http"
  287.          interval = "5s"
  288.          timeout = "2s"
  289.          path = "/up"
  290.  
  291.          check_restart {
  292.            limit = 1
  293.            grace = "30s"
  294.          }
  295.        }
  296.      }
  297.      resources {
  298.        cpu = 100
  299.        memory = 20
  300.        network {
  301.          port "metrics" {}
  302.        }
  303.      }
  304.    }
  305.  }
  306. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement