Skip to content

Commit aa50392

Browse files
committed
added docker compose for threat detection client + infra
1 parent c1b87b6 commit aa50392

File tree

3 files changed

+102
-32
lines changed

3 files changed

+102
-32
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
services:
2+
postgres:
3+
image: postgres:15
4+
container_name: postgres_container
5+
ports:
6+
- "5432:5432"
7+
environment:
8+
POSTGRES_USER: akto
9+
POSTGRES_PASSWORD: akto
10+
POSTGRES_DB: 1000000
11+
volumes:
12+
- postgres_data:/var/lib/postgresql/data
13+
14+
kafka-internal:
15+
image: confluentinc/cp-kafka:7.8.0
16+
container_name: kafka-internal
17+
hostname: kafka-internal
18+
user: root
19+
ports:
20+
- "29092:29092" # PLAINTEXT_HOST listener
21+
- "19092:19092" # PLAINTEXT listener
22+
- "9093:9093" # CONTROLLER listener
23+
environment:
24+
# Kafka Node Configuration
25+
KAFKA_NODE_ID: 1
26+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT, LISTENER_DOCKER_INTERNAL:PLAINTEXT
27+
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka-internal:19092,PLAINTEXT_HOST://localhost:29092
28+
KAFKA_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka-internal:19092,CONTROLLER://kafka-internal:9093,PLAINTEXT_HOST://0.0.0.0:29092
29+
30+
# Kafka Roles and Controller Quorum
31+
KAFKA_PROCESS_ROLES: broker,controller
32+
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-internal:9093
33+
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
34+
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
35+
36+
# Other Configurations
37+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
38+
CLUSTER_ID: MkU3OEVBNTcwNTJENDM2Qk
39+
40+
volumes:
41+
- ./data-kafka-internal-data:/var/lib/kafka/data
42+
- ./data-kafka-internal-secrets:/etc/kafka/secrets
43+
44+
threat-detection:
45+
image: ag60/api-threat-detection
46+
env_file: ./docker-threat-detection.env
47+
restart: always
48+
depends_on:
49+
- kafka-internal
50+
- postgres
51+
52+
volumes:
53+
postgres_data:
Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,55 @@
11
services:
2-
postgres:
3-
image: postgres:15
4-
container_name: postgres_container
5-
ports:
6-
- "5432:5432"
7-
environment:
8-
POSTGRES_USER: akto
9-
POSTGRES_PASSWORD: akto
10-
POSTGRES_DB: 1000000
11-
volumes:
12-
- postgres_data:/var/lib/postgresql/data
13-
14-
kafka-internal:
15-
image: confluentinc/cp-kafka:7.7.2
16-
container_name: kafka-internal
17-
hostname: kafka-internal
2+
kafka-central:
3+
image: confluentinc/cp-kafka:7.8.0
4+
container_name: kafka-central
5+
hostname: kafka-central
186
user: root
197
ports:
20-
- "39092:39092" # PLAINTEXT_HOST listener
21-
- "49092:49092" # PLAINTEXT listener
22-
- "49093:49093" # CONTROLLER listener
8+
- "9093:9093" # CONTROLLER listener
9+
- "9092:9092" # EXTERNAL listener
2310
environment:
24-
# Kafka Node Configuration
25-
KAFKA_NODE_ID: 1
26-
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
27-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-internal:49092,PLAINTEXT_HOST://localhost:39092
28-
KAFKA_LISTENERS: PLAINTEXT://kafka-internal:49092,CONTROLLER://kafka-internal:49093,PLAINTEXT_HOST://0.0.0.0:39092
29-
30-
# Kafka Roles and Controller Quorum
11+
# Broker ID
12+
KAFKA_BROKER_ID: 1
13+
14+
# KRaft mode settings
3115
KAFKA_PROCESS_ROLES: broker,controller
32-
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-internal:49093
33-
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
16+
KAFKA_NODE_ID: 1
17+
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
18+
19+
# Kafka listeners and advertised listeners
20+
KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093
21+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
22+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
23+
24+
# Specify controller listener names
3425
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
3526

36-
# Other Configurations
27+
# Log directories
28+
KAFKA_LOG_DIRS: /var/lib/kafka/data
29+
30+
# Minimum in-sync replicas
31+
KAFKA_MIN_INSYNC_REPLICAS: 1
32+
33+
# Offsets topic replication factor
3734
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
35+
36+
# Transaction state log replication factor and min ISR
37+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
38+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
3839
CLUSTER_ID: MkU3OEVBNTcwNTJENDM2Qk
40+
41+
volumes:
42+
- ./data-kafka-central-data:/var/lib/kafka/data
43+
- ./data-kafka-central-secrets:/etc/kafka/secrets
3944

45+
redis-central:
46+
image: redis:latest
47+
container_name: redis-central
48+
hostname: redis-central
49+
ports:
50+
- "6379:6379"
4051
volumes:
41-
- ./data-kafka-internal-data:/var/lib/kafka/data
42-
- ./data-kafka-internal-secrets:/etc/kafka/secrets
52+
- redis_data:/data
4353

4454
volumes:
45-
postgres_data:
55+
redis_data:

docker-threat-detection.env

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
AKTO_MONGO_CONN=
2+
AKTO_TRAFFIC_KAFKA_BOOTSTRAP_SERVER=
3+
AKTO_INTERNAL_KAFKA_BOOTSTRAP_SERVER=kafka-internal:19092
4+
AKTO_THREAT_DETECTION_REDIS_URI=redis://redis1:6379
5+
AKTO_THREAT_DETECTION_POSTGRES=jdbc:postgresql://localhost:5432/akto
6+
AKTO_THREAT_DETECTION_POSTGRES_USER=akto
7+
AKTO_THREAT_DETECTION_POSTGRES_PASSWORD=akto

0 commit comments

Comments
 (0)