Guest User

Untitled

a guest
Apr 4th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 17.03 KB | None | 0 0
  1. version: "3"
  2. services:
  3.   postgresdb:
  4.     image: postgres:9.6
  5.     container_name: postgresdb
  6.     ports:
  7.      - "5432:5432"
  8.     environment:
  9.      - POSTGRES_USER=kong
  10.       - POSTGRES_PASSWORD=cisco123
  11.       - POSTGRES_DB=kong
  12.       - CAMUNDA_USER=camunda
  13.       - CAMUNDA_PASSWORD=cisco123
  14.       - CAMUNDA_DB=process-engine
  15.     volumes:
  16.      - ./server/postgres/init:/docker-entrypoint-initdb.d
  17.       - "db-data-kong-postgres:/var/lib/postgresql/data"
  18.     networks:
  19.       database:
  20.         aliases:
  21.          - postgresserver
  22.  
  23.   camunda:
  24.     build:
  25.        context: ./docker/camunda
  26.        args:
  27.          - camunda_version=7.9.0
  28.     container_name: camunda
  29.     ports:
  30.      - "8080:8080"
  31.       # Debug port
  32.       #- "9080:9080"
  33.     environment:
  34.      - DB_DRIVER=org.postgresql.Driver
  35.       - DB_URL=jdbc:postgresql://postgresdb:5432/process-engine
  36.       - DB_USERNAME=camunda
  37.       - DB_PASSWORD=cisco123
  38.     volumes:
  39.        - ./server/camunda/conf/bpm-platform.xml:/camunda/conf/bpm-platform.xml
  40.         - ./server/camunda/conf/bap-auth-config.properties:/camunda/lib/bap-auth-config.properties
  41.         - ./server/camunda/lib/bap-camunda-auth-1.0-SNAPSHOT.jar:/camunda/lib/bap-camunda-auth-1.0-SNAPSHOT.jar
  42.         - ./server/camunda/migration-workflow:/camunda/webapps/migration-workflow
  43.         - ./server/camunda/osupgrade-workflow:/camunda/webapps/osupgrade-workflow
  44.         - ./server/camunda/nsosubworkflows:/camunda/webapps/nsosubworkflows
  45.         - ./server/camunda/vlandemo:/camunda/webapps/vlandemo
  46.         - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  47.         # Uncomment below and debug port above for remote debugging
  48.         # - ./server/camunda/bin/configure-and-run.sh:/usr/local/bin/configure-and-run.sh
  49.         # - ./server/camunda/bin/setenv.sh:/camunda/bin/setenv.sh
  50.     command: ["/wait-for-it.sh", "-t", "45", "postgresdb:5432", "--" , "./camunda.sh"]
  51.     depends_on:
  52.      - postgresdb
  53.       - kong
  54.     networks:
  55.      - backend-services
  56.       - database
  57.   # prometheusexporter:      
  58.   #   image: prometheus-exporter
  59.   #   environment:
  60.   #     - MONGODB_URL=mongodb://{MONGO_INITDB_ROOT_USERNAME}:{MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017
  61.   #     - DATA_SOURCE_NAME=postgres://{AUTH_DB_USER}:{AUTH_DB_PASSWORD}@postgres:5432?sslmode=disable
  62.   #   networks:
  63.   #     - database
  64.   #     - backend-services
  65.   #     - frontend  
  66.   #   restart: unless-stopped
  67.   #   ports:
  68.   #     - 9104:9104
  69.   #     - 9115:9115
  70.   #     - 9093:9093  
  71.   #     - 9187:9187    
  72.   #     - 9216:9216  
  73.   #   depends_on:
  74.   #     - mongodb
  75.   #     - postgresdb
  76.   #     - camunda
  77.   #   labels:
  78.   #     org.label-schema.group: "monitoring"
  79.   mongodb:
  80.     image: 'mongo:3.6.3'
  81.     container_name: mongodb
  82.     ports:
  83.      - "27017:27017"
  84.     volumes:
  85.      - 'mongodb_data:/data/db'
  86. #      - ./server/mongo/init/:/docker-entrypoint-initdb.d/
  87. #      - ./server/mongo/config:/data/configdb
  88.       - ./build/container/conf/mongo/entry/:/docker-entrypoint-initdb.d/
  89.       - ./build/container/conf/mongo/:/scripts/
  90.     environment:
  91.      - MONGO_INITDB_ROOT_USERNAME=admin
  92.       - MONGO_INITDB_ROOT_PASSWORD=cisco123
  93.       - BAP_USER=svcuser
  94.       - BAP_PASSWORD=cisco123
  95.     networks:
  96.       database:
  97.         aliases:
  98.          - mongoserver
  99.  
  100.   dbinit:
  101.     image: kong:0.11.2
  102.     container_name: dbinit
  103.     depends_on:
  104.      - postgresdb
  105.     environment:
  106.      - KONG_DATABASE=postgres
  107.       - KONG_PG_HOST=postgresdb
  108.       - KONG_PG_DATABASE=kong
  109.       - KONG_PG_USER=kong
  110.       - KONG_PG_PASSWORD=cisco123
  111.       #- LUA_PATH=/kong-plugin/?.lua;/kong-plugin/?/init.lua;;
  112.       #- KONG_CUSTOM_PLUGINS=bap-auth-plugin,bap-jwt-plugin,bap-aclgroups-plugin,bap-jwt-upstream,bap-acl-plugin
  113.     depends_on:
  114.      - postgresdb
  115.     volumes:
  116.        - ./kong-plugin:/kong-plugin
  117.         - ./kong-plugin/kong.conf.bap:/etc/kong/kong.conf
  118.         - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  119.         - ./kong-plugin/kong-migration-startup.sh:/kong-migration-startup.sh
  120.     command: ["./wait-for-it.sh", "-t", "45", "postgresdb:5432", "--" , "./kong-migration-startup.sh"]
  121.     networks:
  122.      - database
  123.  
  124.   db-migrate:
  125.     image: "node:8.9.1"
  126.     user: "node"
  127.     working_dir: /home/node/app
  128.     environment:
  129.      - MONGO_DATABASE=core_db
  130.       - MONGODB_HOST=mongodb
  131.       - MONGODB_USER=svcuser
  132.       - MONGODB_PASSWORD=cisco123
  133.       - MONGO_INITDB_ROOT_USERNAME=admin
  134.       - MONGO_INITDB_ROOT_PASSWORD=cisco123
  135.       - MONGO_INITDB_ROOT_SCHEMA=admin
  136.       - POSTGRES_USER=kong
  137.       - POSTGRES_PASSWORD=cisco123
  138.       - POSTGRES_DB=kong
  139.       - KONG_PG_HOST=postgresdb
  140.     volumes:
  141.      - ./microservices/db-migrate:/home/node/app
  142.       - ./build/container/conf/scripts/bpa-db-migrate-startup.sh:/bpa-db-migrate-startup.sh
  143.       - ./build/container/conf/scripts/wait-for-it.sh:/wait-for-it.sh
  144.     depends_on:
  145.      - camunda
  146.       - core-services
  147.       - auth-service
  148.     networks:
  149.      - backend-services
  150.       - database
  151.     command: /bpa-db-migrate-startup.sh
  152.  
  153.   kong:
  154.     image: kong:0.11.2
  155.     container_name: kong
  156.     depends_on:
  157.      - postgresdb
  158.       - dbinit
  159.     environment:
  160.      - KONG_DATABASE=postgres
  161.       - KONG_PG_HOST=postgresdb
  162.       - KONG_PG_DATABASE=kong
  163.       - KONG_PG_USER=kong
  164.       - KONG_PG_PASSWORD=cisco123
  165.       - KONG_LOG_LEVEL=debug
  166.       #- KONG_ADMIN_ACCESS_LOG=/dev/stdout
  167.       #- KONG_ADMIN_ERROR_LOG=/dev/stdout
  168.       #- KONG_PROXY_ACCESS_LOG=/dev/stdout
  169.       #- KONG_PROXY_ERROR_LOG=/dev/stdout
  170.       #- LUA_PATH=/kong-plugin/?.lua;/kong-plugin/?/init.lua;;
  171.       #- KONG_CUSTOM_PLUGINS=bap-auth-plugin,bap-jwt-plugin,bap-aclgroups-plugin,bap-jwt-upstream,bap-acl-plugin
  172.     expose:
  173.      - 8000
  174.       - 8001
  175.       - 8443
  176.       - 8444
  177.     volumes:
  178.        - ./kong-plugin:/kong-plugin
  179.         - ./build/container/conf/kong/kong.conf:/etc/kong/kong.conf:ro
  180.         - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  181.         - ./kong-plugin/kong-start-up.sh:/kong-start-up.sh
  182.         - ./kong-plugin/kong-custom/dao.lua:/usr/local/share/lua/5.1/kong/dao/dao.lua
  183.         - ./build/container/conf/certs:/etc/ssl/private:ro
  184.     ports:
  185.      - 8000:8000
  186.       - 8001:8001
  187.       - 8447:8443
  188.       - 8444:8444
  189.     command:
  190.       - /bin/bash
  191.        - -c
  192.        - |
  193.          ./wait-for-it.sh -t 90 postgresdb:5432 -- sleep 10
  194.           ./kong-start-up.sh
  195.     networks:
  196.      - frontend
  197.       - backend-services
  198.       - database
  199.  
  200.   konga:
  201.     image: "pantsel/konga:latest"
  202.     container_name: konga
  203.     restart: always
  204.     environment:
  205.      - NODE_ENV=development
  206.       - KONG_ADMIN_URL=http://kong:8001
  207.     depends_on:
  208.      - kong
  209.     ports:
  210.      - 1337:1337
  211.     networks:
  212.      - backend-services
  213.  
  214.   core-services:
  215.     image: "node:8.9.1"
  216.     container_name: core-services
  217.     user: "node"
  218.     working_dir: /home/node/app
  219.     environment:
  220.      - NODE_ENV=production
  221.       - MAX_HEAP_SIZE=2048
  222.       - MAX_WORKERS=2
  223.       - API_TIMEOUT=${API_TIMEOUT}
  224.       - NSO_TIMEOUT=${NSO_TIMEOUT}
  225.     volumes:
  226.      - ./microservices/core:/home/node/app
  227.       - ./microservices/common:/home/node/common
  228.       - ./build:/home/node/build
  229.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  230.     ports:
  231.      - 9100:9100
  232.       - 9101:9101
  233.     depends_on:
  234.      - mongodb
  235.       - kong
  236.     networks:
  237.      - backend-services
  238.       - database
  239.     command:
  240.       - /bin/bash
  241.        - -c
  242.        - |
  243.          /wait-for-it.sh -t 45 kong:8001 -- /home/node/build/scripts/create_auth.sh kong
  244.           npm start
  245.  
  246.   osupgrade-ms:
  247.     image: "node:8.9.1"
  248.     container_name: osupgrade-ms
  249.     user: "node"
  250.     working_dir: /home/node/app
  251.     environment:
  252.      - NODE_ENV=production
  253.       - MAX_HEAP_SIZE=2048
  254.       - MAX_WORKERS=2
  255.       - API_TIMEOUT=${API_TIMEOUT}
  256.     volumes:
  257.      - ./microservices/osupgrade-ms:/home/node/app
  258.       - ./microservices/common:/home/node/common
  259.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  260.     ports:
  261.      - 9200:9200
  262.       - 9500:9500
  263.     command:
  264.       - /bin/bash
  265.        - -c
  266.        - |
  267.         /wait-for-it.sh -t 120 core-services:9100 -- sleep 10
  268.           npm start
  269.     depends_on:
  270.      - mongodb
  271.       - core-services
  272.     networks:
  273.      - backend-services
  274.       - database
  275.  
  276.   auth-service:
  277.     image: "node:8.9.1"
  278.     container_name: auth-service
  279.     user: "node"
  280.     working_dir: /home/node/app
  281.     environment:
  282.      - NODE_ENV=production
  283.       - MAX_HEAP_SIZE=2048
  284.       - MAX_WORKERS=2
  285.       - API_TIMEOUT=${API_TIMEOUT}
  286.     volumes:
  287.      - ./microservices/auth:/home/node/app
  288.       - ./microservices/common:/home/node/common
  289.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  290.       - ./build/container/conf/certs/ldapcert.pem:/home/node/app/config/ldapcert.pem
  291.  
  292.     ports:
  293.      - 9102:9102
  294.     command:
  295.       - /bin/bash
  296.        - -c
  297.        - |
  298.        /wait-for-it.sh -t 180 kong:8000 -- sleep 10
  299.         echo "Starting authentication service ..."
  300.         npm start
  301.     depends_on:
  302.      - "postgresdb"
  303.     networks:
  304.      - backend-services
  305.       - database
  306.  
  307.   cmd-analyzer:
  308.     image: "containers.cisco.com/bpa/cmd-analyzer:2.0.000.169"
  309.     container_name: cmd-analyzer
  310.     ports:
  311.      - "9876:9876"
  312.     environment:
  313.      - MONGO_DATABASE=cmd_analyzer
  314.       - MONGODB_HOST=mongodb
  315.       - MONGODB_PORT=27017
  316.       - MONGODB_USER=svcuser
  317.       - MONGODB_PASSWORD=cisco123
  318.     depends_on:
  319.      - mongodb
  320.       - kong
  321.     networks:
  322.      - backend-services
  323.       - database
  324.          
  325.   migration-service:
  326.     image: "node:8.9.1"
  327.     container_name: migration-service
  328.     user: "node"
  329.     working_dir: /home/node/app
  330.     environment:
  331.      - NODE_ENV=production
  332.       - MAX_HEAP_SIZE=2048
  333.       - API_TIMEOUT=${API_TIMEOUT}
  334.     volumes:
  335.      - ./microservices/migration:/home/node/app
  336.       - ./microservices/common:/home/node/common
  337.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  338.     ports:
  339.      - 9103:9103
  340.     command:
  341.       - /bin/bash
  342.        - -c
  343.        - |
  344.         /wait-for-it.sh -t 120 core-services:9100 -- sleep 10
  345.           npm start
  346.     restart: on-failure
  347.     depends_on:
  348.      - mongodb
  349.       - core-services
  350.     networks:
  351.      - backend-services
  352.       - database
  353.  
  354.   mytwit-ms:
  355.     image: "node:8.9.1"
  356.     container_name: mytwitter-ms
  357.     working_dir: /home/node/app
  358.     environment:
  359.      - NODE_ENV=development
  360.       - MAX_HEAP_SIZE=2048
  361.       - MAX_WORKERS=1
  362.       - PORT=9091
  363.       - DATABASE_NAME=mytwit_db
  364.       - API_TIMEOUT=${API_TIMEOUT}
  365.       - TWITTER_CONSUMER_KEY=2y0d0aWBwPFk0qhtOX6nDe8rU
  366.       - TWITTER_CONSUMER_SECRET=c78r3OfDMPhDOO6EmHuIFrayNe3KpqEWp0e14UyHUeLIwzlAVq
  367.       - TWITTER_ACCESS_TOKEN_KEY=134091288-DbJqXyLvrVk9w1a0S2pYsUaLowBnnRvPZrlcKECZ
  368.       - TWITTER_ACCESS_TOKEN_SECRET=smfFlWGj4tqOsfaD7MFKWnmp8pWfxPNQrOUnWo46keIUU
  369.     volumes:
  370.      - ./microservices/twitter-app:/home/node/app
  371.       - ./microservices/common:/home/node/common
  372.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  373.       - ./build/container/conf/certs:/home/node/app/conf/certs
  374.     ports:
  375.      - 9091:9091
  376.     command:
  377.       - /bin/bash
  378.        - -c
  379.        - |
  380.         /wait-for-it.sh -t 300 core-services:9100 -- sleep 10
  381.           npm start
  382.     depends_on:
  383.      - mongodb
  384.       - core-services
  385.     networks:
  386.      - backend-services
  387.       - database
  388.  
  389.   # prometheus:
  390.   #   image: prom/prometheus:v2.2.0-rc.0
  391.   #   container_name: prometheus
  392.   #   volumes:
  393.   #     - ./build/container/conf/metrics/prometheus/:/etc/prometheus/
  394.   #     - prometheus_data:/prometheus
  395.   #   command:
  396.   #     - '--config.file=/etc/prometheus/prometheus.yml'
  397.   #     - '--storage.tsdb.path=/prometheus'
  398.   #     - '--web.console.libraries=/etc/prometheus/console_libraries'
  399.   #     - '--web.console.templates=/etc/prometheus/consoles'
  400.   #     - '--storage.tsdb.retention=200h'
  401.   #     - '--web.enable-lifecycle'
  402.   #   restart: unless-stopped
  403.   #   ports:
  404.   #     - "9090:9090"
  405.   #   networks:
  406.   #     - frontend
  407.   #     - backend-services
  408.   #     - database
  409.   #   labels:
  410.   #     org.label-schema.group: "monitoring"
  411.  
  412.  
  413.  
  414.   # nodeexporter:
  415.   #   image: prom/node-exporter:v0.15.2
  416.   #   container_name: nodeexporter
  417.   #   user: root
  418.   #   privileged: true
  419.   #   volumes:
  420.   #     - /proc:/host/proc:ro
  421.   #     - /sys:/host/sys:ro
  422.   #     - /:/rootfs:ro
  423.   #   command:
  424.   #     - '--path.procfs=/host/proc'
  425.   #     - '--path.sysfs=/host/sys'
  426.   #     - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
  427.   #   restart: unless-stopped
  428.   #   expose:
  429.   #     - 9100
  430.   #   networks:
  431.   #     - backend-services
  432.   #   labels:
  433.   #     org.label-schema.group: "monitoring"
  434.  
  435.   # cadvisor:
  436.   #   image: google/cadvisor:v0.28.3
  437.   #   container_name: cadvisor
  438.   #   volumes:
  439.   #     - /:/rootfs:ro
  440.   #     - /var/run:/var/run:rw
  441.   #     - /sys:/sys:ro
  442.   #     - /var/lib/docker/:/var/lib/docker:ro
  443.   #     #- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
  444.   #   restart: unless-stopped
  445.   #   expose:
  446.   #     - 8080
  447.   #   networks:
  448.   #     - backend-services
  449.   #   labels:
  450.   #     org.label-schema.group: "monitoring"
  451.  
  452.  
  453.  
  454.  
  455.  
  456.   # grafana:
  457.   #   image: grafana/grafana:4.6.3
  458.   #   container_name: grafana
  459.   #   volumes:
  460.   #     - grafana_data:/var/lib/grafana
  461.   #     - ./build/container/conf/metrics/grafana/datasources:/etc/grafana/datasources
  462.   #     - ./build/container/conf/metrics/grafana/dashboards:/etc/grafana/dashboards
  463.   #     - ./build/container/conf/metrics/grafana/setup.sh:/setup.sh
  464.   #   entrypoint: /setup.sh
  465.   #   environment:
  466.   #     - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
  467.   #     - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
  468.   #     - GF_USERS_ALLOW_SIGN_UP=false
  469.   #   restart: unless-stopped
  470.   #   ports:
  471.   #     - "3000:3000"
  472.   #   networks:
  473.   #     - backend-services
  474.   #   labels:
  475.   #     org.label-schema.group: "monitoring"  
  476.  
  477.  
  478.   # nginxexporter:
  479.   #   container_name: nginxexporter
  480.   #   image: nginx/nginx-prometheus-exporter:0.1.0
  481.   #   ports:
  482.   #     - 9113:9113
  483.   #   restart: on-failure
  484.   #   depends_on:
  485.   #     - portal
  486.   #   command:
  487.   #     - '-nginx.scrape-uri=http://portal:8092/nginx_status'
  488.   #   networks:
  489.   #     - frontend
  490.   #   labels:
  491.   #     org.label-schema.group: "monitoring"
  492.  
  493.   # camundaexporter:
  494.   #   container_name: camundaexporter
  495.   #   image: camunda_exporter
  496.   #   expose:
  497.   #     - 8080
  498.   #   restart: on-failure
  499.   #   depends_on:
  500.   #     - camunda
  501.   #   command:
  502.   #     - '-server=http://camunda:8080'
  503.   #   networks:
  504.   #     - backend-services
  505.   #   labels:
  506.   #     org.label-schema.group: "monitoring"
  507.  
  508.   # portal:
  509.   #   container_name: portal
  510.   #   image: nginx:1.13-alpine
  511.   #   ports:
  512.   #     - "8082:8082"
  513.   #     - "80:80"
  514.   #   volumes:
  515.   #     - ./build/container/conf/certs:/etc/ssl/private:ro
  516.   #     - ./dist/:/usr/share/nginx/html/
  517.   #     - ./build/container/conf/portal/nginx-dev.conf:/etc/nginx/nginx.conf:ro
  518.   #   networks:
  519.   #     - frontend
  520.  
  521. #  elk:
  522. #    image: sebp/elk
  523. #    container_name: elk
  524. #    environment:
  525. #      - ES_CONNECT_RETRY=60
  526. #    ports:
  527. #      - "5601:5601"
  528. #      - "5044:5044"
  529. #    volumes:
  530. #      - 'elk_data:/var/lib/elasticsearch'
  531. #      - ./build/container/conf/elk/logstash.yml:/opt/logstash/config/logstash.yml
  532. #      - ./build/container/conf/elk/patterns.txt:/opt/logstash/patterns/pattern
  533. #      - ./build/container/conf/elk/logstash_filter.conf:/etc/logstash/conf.d/12-some-filter.conf
  534. #      - ./build/container/conf/elk/logstash-input.conf:/etc/logstash/conf.d/02-beats-input.conf
  535. #      - ./build/container/conf/elk/logstash-output.conf:/etc/logstash/conf.d/30-output.conf
  536. #    networks:
  537. #      - backend-services
  538. #  logspout:
  539. #    image: bekt/logspout-logstash
  540. #    container_name: logspout
  541. #    environment:
  542. #      ROUTE_URIS: 'logstash://elk:5044'
  543. #    volumes:
  544. #      - /var/run/docker.sock:/var/run/docker.sock
  545. #    links:
  546. #      - elk
  547. #    restart: on-failure
  548. #    networks:
  549. #      - backend-services
  550.  
  551. #  portainer:
  552. #    image: "portainer/portainer"
  553. #    container_name: portainer
  554. #    volumes:
  555. #      - '/var/run/docker.sock:/var/run/docker.sock'
  556. #      - 'portainer_data:/data'
  557. #    ports:
  558. #      - "9500:9000"
  559.  
  560.   market-variance:
  561.     image: "node:8.9.1"
  562.     container_name: market-variance
  563.     user: "node"
  564.     working_dir: /home/node/app
  565.     environment:
  566.      - NODE_ENV=development
  567.       - API_TIMEOUT=${API_TIMEOUT}
  568.     volumes:
  569.      - ./microservices/market-variance:/home/node/app
  570.       - ./microservices/common:/home/node/common
  571.       - ./kong-plugin/wait-for-it.sh:/wait-for-it.sh
  572.     ports:
  573.      - 9105:9105
  574.     command:
  575.       - /bin/bash
  576.        - -c
  577.        - |
  578.          /wait-for-it.sh -t 120 core-services:9100 -- sleep 10
  579.           npm start
  580.     depends_on:
  581.      - core-services
  582.     networks:
  583.      - backend-services
  584.       - database
  585. networks:
  586.   frontend:
  587.   backend-services:
  588. #    driver: overlay
  589.   database:
  590. #    driver: overlay
  591.    
  592. volumes:
  593.   db-data-kong-postgres:
  594.   mongodb_data:
  595.     driver: local
  596.   # prometheus_data: {}
  597.   # grafana_data: {}
  598.   #elk_data:
  599.   #portainer_data:
Add Comment
Please, Sign In to add comment