add docker-compose for local testing

This commit is contained in:
Nandor Kracser 2019-08-03 15:02:54 +02:00
parent e1a45ba33e
commit 5b7a664e9d
No known key found for this signature in database
GPG key ID: 7A4C93C7D6B80413
3 changed files with 70 additions and 1 deletions

39
docker-compose.yaml Normal file
View file

@ -0,0 +1,39 @@
# This docker-compose file provides quick setups for testing different storage backend options.
version: "3.8"
services:
mysql:
# For using percona-xtradb you need to make strict mode permissive with:
# docker-compose exec mysql mysql -uroot -proot -e "SET GLOBAL pxc_strict_mode=PERMISSIVE;"
# See: https://www.percona.com/doc/percona-xtradb-cluster/5.7/features/pxc-strict-mode.html
# image: percona/percona-xtradb-cluster:5.7
# image: mariadb:10.5
# image: mysql:5.6
# image: mysql:8.0
image: mysql:5.7
environment:
MYSQL_DATABASE: dex
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
MYSQL_ROOT_PASSWORD: root
ports:
- "127.0.0.1:3306:3306"
postgres:
image: postgres:10.8
environment:
POSTGRES_DB: dex
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "127.0.0.1:5432:5432"
etcd:
image: gcr.io/etcd-development/etcd:v3.2.9
environment:
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
ports:
- "127.0.0.1:2379:2379"
# For testing the Kubernetes storage backend we suggest https://kind.sigs.k8s.io/:
# kind create cluster

View file

@ -12,6 +12,36 @@ storage:
config: config:
file: examples/dex.db file: examples/dex.db
# type: mysql
# config:
# host: localhost
# port: 3306
# database: dex
# user: mysql
# password: mysql
# ssl:
# mode: "false"
# type: postgres
# config:
# host: localhost
# port: 5432
# database: dex
# user: postgres
# password: postgres
# ssl:
# mode: disable
# type: etcd
# config:
# endpoints:
# - http://localhost:2379
# namespace: dex/
# type: kubernetes
# config:
# kubeConfigFile: $HOME/.kube/config
# Configuration for the HTTP endpoints. # Configuration for the HTTP endpoints.
web: web:
http: 0.0.0.0:5556 http: 0.0.0.0:5556

View file

@ -270,7 +270,7 @@ func TestMySQL(t *testing.T) {
NetworkDB: NetworkDB{ NetworkDB: NetworkDB{
Database: getenv("DEX_MYSQL_DATABASE", "mysql"), Database: getenv("DEX_MYSQL_DATABASE", "mysql"),
User: getenv("DEX_MYSQL_USER", "mysql"), User: getenv("DEX_MYSQL_USER", "mysql"),
Password: getenv("DEX_MYSQL_PASSWORD", ""), Password: getenv("DEX_MYSQL_PASSWORD", "mysql"),
Host: host, Host: host,
Port: uint16(port), Port: uint16(port),
ConnectionTimeout: 5, ConnectionTimeout: 5,