Refactor change pass page

This commit is contained in:
Kostya Struga 2022-04-28 18:20:39 +03:00
parent f3b229251d
commit fa6e0456ae
4 changed files with 441 additions and 383 deletions

View File

@ -1,374 +1,374 @@
---
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:5.0.1
# image: watershine/cp-zookeeper:6.1.0-arm64
hostname: zookeeper
container_name: zookeeper
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
volumes:
- ./tmp/docker/zookeeper/data:/var/lib/zookeeper/data
- ./tmp/docker/zookeeper/logs:/var/lib/zookeeper/log
broker:
image: confluentinc/cp-enterprise-kafka:5.0.1
# image: watershine/cp-enterprise-kafka:6.1.0-arm64
hostname: broker
container_name: broker
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://broker:29092,PLAINTEXT://broker:9092
KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092
CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181
CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
CONFLUENT_METRICS_ENABLE: 'true'
CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
ports:
- 9092:9092
- 29092:29092
volumes:
- ./tmp/docker/kafka/data:/var/lib/kafka/data
kafka-setup:
image: confluentinc/cp-kafka:5.1.1
hostname: kafka-setup
container_name: kafka-setup
depends_on:
- broker
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b broker:9092 1 60 && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-command && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-event-sink && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic result && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic fraud_payment && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic payment_event && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic refund_event && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic chargeback_event && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic withdrawal && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic unknown_initiating_entity && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template_reference && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_list && \
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_reference && \
echo Waiting 60 seconds for Connect to be ready... && \
sleep 60'"
riak:
image: basho/riak-kv
hostname: riak
container_name: riak
ports:
- "8087:8087"
- "8098:8098"
environment:
- CLUSTER_NAME=riakts
- WAIT_FOR_ERLANG=500
- TZ=Europe/Moscow
labels:
- "com.basho.riak.cluster.name=riakts"
volumes:
- /tmp/docker/riak/data:/etc/riak/schemas
clickhouse:
image: yandex/clickhouse-server:20.6.7.4
# image: lunalabsltd/clickhouse-server:20.6.7.4-arm
hostname: clickhouse
container_name: clickhouse
environment:
CLICKHOUSE_USER: user
CLICKHOUSE_PASSWORD: password
ports:
- 9000:9000
- 8123:8123
volumes:
- ./clickhouse/data:/var/lib/clickhouse
- ./clickhouse/log:/var/log
- ./clickhouse/docker-entrypoint-initdb.d/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
grafana:
image: grafana/grafana:5.1.0
hostname: grafana
container_name: grafana
ports:
- 3000:3000
environment:
GF_INSTALL_PLUGINS: "grafana-piechart-panel,vertamedia-clickhouse-datasource"
GF_SECURITY_ADMIN_USER: "admin"
GF_SECURITY_ADMIN_PASSWORD: "admin"
volumes:
- ./grafana/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/datasources:/etc/grafana/provisioning/datasources
postgres-columbus:
image: rbkmoney/postgres-geodata:0eb52256576ec22f89fadc3e7fe505b692e838a3
hostname: postgres-columbus
container_name: postgres-columbus
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: columbus
entrypoint:
- /docker-entrypoint.sh
- postgres
ports:
- 5432:5432
columbus:
image: ghcr.io/valitydev/columbus:sha-13b6ac4
hostname: columbus
container_name: columbus
mem_limit: 256m
mem_reservation: 128M
environment:
spring.datasource.url: "jdbc:postgresql://postgres-columbus:5432/columbus"
logging.level.com.rbkmoney.woody: "ERROR"
depends_on:
- postgres-columbus
ports:
- 8990:8022
wblist:
image: ghcr.io/valitydev/wb-list-manager:sha-a790a3b
hostname: wblist
container_name: wblist
mem_limit: 256m
mem_reservation: 128M
environment:
kafka.bootstrap-servers: "broker:9092"
riak.address: riak
riak.port: 8087
management.metrics.export.statsd.enabled: "false"
logging.level.com.rbkmoney.woody: "ERROR"
kafka.wblist.topic.command: "wb-list-command"
kafka.wblist.topic.event.sink: "wb-list-event-sink"
depends_on:
- riak
- broker
ports:
- 8991:8022
trusted-tokens-manager:
image: ghcr.io/valitydev/trusted-tokens-manager:sha-efd3f86
hostname: trusted-tokens-manager
container_name: trusted-tokens-manager
mem_limit: 256m
mem_reservation: 128M
environment:
kafka.bootstrap-servers: "broker:9092"
kafka.client-id: "trusted-tokens-manager"
kafka.topics.payment.id: "payment_event"
kafka.topics.payment.consume.enabled: "true"
kafka.topics.withdrawal.consume.enabled: "true"
kafka.topics.withdrawal.id: "withdrawal"
riak.address: riak
riak.port: 8087
management.metrics.export.statsd.enabled: "false"
logging.config: "tmp/logback-test.xml"
depends_on:
- riak
- broker
ports:
- 8992:8022
volumes:
- ./log-java:/opt/trusted-tokens-manager/tmp
fraudbusters-api:
image: ghcr.io/valitydev/fraudbusters-api:sha-2c6be00
hostname: fraudbusters-api
container_name: fraudbusters-api
mem_limit: 256m
mem_reservation: 128M
environment:
management.security.enabled: 'false'
logging.config: "tmp/logback-test.xml"
fraudbusters.service.payment.url: 'http://fraudbusters:8022/fraud_payment/v1/'
fraudbusters.service.inspector.url: 'http://fraudbusters:8022/fraud_inspector/v1'
server.port: "8080"
depends_on:
- fraudbusters
ports:
- 9999:8080
volumes:
- ./log-java:/opt/fraudbusters-api/tmp
fraudbusters:
image: ghcr.io/valitydev/fraudbusters:sha-676a876
hostname: fraudbusters
container_name: fraudbusters
mem_limit: 512m
mem_reservation: 128M
environment:
management.security.enabled: 'false'
kafka.ssl.enable: 'false'
kafka.bootstrap.servers: "broker:9092"
geo.ip.service.url: "http://columbus:8022/repo"
wb.list.service.url: "http://wblist:8022/wb_list/v1"
clickhouse.db.url: "jdbc:clickhouse://clickhouse:8123/default"
logging.config: "tmp/logback-test.xml"
card-token-pool.filePath: "card-tokens"
clickhouse.db.user: 'user'
clickhouse.db.password: 'password'
fraud.management.url: 'http://fb-management:8080/fb-management/v1'
result.full.check.enabled: 'false'
spring.profiles.active: 'full-prod'
load.isTrusted.enabled: 'false'
trusted.tokens.url: 'http://trusted-tokens-manager:8022/trusted/tokens'
dgraph.service.enabled: 'false'
kafka.topic.group-list: 'group_list'
kafka.topic.group-reference: 'group_reference'
kafka.listen.result.concurrency: 7
kafka.max.poll.records: 1
kafka.max.backoff.interval: 1000
depends_on:
- clickhouse
- broker
- columbus
- wblist
- kafka-setup
- trusted-tokens-manager
ports:
- 8999:8022
- 8111:8089
volumes:
- ./log-java:/opt/fraudbusters/tmp
- ./card-tokens:/opt/fraudbusters/card-tokens
postgres-fb:
container_name: postgres_container
hostname: postgres-fb
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: fraudbusters
PGDATA: /data/postgres
ports:
- 6432:5432
volumes:
- ./postgres/data/3:/data/postgres
restart: unless-stopped
fb-management:
image: ghcr.io/valitydev/fraudbusters-management:sha-cc49e98
hostname: fb-management
container_name: fb-management
mem_limit: 256m
mem_reservation: 128M
environment:
kafka.bootstrap-servers: "broker:9092"
kafka.topic.wblist.command: "wb-list-command"
kafka.topic.wblist.event.sink: "wb-list-event-sink"
kafka.topic.fraudbusters.payment.template: "template"
kafka.topic.fraudbusters.payment.reference: "template_reference"
kafka.topic.fraudbusters.payment.group.list: "group_list"
kafka.topic.fraudbusters.payment.group.reference: "group_reference"
spring.datasource.url: "jdbc:postgresql://postgres-fb:5432/fraudbusters"
logging.config: "./tmp/logback-test.xml"
management.metrics.binders.jvm.enabled: 'false'
service.payment.url: 'http://fraudbusters:8022/fraud_payment/v1/'
service.payment.networkTimeout: 15000
service.historical.url: 'http://fraudbusters:8022/historical_data/v1/'
service.historical.networkTimeout: 30000
service.notification.url: 'http://fb-notificator:8022/notification/v1'
service.notification-channel.url: 'http://fb-notificator:8022/notification-channel/v1'
service.notification-template.url: 'http://fb-notificator:8022/notification-template/v1'
spring.profiles.active: 'debug'
keycloak.enabled: "true"
keycloak.realm: "fraudbusters-realm"
keycloak.resource: "fraudbusters-app"
keycloak.auth-server-url: "http://keycloak:8080/auth"
cors.allowed-origins: "*"
ports:
- 8085:8080
depends_on:
- fraudbusters
- broker
- wblist
- postgres-fb
- kafka-setup
- fb-notificator
volumes:
- ./log-java:/opt/fraudbusters-management/tmp
fb-notificator:
image: ghcr.io/valitydev/fraudbusters-notificator:sha-2574ac0
hostname: fb-notificator
container_name: fb-notificator
mem_limit: 256m
mem_reservation: 128M
environment:
spring.datasource.url: "jdbc:postgresql://postgres-notificator:5432/fb_notificator"
logging.config: "./tmp/logback-test.xml"
management.metrics.binders.jvm.enabled: 'false'
warehouse.url: 'http://fb-warehouse:8022/query/v1/'
spring.profiles.active: 'debug'
ports:
- 8086:8022
depends_on:
- postgres-notificator
- fb-warehouse
volumes:
- ./log-java:/opt/fraudbusters-notificator/tmp
postgres-notificator:
container_name: postgres_notificator
hostname: postgres-notificator
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: fb_notificator
PGDATA: /data/postgres
ports:
- 6435:5432
volumes:
- ./postgres/data/4:/data/postgres
restart: unless-stopped
fb-warehouse:
image: ghcr.io/valitydev/fraudbusters-warehouse:sha-251429b
hostname: fb-warehouse
container_name: fb-warehouse
mem_limit: 256m
mem_reservation: 128M
environment:
clickhouse.db.url: "jdbc:clickhouse://clickhouse:8123/default"
clickhouse.db.user: 'user'
clickhouse.db.password: 'password'
logging.config: "./tmp/logback-test.xml"
management.metrics.binders.jvm.enabled: 'false'
spring.profiles.active: 'debug'
ports:
- 8088:8080
depends_on:
- clickhouse
volumes:
- ./log-java:/opt/fraudbusters-warehouse/tmp
fraudbusters-ui:
image: ghcr.io/valitydev/fraudbusters-ui:sha-5661f6f
hostname: fraudbusters-ui
container_name: fraudbusters-ui
environment:
platform: linux/amd64
ports:
- 8989:8080
depends_on:
- fb-management
volumes:
- ./fraudbusters-ui/nginx.conf:/etc/nginx/vhosts.d/fraudbusters-ui.conf
- ./fraudbusters-ui/appConfig.json:/usr/share/nginx/html/assets/appConfig.json
- ./fraudbusters-ui/authConfig.json:/usr/share/nginx/html/assets/authConfig.json
# zookeeper:
# image: confluentinc/cp-zookeeper:5.0.1
## image: watershine/cp-zookeeper:6.1.0-arm64
# hostname: zookeeper
# container_name: zookeeper
# environment:
# ZOOKEEPER_CLIENT_PORT: 2181
# ZOOKEEPER_TICK_TIME: 2000
# volumes:
# - ./tmp/docker/zookeeper/data:/var/lib/zookeeper/data
# - ./tmp/docker/zookeeper/logs:/var/lib/zookeeper/log
#
# broker:
# image: confluentinc/cp-enterprise-kafka:5.0.1
## image: watershine/cp-enterprise-kafka:6.1.0-arm64
# hostname: broker
# container_name: broker
# depends_on:
# - zookeeper
# environment:
# KAFKA_BROKER_ID: 1
# KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
# KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
# KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://broker:29092,PLAINTEXT://broker:9092
# KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
# KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
# KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
# CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092
# CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181
# CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
# CONFLUENT_METRICS_ENABLE: 'true'
# CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
# ports:
# - 9092:9092
# - 29092:29092
# volumes:
# - ./tmp/docker/kafka/data:/var/lib/kafka/data
#
# kafka-setup:
# image: confluentinc/cp-kafka:5.1.1
# hostname: kafka-setup
# container_name: kafka-setup
# depends_on:
# - broker
# command: "bash -c 'echo Waiting for Kafka to be ready... && \
# cub kafka-ready -b broker:9092 1 60 && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-command && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-event-sink && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic result && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic fraud_payment && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic payment_event && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic refund_event && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic chargeback_event && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic withdrawal && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic unknown_initiating_entity && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template_reference && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_list && \
# kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_reference && \
# echo Waiting 60 seconds for Connect to be ready... && \
# sleep 60'"
#
# riak:
# image: basho/riak-kv
# hostname: riak
# container_name: riak
# ports:
# - "8087:8087"
# - "8098:8098"
# environment:
# - CLUSTER_NAME=riakts
# - WAIT_FOR_ERLANG=500
# - TZ=Europe/Moscow
# labels:
# - "com.basho.riak.cluster.name=riakts"
# volumes:
# - /tmp/docker/riak/data:/etc/riak/schemas
#
# clickhouse:
# image: yandex/clickhouse-server:20.6.7.4
## image: lunalabsltd/clickhouse-server:20.6.7.4-arm
# hostname: clickhouse
# container_name: clickhouse
# environment:
# CLICKHOUSE_USER: user
# CLICKHOUSE_PASSWORD: password
# ports:
# - 9000:9000
# - 8123:8123
# volumes:
# - ./clickhouse/data:/var/lib/clickhouse
# - ./clickhouse/log:/var/log
# - ./clickhouse/docker-entrypoint-initdb.d/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
#
# grafana:
# image: grafana/grafana:5.1.0
# hostname: grafana
# container_name: grafana
# ports:
# - 3000:3000
# environment:
# GF_INSTALL_PLUGINS: "grafana-piechart-panel,vertamedia-clickhouse-datasource"
# GF_SECURITY_ADMIN_USER: "admin"
# GF_SECURITY_ADMIN_PASSWORD: "admin"
# volumes:
# - ./grafana/dashboards:/etc/grafana/provisioning/dashboards
# - ./grafana/datasources:/etc/grafana/provisioning/datasources
#
# postgres-columbus:
# image: rbkmoney/postgres-geodata:0eb52256576ec22f89fadc3e7fe505b692e838a3
# hostname: postgres-columbus
# container_name: postgres-columbus
# environment:
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: postgres
# POSTGRES_DB: columbus
# entrypoint:
# - /docker-entrypoint.sh
# - postgres
# ports:
# - 5432:5432
#
# columbus:
# image: ghcr.io/valitydev/columbus:sha-13b6ac4
# hostname: columbus
# container_name: columbus
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# spring.datasource.url: "jdbc:postgresql://postgres-columbus:5432/columbus"
# logging.level.com.rbkmoney.woody: "ERROR"
# depends_on:
# - postgres-columbus
# ports:
# - 8990:8022
#
# wblist:
# image: ghcr.io/valitydev/wb-list-manager:sha-a790a3b
# hostname: wblist
# container_name: wblist
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# kafka.bootstrap-servers: "broker:9092"
# riak.address: riak
# riak.port: 8087
# management.metrics.export.statsd.enabled: "false"
# logging.level.com.rbkmoney.woody: "ERROR"
# kafka.wblist.topic.command: "wb-list-command"
# kafka.wblist.topic.event.sink: "wb-list-event-sink"
# depends_on:
# - riak
# - broker
# ports:
# - 8991:8022
#
# trusted-tokens-manager:
# image: ghcr.io/valitydev/trusted-tokens-manager:sha-efd3f86
# hostname: trusted-tokens-manager
# container_name: trusted-tokens-manager
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# kafka.bootstrap-servers: "broker:9092"
# kafka.client-id: "trusted-tokens-manager"
# kafka.topics.payment.id: "payment_event"
# kafka.topics.payment.consume.enabled: "true"
# kafka.topics.withdrawal.consume.enabled: "true"
# kafka.topics.withdrawal.id: "withdrawal"
# riak.address: riak
# riak.port: 8087
# management.metrics.export.statsd.enabled: "false"
# logging.config: "tmp/logback-test.xml"
# depends_on:
# - riak
# - broker
# ports:
# - 8992:8022
# volumes:
# - ./log-java:/opt/trusted-tokens-manager/tmp
#
# fraudbusters-api:
# image: ghcr.io/valitydev/fraudbusters-api:sha-2c6be00
# hostname: fraudbusters-api
# container_name: fraudbusters-api
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# management.security.enabled: 'false'
# logging.config: "tmp/logback-test.xml"
# fraudbusters.service.payment.url: 'http://fraudbusters:8022/fraud_payment/v1/'
# fraudbusters.service.inspector.url: 'http://fraudbusters:8022/fraud_inspector/v1'
# server.port: "8080"
# depends_on:
# - fraudbusters
# ports:
# - 9999:8080
# volumes:
# - ./log-java:/opt/fraudbusters-api/tmp
#
# fraudbusters:
# image: ghcr.io/valitydev/fraudbusters:sha-676a876
# hostname: fraudbusters
# container_name: fraudbusters
# mem_limit: 512m
# mem_reservation: 128M
# environment:
# management.security.enabled: 'false'
# kafka.ssl.enable: 'false'
# kafka.bootstrap.servers: "broker:9092"
# geo.ip.service.url: "http://columbus:8022/repo"
# wb.list.service.url: "http://wblist:8022/wb_list/v1"
# clickhouse.db.url: "jdbc:clickhouse://clickhouse:8123/default"
# logging.config: "tmp/logback-test.xml"
# card-token-pool.filePath: "card-tokens"
# clickhouse.db.user: 'user'
# clickhouse.db.password: 'password'
# fraud.management.url: 'http://fb-management:8080/fb-management/v1'
# result.full.check.enabled: 'false'
# spring.profiles.active: 'full-prod'
# load.isTrusted.enabled: 'false'
# trusted.tokens.url: 'http://trusted-tokens-manager:8022/trusted/tokens'
# dgraph.service.enabled: 'false'
# kafka.topic.group-list: 'group_list'
# kafka.topic.group-reference: 'group_reference'
# kafka.listen.result.concurrency: 7
# kafka.max.poll.records: 1
# kafka.max.backoff.interval: 1000
# depends_on:
# - clickhouse
# - broker
# - columbus
# - wblist
# - kafka-setup
# - trusted-tokens-manager
# ports:
# - 8999:8022
# - 8111:8089
# volumes:
# - ./log-java:/opt/fraudbusters/tmp
# - ./card-tokens:/opt/fraudbusters/card-tokens
#
# postgres-fb:
# container_name: postgres_container
# hostname: postgres-fb
# image: postgres
# environment:
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: postgres
# POSTGRES_DB: fraudbusters
# PGDATA: /data/postgres
# ports:
# - 6432:5432
# volumes:
# - ./postgres/data/3:/data/postgres
# restart: unless-stopped
#
# fb-management:
# image: ghcr.io/valitydev/fraudbusters-management:sha-cc49e98
# hostname: fb-management
# container_name: fb-management
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# kafka.bootstrap-servers: "broker:9092"
# kafka.topic.wblist.command: "wb-list-command"
# kafka.topic.wblist.event.sink: "wb-list-event-sink"
# kafka.topic.fraudbusters.payment.template: "template"
# kafka.topic.fraudbusters.payment.reference: "template_reference"
# kafka.topic.fraudbusters.payment.group.list: "group_list"
# kafka.topic.fraudbusters.payment.group.reference: "group_reference"
# spring.datasource.url: "jdbc:postgresql://postgres-fb:5432/fraudbusters"
# logging.config: "./tmp/logback-test.xml"
# management.metrics.binders.jvm.enabled: 'false'
# service.payment.url: 'http://fraudbusters:8022/fraud_payment/v1/'
# service.payment.networkTimeout: 15000
# service.historical.url: 'http://fraudbusters:8022/historical_data/v1/'
# service.historical.networkTimeout: 30000
# service.notification.url: 'http://fb-notificator:8022/notification/v1'
# service.notification-channel.url: 'http://fb-notificator:8022/notification-channel/v1'
# service.notification-template.url: 'http://fb-notificator:8022/notification-template/v1'
# spring.profiles.active: 'debug'
# keycloak.enabled: "true"
# keycloak.realm: "fraudbusters-realm"
# keycloak.resource: "fraudbusters-app"
# keycloak.auth-server-url: "http://keycloak:8080/auth"
# cors.allowed-origins: "*"
# ports:
# - 8085:8080
# depends_on:
# - fraudbusters
# - broker
# - wblist
# - postgres-fb
# - kafka-setup
# - fb-notificator
# volumes:
# - ./log-java:/opt/fraudbusters-management/tmp
#
# fb-notificator:
# image: ghcr.io/valitydev/fraudbusters-notificator:sha-2574ac0
# hostname: fb-notificator
# container_name: fb-notificator
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# spring.datasource.url: "jdbc:postgresql://postgres-notificator:5432/fb_notificator"
# logging.config: "./tmp/logback-test.xml"
# management.metrics.binders.jvm.enabled: 'false'
# warehouse.url: 'http://fb-warehouse:8022/query/v1/'
# spring.profiles.active: 'debug'
# ports:
# - 8086:8022
# depends_on:
# - postgres-notificator
# - fb-warehouse
# volumes:
# - ./log-java:/opt/fraudbusters-notificator/tmp
#
# postgres-notificator:
# container_name: postgres_notificator
# hostname: postgres-notificator
# image: postgres
# environment:
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: postgres
# POSTGRES_DB: fb_notificator
# PGDATA: /data/postgres
# ports:
# - 6435:5432
# volumes:
# - ./postgres/data/4:/data/postgres
# restart: unless-stopped
#
# fb-warehouse:
# image: ghcr.io/valitydev/fraudbusters-warehouse:sha-251429b
# hostname: fb-warehouse
# container_name: fb-warehouse
# mem_limit: 256m
# mem_reservation: 128M
# environment:
# clickhouse.db.url: "jdbc:clickhouse://clickhouse:8123/default"
# clickhouse.db.user: 'user'
# clickhouse.db.password: 'password'
# logging.config: "./tmp/logback-test.xml"
# management.metrics.binders.jvm.enabled: 'false'
# spring.profiles.active: 'debug'
# ports:
# - 8088:8080
# depends_on:
# - clickhouse
# volumes:
# - ./log-java:/opt/fraudbusters-warehouse/tmp
#
# fraudbusters-ui:
# image: ghcr.io/valitydev/fraudbusters-ui:sha-5661f6f
# hostname: fraudbusters-ui
# container_name: fraudbusters-ui
# environment:
# platform: linux/amd64
# ports:
# - 8989:8080
# depends_on:
# - fb-management
# volumes:
# - ./fraudbusters-ui/nginx.conf:/etc/nginx/vhosts.d/fraudbusters-ui.conf
# - ./fraudbusters-ui/appConfig.json:/usr/share/nginx/html/assets/appConfig.json
# - ./fraudbusters-ui/authConfig.json:/usr/share/nginx/html/assets/authConfig.json
keycloak:
image: docker.io/wizzn/keycloak:14
@ -382,19 +382,19 @@ services:
KEYCLOAK_PASSWORD: "admin"
volumes:
- ./keycloak/themes/fraudbusters:/opt/jboss/keycloak/themes/fraudbusters
e2e-test:
build: ./e2e-test
image: e2e-test
container_name: e2e-test
command: dockerize -wait tcp://fb-management:8080 -wait tcp://fraudbusters:8022 -wait tcp://fraudbusters-api:8080 -timeout 10000s -wait-retry-interval 10s bash -c "npm test"
environment:
FB_MNGMT_URL: http://fb-management:8080
FB_API_URL: http://fraudbusters-api:8080
depends_on:
- fb-management
- fraudbusters
- fraudbusters-api
#
# e2e-test:
# build: ./e2e-test
# image: e2e-test
# container_name: e2e-test
# command: dockerize -wait tcp://fb-management:8080 -wait tcp://fraudbusters:8022 -wait tcp://fraudbusters-api:8080 -timeout 10000s -wait-retry-interval 10s bash -c "npm test"
# environment:
# FB_MNGMT_URL: http://fb-management:8080
# FB_API_URL: http://fraudbusters-api:8080
# depends_on:
# - fb-management
# - fraudbusters
# - fraudbusters-api
networks:
default:

