cyberark/secretless-broker

View on GitHub
test/connector/tcp/mssql/docker-compose.yml

Summary

Maintainability
Test Coverage
version: '3.0'

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2017-latest
    ports:
      - 1433:1433
    environment:
      # This hardcoded password must match the one in secretless.yml.
      SA_PASSWORD: "yourStrong()Password"
      ACCEPT_EULA: Y
      MSSQL_PID:
    volumes:
      - ./mssql.conf:/var/opt/mssql/mssql.conf
      - ./certs/server-cert.pem:/certs/server.pem
      - ./certs/server-key.pem:/certs/server.key

  mssql-forced-tls:
    image: mcr.microsoft.com/mssql/server:2017-latest
    ports:
      - 1433:1433
    environment:
      # This hardcoded password must match the one in secretless.yml.
      SA_PASSWORD: "yourStrong()Password"
      ACCEPT_EULA: Y
      MSSQL_PID:
    volumes:
      - ./mssql-forced-tls.conf:/var/opt/mssql/mssql.conf
      - ./certs/server-cert.pem:/certs/server.pem
      - ./certs/server-key.pem:/certs/server.key

  secretless:
    image: secretless-broker-coverage
    entrypoint: "/usr/local/bin/secretless-broker -test.v -test.run ^TestCoverage$$ -test.coverprofile=/test-coverage/cover.out"
    environment:
      SB_RUN_COVERAGE: "true"
    ports:
      - 2223:2223
    volumes:
      - ./secretless.yml:/secretless.yml
      - ./test-coverage:/test-coverage
    depends_on:
      - mssql

  secretless-dev:
    image: secretless-dev
    command: ./bin/reflex
    ports:
      - 2223:2223
    volumes:
      - ../../../..:/secretless
      - ./secretless.yml:/secretless.yml
    depends_on:
      - mssql

  secretless-debug:
    build:
      context: ../../../..
      dockerfile: Dockerfile.debug
    ports:
      - 2223:2223
      - 40000:40000
    security_opt:
      - apparmor:unconfined
      - seccomp:unconfined
    cap_add:
      - SYS_PTRACE
    volumes:
      - ./secretless.yml:/secretless.yml
    depends_on:
      - mssql

  test:
    build:
      context: .
    command: sleep 999d
    environment:
      TEST_ROOT: /secretless/test/connector/tcp/mssql
      DB_PROTOCOL: mssql
      DB_HOST_TLS: mssql
      DB_HOST_NO_TLS: mssql # TODO: configure a non-ssl container?
      DB_PORT: 1433
      DB_USER: sa
      DB_PASSWORD: yourStrong()Password
      SECRETLESS_HOST:
    volumes:
      - ../../../..:/secretless

  app:
    image: cyberark/demo-app:latest
    environment:
      DB_PLATFORM: mssql
      DB_URL: sqlserver://${SECRETLESS_HOST}:2223;databaseName=tempdb;encrypt=false
      DB_USERNAME: x
      DB_PASSWORD: x
    depends_on:
      - mssql