dbconnect.yaml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # docker-compose -f ./dbconnect_tests/dbconnect.yaml up --build --force-recreate --renew-anon-volumes --exit-code-from cloudflared
  2. version: "2.3"
  3. networks:
  4. test-dbconnect-network:
  5. driver: bridge
  6. services:
  7. cloudflared:
  8. build:
  9. context: ../
  10. dockerfile: dev.Dockerfile
  11. command: go test github.com/cloudflare/cloudflared/dbconnect_tests -v
  12. depends_on:
  13. postgres:
  14. condition: service_healthy
  15. mysql:
  16. condition: service_healthy
  17. mssql:
  18. condition: service_healthy
  19. clickhouse:
  20. condition: service_healthy
  21. environment:
  22. DBCONNECT_INTEGRATION_TEST: "true"
  23. POSTGRESQL_URL: postgres://postgres:secret@postgres/db?sslmode=disable
  24. MYSQL_URL: mysql://root:secret@mysql/db?tls=false
  25. MSSQL_URL: mssql://sa:secret12345!@mssql
  26. CLICKHOUSE_URL: clickhouse://clickhouse:9000/db
  27. networks:
  28. - test-dbconnect-network
  29. postgres:
  30. image: postgres:11.4-alpine
  31. environment:
  32. POSTGRES_DB: db
  33. POSTGRES_PASSWORD: secret
  34. healthcheck:
  35. test: ["CMD", "pg_isready", "-U", "postgres"]
  36. start_period: 3s
  37. interval: 1s
  38. timeout: 3s
  39. retries: 10
  40. networks:
  41. - test-dbconnect-network
  42. mysql:
  43. image: mysql:8.0
  44. environment:
  45. MYSQL_DATABASE: db
  46. MYSQL_ROOT_PASSWORD: secret
  47. healthcheck:
  48. test: ["CMD", "mysqladmin", "ping"]
  49. start_period: 3s
  50. interval: 1s
  51. timeout: 3s
  52. retries: 10
  53. networks:
  54. - test-dbconnect-network
  55. mssql:
  56. image: mcr.microsoft.com/mssql/server:2017-CU8-ubuntu
  57. environment:
  58. ACCEPT_EULA: "Y"
  59. SA_PASSWORD: secret12345!
  60. healthcheck:
  61. test: ["CMD", "/opt/mssql-tools/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "secret12345!", "-Q", "SELECT 1"]
  62. start_period: 3s
  63. interval: 1s
  64. timeout: 3s
  65. retries: 10
  66. networks:
  67. - test-dbconnect-network
  68. clickhouse:
  69. image: yandex/clickhouse-server:19.11
  70. healthcheck:
  71. test: ["CMD", "clickhouse-client", "--query", "SELECT 1"]
  72. start_period: 3s
  73. interval: 1s
  74. timeout: 3s
  75. retries: 10
  76. networks:
  77. - test-dbconnect-network