Commit 4bcdc8e1 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Simplifica deploy y ci, chequea salud de cadvisor

parent fe14639a
Loading
Loading
Loading
Loading
+7 −63
Original line number Diff line number Diff line
stages:
  - check_rules
  - check_config
  - deploy

image: registry.gitlab.com/redmic-project/docker/docker-deploy
image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest

services:
  - docker:dind
@@ -13,57 +13,14 @@ variables:
  DEPLOY_DIR_NAME: '.'
  STATUS_CHECK_DELAY: 60
  STACK: metric
  SERVICES_TO_CHECK: metric_dockerd-exporter metric_cadvisor metric_grafana metric_alertmanager metric_unsee metric_node-exporter
  SERVICES_TO_CHECK: metric_dockerd-exporter metric_cadvisor metric_grafana metric_alertmanager metric_unsee metric_node-exporter metric_pushgateway

check-rule-dev:
  stage: check_rules
check-prometheus-rules:
  stage: check_config
  script:
    - >
      docker run -v $(pwd)/prometheus/rules:/tmp dnanexus/promtool:1.0
        check rules /tmp/swarm_task.rules.yml
  environment:
    name: dev
  only:
    - dev

deploy-dev:
  stage: deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    ADMIN_USER: ${DEV_ADMIN_USER}
    ADMIN_PASSWORD: ${DEV_ADMIN_PASSWORD}
    DOCKER_GWBRIDGE_IP: ${DEV_DOCKER_GWBRIDGE_IP}
    UI_AUTH: ${DEV_UI_AUTH}
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    SLACK_URL: ${SLACK_URL}
    SLACK_CHANNEL: ${DEV_SLACK_CHANNEL}
    SLACK_USER: ${SLACK_USER}
  script:
    - create-nets.sh metric-net
    - >
      deploy.sh COMPOSE_FILE=${COMPOSE_FILE} ADMIN_USER=${ADMIN_USER} ADMIN_PASSWORD=${ADMIN_PASSWORD}
      DOCKER_GWBRIDGE_IP=${DOCKER_GWBRIDGE_IP} UI_AUTH=${UI_AUTH} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
      SLACK_URL=${SLACK_URL} SLACK_CHANNEL=${SLACK_CHANNEL} SLACK_USER=${SLACK_USER}
  environment:
    name: dev
  only:
    - dev
  when: manual

check-rule-supporting-branch:
  stage: check_rules
  script:
    - >
      docker run -v $(pwd)/prometheus/rules:/tmp dnanexus/promtool:1.0
      check rules /tmp/swarm_task.rules.yml
  environment:
    name: dev
  only:
    - branches
  except:
    - master
    - dev

deploy-supporting-branch:
  stage: deploy
@@ -90,22 +47,9 @@ deploy-supporting-branch:
    - branches
  except:
    - master
    - dev
  when: manual


check-rule-pro:
  stage: check_rules
  script:
    - >
      docker run -v $(pwd)/prometheus/rules:/tmp dnanexus/promtool:1.0
      check rules /tmp/swarm_task.rules.yml
  environment:
    name: pro
  only:
    - master

deploy-pro:
deploy-stable-branch:
  stage: deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
+1 −15
Original line number Diff line number Diff line
version: '3.5'

  pushgateway:
    name: pushgateway-vol

volumes:
  grafana:
    name: grafana-vol

  alertmanager:
    name: alertmanager-vol

  grafana-etc:
    name: grafana-etc-vol

  grafana-log:
    name: grafana-log-vol

  dockerd-exporter:
    name: dockerd-exporter-vol
+0 −15
Original line number Diff line number Diff line
@@ -14,9 +14,6 @@ services:
          - node.role == worker

volumes:
  pushgateway:
    name: pushgateway-vol

  grafana:
    name: grafana-vol
    driver: "cloudstor:aws"
@@ -24,15 +21,3 @@ volumes:
      backing: relocatable
      size: 1
      ebstype: gp2

  alertmanager:
    name: alertmanager-vol

  grafana-etc:
    name: grafana-etc-vol

  grafana-log:
    name: grafana-log-vol

  dockerd-exporter:
    name: dockerd-exporter-vol
+22 −0
Original line number Diff line number Diff line
@@ -35,6 +35,12 @@ services:
      - /var/run:/var/run
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    healthcheck:
      test: wget --spider -S -t 3 http://localhost:8080/metrics
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 2m
    deploy:
      mode: global
      restart_policy:
@@ -215,6 +221,22 @@ networks:
  traefik-net:
    external: true

volumes:
  pushgateway:
    name: pushgateway-vol

  alertmanager:
    name: alertmanager-vol

  grafana-etc:
    name: grafana-etc-vol

  grafana-log:
    name: grafana-log-vol

  dockerd-exporter:
    name: dockerd-exporter-vol

configs:
  dockerd_config:
    file: ./swarmprom/dockerd-exporter/Caddyfile