Commit 648109b8 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade configuración inicial para despliegue

parent 325518d5
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+92 −0
Original line number Diff line number Diff line
stages:
  - deploy

image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG}

services:
  - docker:dind

variables:
  DOCKER_DRIVER: overlay2
  STACK: kafka-utils
  KADMIN_VERSION: latest

deploy-kadmin-supporting-branch-develop:
  stage: deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
    IMAGE_TAG: ${KADMIN_VERSION}
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    UI_AUTH: ${DEV_UI_AUTH}
  script:
    - >
      deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
      UI_AUTH=${UI_AUTH}
  environment:
    name: dev/${CI_PROJECT_NAME}
  only:
    - branches
  except:
    - master
  when: manual

deploy-kadmin-stable-branch-develop:
  stage: deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
    IMAGE_TAG: ${KADMIN_VERSION}
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    UI_AUTH: ${DEV_UI_AUTH}
  script:
     - >
      deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
      UI_AUTH=${UI_AUTH}
  environment:
    name: dev/${CI_PROJECT_NAME}
  only:
    - master
  when: manual

deploy-kadmin-supporting-branch-production:
  stage: deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
    IMAGE_TAG: ${KADMIN_VERSION}
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    UI_AUTH: ${DEV_UI_AUTH}
  script:
     - >
      deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
      UI_AUTH=${UI_AUTH}
  environment:
    name: pro/${CI_PROJECT_NAME}
  only:
    - branches
  except:
    - master
  when: manual

deploy-kadmin-stable-branch-production:
  stage: deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
    IMAGE_TAG: ${KADMIN_VERSION}
    COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    UI_AUTH: ${DEV_UI_AUTH}
  script:
     - >
      deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
      UI_AUTH=${UI_AUTH}
  environment:
    name: pro/${CI_PROJECT_NAME}
  only:
    - master
  when: manual

deploy/.env

0 → 100644
+4 −0
Original line number Diff line number Diff line
KADMIN_PORT=8080
ZK_PORT=2181
KF_PORT=9092
SR_PORT=8081
+1 −0
Original line number Diff line number Diff line
version: '3.5'
+8 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  ksql-ui:
    deploy:
      placement:
        constraints:
          - node.role == worker
+45 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  kadmin:
    image: ${IMAGE_NAME:-hasnat/kadmin}:${IMAGE_TAG:-latest}
    environment:
      ZOOKEEPER_HOST: zk-1:${ZK_PORT},zk-2:${ZK_PORT},zk-3:${ZK_PORT}
      KAFKA_HOST: kf-1:${KF_PORT},kf-2:${KF_PORT},kf-3:${KF_PORT}
      SCHEMA_REGISTRY_URL: http://schema-registry:${SR_PORT}
      FF_PRODUCER_ENABLED: true
    networks:
      - kafka-net
      - traefik-net
    healthcheck:
      test: curl --silent --output /dev/null http://localhost:${KADMIN_PORT}
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 2m
    deploy:
      mode: replicated
      replicas: 1
      labels:
        traefik.frontend.auth.basic.users: ${UI_AUTH}
        traefik.frontend.rule: Host:kadmin.${PUBLIC_HOSTNAME}
        traefik.backend: kadmin
        traefik.port: "${KADMIN_PORT}"
      restart_policy:
        delay: 30s
        window: 2m
      resources:
        limits:
          cpus: '0.5'
          memory: 256M
        reservations:
          memory: 205M

networks:
  kafka-net:
    name: ${KAFKA_NET_NAME:-kafka-net}
    external: true

  traefik-net:
    name: ${TRAEFIK_NET_NAME:-traefik-net}
    external: true
 No newline at end of file