View File

@ -0,0 +1,50 @@
<#import "template.ftl" as layout>
<@layout.registrationLayout displayInfo=social.displayInfo; section>
<#if section = "title">
${msg("loginTitle",(realm.displayName!''))}
<#elseif section = "header">
<link href="https://fonts.googleapis.com/css?family=Muli" rel="stylesheet"/>
<link href="${url.resourcesPath}/img/favicon.png" rel="icon"/>
<script>
function togglePassword(id, elementId) {
var x = document.getElementById(id);
var v = document.getElementById(elementId);
if (x.type === "password") {
x.type = "text";
v.src = "${url.resourcesPath}/img/eye.png";
} else {
x.type = "password";
v.src = "${url.resourcesPath}/img/eye-off.png";
}
}
</script>
<#elseif section = "header">
${msg("updatePasswordTitle")}
<#elseif section = "form">
<div>
<img class="logo" src="${url.resourcesPath}/img/fraudbusters-logo.svg" alt="Fraudbusters">
</div>
<div class="box-container">
<form id="kc-passwd-update-form" class="form update-password" action="${url.loginAction}" method="post">
<div>
<label class="visibility" id="v" onclick="togglePassword('password-new', 'vi')">
<img id="vi" src="${url.resourcesPath}/img/eye-off.png">
</label>
</div>
<input type="password" class="login-field" id="password-new" name="password-new"
placeholder="${msg("password")}"
autofocus autocomplete="new-password"/>
<div>
<label class="visibility" id="v-confirm" onclick="togglePassword('password-confirm', 'vi-confirm')">
<img id="vi-confirm" src="${url.resourcesPath}/img/eye-off.png">
</label>
</div>
<input type="password" id="password-confirm" name="password-confirm"
placeholder="${msg("Password confirm")}"
class="login-field"
autocomplete="confirm-password"/>
<input class="submit" type="submit" value="${msg("doSubmit")}" tabindex="3">
</form>
</div>
</#if>
</@layout.registrationLayout>

View File

@ -6,7 +6,7 @@ ${msg("loginTitle",(realm.displayName!''))}
<link href="https://fonts.googleapis.com/css?family=Muli" rel="stylesheet"/>
<link href="${url.resourcesPath}/img/favicon.png" rel="icon"/>
<script>
function togglePassword() {
function togglePassword(id) {
var x = document.getElementById("password");
var v = document.getElementById("vi");
if (x.type === "password") {
@ -25,7 +25,7 @@ ${msg("loginTitle",(realm.displayName!''))}
<div class="box-container">
<#if realm.password>
<div>
<form id="kc-form-login" class="form" onsubmit="return true;" action="${url.loginAction}" method="post">
<form id="kc-form-login" class="form update-password" onsubmit="return true;" action="${url.loginAction}" method="post">
<input id="username" class="login-field" placeholder="${msg("username")}" type="text" name="username"
tabindex="1">
<div>

View File

@ -139,6 +139,10 @@ body {
align-items: center;
}
.login-content img {
width: 18px;
}
.identity-providers {
width: 270px;
font-family: Roboto, "Helvetica Neue", sans-serif;
@ -183,4 +187,8 @@ body {
.alert.alert-error {
height: 0;
}
.alert.alert-warning {
height: 0;
}