-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yaml
88 lines (83 loc) · 2.69 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
services:
flinkstates-test:
build:
context: ComponentTest
secrets:
- GITHUB_TOKEN
- GITHUB_ACTOR
environment:
Kafka__Url: kafka:19092
Kafka__SecurityProtocol: SaslPlaintext
Kafka__SaslMechanism: OAuthBearer
Kafka__OAuth2__ClientId: default-access
Kafka__OAuth2__ClientSecret: default-access-secret
Kafka__OAuth2__TokenEndpoint: http://keycloak:1852/realms/local-development/protocol/openid-connect/token
Kafka__OAuth2__Scope: kafka
depends_on:
flinkstates-jobmanager:
condition: service_healthy
flinkstates-jobmanager:
build:
secrets:
- GITHUB_TOKEN
- GITHUB_ACTOR
command: |
standalone-job
--job-classname cheetah.example.flinkstates.job.FlinkStatesJob
--kafka-bootstrap-servers kafka:19092
--kafka-group-id FlinkStates-group-id
--kafka-security-protocol SASL_PLAINTEXT
--input-kafka-topic-main-source FlinkStatesInputTopic
--output-kafka-topic-value FlinkStatesOutputTopic-value
--output-kafka-topic-reducing FlinkStatesOutputTopic-reducing
--output-kafka-topic-aggregating FlinkStatesOutputTopic-aggregating
--output-kafka-topic-list FlinkStatesOutputTopic-list
--output-kafka-topic-map FlinkStatesOutputTopic-map
environment:
KAFKA_CLIENT_ID: default-access
KAFKA_CLIENT_SECRET: default-access-secret
KAFKA_SCOPE: kafka
KAFKA_TOKEN_URL: http://keycloak:1852/realms/local-development/protocol/openid-connect/token
FLINK_PROPERTIES: |
jobmanager.rpc.address: flinkstates-jobmanager
scheduler-mode: reactive
rest.flamegraph.enabled: true
state.backend.type: rocksdb
state.checkpoints.dir: file:///checkpoints/processing
state.savepoints.dir: file:///checkpoints/processing
execution.checkpointing.interval: 300 seconds
execution.checkpointing.min-pause: 240 seconds
depends_on:
- flinkstates-taskmanager
volumes:
- flink:/checkpoints
healthcheck:
test: curl localhost:8081/jobs | grep -q '"status":"RUNNING"' || exit -1
interval: 1s
timeout: 1s
retries: 30
flinkstates-taskmanager:
build:
secrets:
- GITHUB_TOKEN
- GITHUB_ACTOR
command: taskmanager
environment:
FLINK_PROPERTIES: |
jobmanager.rpc.address: flinkstates-jobmanager
taskmanager.memory.process.size: 4gb
taskmanager.numberOfTaskSlots: 2
volumes:
- flink:/checkpoints
volumes:
flink:
secrets:
GITHUB_TOKEN:
environment: GITHUB_TOKEN
GITHUB_ACTOR:
environment: GITHUB_ACTOR
networks:
default:
name: "cheetah-infrastructure"
external: true