161 lines
5.5 KiB
YAML
161 lines
5.5 KiB
YAML
version: "2.2"
|
|
|
|
networks:
|
|
# DC 1
|
|
dc1_keycloak:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.1.1.0/24
|
|
# DC 2
|
|
dc2_keycloak:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.2.1.0/24
|
|
# # cross-DC
|
|
# loadbalancing:
|
|
# ipam:
|
|
# config:
|
|
# - subnet: 10.0.2.0/24
|
|
# cross-DC
|
|
db_replication:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.0.3.0/24
|
|
# cross-DC
|
|
ispn_replication:
|
|
ipam:
|
|
config:
|
|
- subnet: 10.0.4.0/24
|
|
|
|
services:
|
|
|
|
infinispan_dc1:
|
|
build: infinispan
|
|
image: keycloak_test_infinispan:${KEYCLOAK_VERSION:-latest}
|
|
cpuset: ${INFINISPAN_DC1_CPUSET:-1}
|
|
mem_limit: ${INFINISPAN_MEMLIMIT:-1500m}
|
|
networks:
|
|
- ispn_replication
|
|
- dc1_keycloak
|
|
environment:
|
|
CONFIGURATION: clustered-dc1.xml
|
|
PUBLIC_SUBNET: 10.1.1.0/24
|
|
PRIVATE_SUBNET: 10.0.4.0/24
|
|
MGMT_USER: admin
|
|
MGMT_USER_PASSWORD: admin
|
|
TCP_PING_INITIAL_HOSTS: infinispan_dc1[7600]
|
|
JAVA_OPTS: ${INFINISPAN_JVM_MEMORY:--Xms64m -Xmx1g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
|
|
JSTAT: "${INFINISPAN_JSTAT:-false}"
|
|
ports:
|
|
- "9990"
|
|
|
|
infinispan_dc2:
|
|
build: infinispan
|
|
image: keycloak_test_infinispan:${KEYCLOAK_VERSION:-latest}
|
|
depends_on:
|
|
infinispan_dc1:
|
|
condition: service_healthy
|
|
cpuset: ${INFINISPAN_DC2_CPUSET:-1}
|
|
mem_limit: ${INFINISPAN_MEMLIMIT:-1500m}
|
|
networks:
|
|
- ispn_replication
|
|
- dc2_keycloak
|
|
environment:
|
|
CONFIGURATION: clustered-dc2.xml
|
|
PUBLIC_SUBNET: 10.2.1.0/24
|
|
PRIVATE_SUBNET: 10.0.4.0/24
|
|
MGMT_USER: admin
|
|
MGMT_USER_PASSWORD: admin
|
|
TCP_PING_INITIAL_HOSTS: infinispan_dc1[7600],infinispan_dc2[7600]
|
|
JAVA_OPTS: ${INFINISPAN_JVM_MEMORY:--Xms64m -Xmx1g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
|
|
JSTAT: "${INFINISPAN_JSTAT:-false}"
|
|
ports:
|
|
- "9990"
|
|
|
|
|
|
mariadb_dc1:
|
|
build:
|
|
context: db/mariadb
|
|
args:
|
|
MAX_CONNECTIONS: ${DB_MAX_CONNECTIONS:-100}
|
|
image: keycloak_test_mariadb:${KEYCLOAK_VERSION:-latest}
|
|
cpuset: ${DB_DC1_CPUSET:-1}
|
|
mem_limit: ${DB_MEMLIMIT:-2g}
|
|
networks:
|
|
- db_replication
|
|
- dc1_keycloak
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_INITDB_SKIP_TZINFO: foo
|
|
MYSQL_DATABASE: keycloak
|
|
MYSQL_USER: keycloak
|
|
MYSQL_PASSWORD: keycloak
|
|
entrypoint: docker-entrypoint-wsrep.sh
|
|
command: --wsrep-new-cluster
|
|
ports:
|
|
- "3307:3306"
|
|
|
|
mariadb_dc2:
|
|
build:
|
|
context: db/mariadb
|
|
args:
|
|
MAX_CONNECTIONS: ${DB_MAX_CONNECTIONS:-100}
|
|
image: keycloak_test_mariadb:${KEYCLOAK_VERSION:-latest}
|
|
depends_on:
|
|
mariadb_dc1:
|
|
condition: service_healthy
|
|
cpuset: ${DB_DC2_CPUSET:-1}
|
|
mem_limit: ${DB_MEMLIMIT:-2g}
|
|
networks:
|
|
- db_replication
|
|
- dc2_keycloak
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_INITDB_SKIP_TZINFO: foo
|
|
entrypoint: docker-entrypoint-wsrep.sh
|
|
command: --wsrep_cluster_address=gcomm://mariadb_dc1
|
|
ports:
|
|
- "3308:3306"
|
|
|
|
|
|
loadbalancer_dc1:
|
|
build: load-balancer/wildfly-modcluster
|
|
image: keycloak_test_loadbalancer:${KEYCLOAK_VERSION:-latest}
|
|
cpuset: ${LB_DC1_CPUSET:-1}
|
|
mem_limit: ${LB_MEMLIMIT:-1500m}
|
|
networks:
|
|
- dc1_keycloak
|
|
# - loadbalancing
|
|
environment:
|
|
PRIVATE_SUBNET: 10.1.1.0/24
|
|
# PUBLIC_SUBNET: 10.0.2.0/24
|
|
JAVA_OPTS: ${LB_JVM_MEMORY:--Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
|
|
HTTP_MAX_CONNECTIONS: ${LB_HTTP_MAX_CONNECTIONS:-50000}
|
|
WORKER_IO_THREADS: ${LB_WORKER_IO_THREADS:-2}
|
|
WORKER_TASK_MAX_THREADS: ${LB_WORKER_TASK_MAX_THREADS:-16}
|
|
JSTAT: "${LB_JSTAT:-false}"
|
|
ports:
|
|
- "8081:8080"
|
|
- "9991:9990"
|
|
|
|
loadbalancer_dc2:
|
|
build: load-balancer/wildfly-modcluster
|
|
image: keycloak_test_loadbalancer:${KEYCLOAK_VERSION:-latest}
|
|
cpuset: ${LB_DC2_CPUSET:-1}
|
|
mem_limit: ${LB_MEMLIMIT:-1500m}
|
|
networks:
|
|
- dc2_keycloak
|
|
# - loadbalancing
|
|
environment:
|
|
PRIVATE_SUBNET: 10.2.1.0/24
|
|
# PUBLIC_SUBNET: 10.0.2.0/24
|
|
JAVA_OPTS: ${LB_JVM_MEMORY:--Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m} -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
|
|
HTTP_MAX_CONNECTIONS: ${LB_HTTP_MAX_CONNECTIONS:-50000}
|
|
WORKER_IO_THREADS: ${LB_WORKER_IO_THREADS:-2}
|
|
WORKER_TASK_MAX_THREADS: ${LB_WORKER_TASK_MAX_THREADS:-16}
|
|
JSTAT: "${LB_JSTAT:-false}"
|
|
ports:
|
|
- "8082:8080"
|
|
- "9992:9990"
|
|
|