---
env.java.opts.all: --add-exports=java.base/sun.net.util=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED

# Slotmanager
# Maximum cpu cores the Flink cluster allocates for slots. Resources for JobManager and TaskManager framework are excluded. If not configured, it will be derived from 'slotmanager.number-of-slots.max'.
#slotmanager.max-total-resource.cpu: 550
# Maximum memory size the Flink cluster allocates for slots. Resources for JobManager and TaskManager framework are excluded. If not configured, it will be derived from 'slotmanager.number-of-slots.max'.
#slotmanager.max-total-resource.memory: 2950g
# Defines the maximum number of slots that the Flink cluster allocates. This configuration option is meant for limiting the resource consumption for batch workloads. It is not recommended to configure this option for streaming workloads, which may fail if there are not enough slots. Note that this configuration option does not take effect for standalone clusters, where how many slots are allocated is not controlled by Flink.
#slotmanager.number-of-slots.max: 600


#Job Manager
jobmanager.scheduler: adaptive
jobmanager.rpc.address: host0002711.acme.com
#jobmanager.bind-host: host0002711.acme.com
jobmanager.archive.fs.dir: s3://bucket1/completed-jobs
jobmanager.memory.flink.size: 112g
jobmanager.memory.jvm-metaspace.size: 8g
jobmanager.execution.failover-strategy: region
# jobstore.type: "Memory"

##Task Manager
taskmanager.network.bind-policy: name # ********** USE THIS
taskmanager.collect-sink.port: 4481 # INTEGER
taskmanager.data.bind-port: 50100-50149 # STRING
tasmanager.rpc.bind-port: 10258 # INTEGER
taskmanager.numberOfTaskSlots: 120
taskmanager.memory.flink.size: 490g
taskmanager.memory.jvm-metaspace.size: 10g
taskmanager.data.ssl.enabled: true
taskmanager.network.detailed-metrics: true
##parallelism.default: -1
##parallelism.default: 8
parallelism.default: 1

# Rest info
rest.bind-address: host0002711.acme.com
rest.bind-port: 8081 # STRING
#rest.bind-port: 4421 # STRING
rest.profiling.enabled: true
#web.submit.enable: false
web.upload.dir: /acme/flink/jars
#web.upload.dir: s3://bucket1

#s3 information
s3.access-key: client-id
s3.secret-key: client-secret
s3.endpoint: s3-app-qa.acme.com:443
s3.path.style.access: true

# HA Settings
high-availability.jobmanager.port: 6123
high-availability.type: zookeeper
high-availability.storageDir: s3://bucket1/ha
high-availability.zookeeper.quorum: host0002709.acme.com:1181,host0002701.acme.com:1181,host0002700.acme.com:1181
high-availability.zookeeper.path.root: /elf
#high-availability.cluster-id: elf-mvp-e1
high-availability.zookeeper.client.acl: open
zookeeper.sasl.disable: true

# STATE BACKEND
state.backend.type: rocksdb
state.changelog.enabled: true
execution.checkpointing.incremental: true
execution.checkpointing.dir: s3://bucket1/checkpoints
execution.checkpointing.savepoint-dir: s3://bucket1/savepoints
execution.checkpointing.num-retained: 10

# Checkpointing info
execution.checkpointing.interval: 1min
execution.checkpointing.externalized-checkpoint-retention: DELETE_ON_CANCELLATION
execution.checkpointing.max-concurrent-checkpoints: 1
execution.checkpointing.min-pause: 0
execution.checkpointing.mode: EXACTLY_ONCE
execution.checkpointing.timeout: 10min
execution.checkpointing.tolerable-failed-checkpoints: 0
#execution.checkpointing.unaligned: false
execution.checkpointing.unaligned: true

io.tmp.dirs: /acme/flink/flink-tmp

# SSL info
security.ssl.rest.enabled: true
security.ssl.rest.authentication-enabled: true
security.ssl.rest.keystore: /opt/flinkcerts/host0002711.acme.com.jks
security.ssl.rest.keystore-password: secret
security.ssl.rest.key-password: secret
security.ssl.rest.truststore: /opt/flinkcerts/flink-truststore.jks
security.ssl.rest.truststore-password: secret
security.ssl.internal.enabled: true
security.ssl.internal.keystore: /opt/flinkcerts/host0002711.acme.com.jks
security.ssl.internal.keystore-password: secret
security.ssl.internal.key-password: secret
security.ssl.internal.truststore: /opt/flinkcerts/flink-truststore.jks
security.ssl.internal.truststore-password: secret

# History server info
historyserver.web.address: host0002711.acme.com
historyserver.web.port: 4421
historyserver.web.ssl.enabled: true
historyserver.archive.fs.dir: s3://bucket1/completed-jobs
historyserver.archive.fs.fs.refresh-interval: 10000
jobstore.expiration-time: 604800


# Application blobs - this should be external ?
blob.server.port: "47999" # String
blob.service.ssl.enabled: true

# Metrics
metrics.reporters: jmx,prom
metrics.internal.query-service.port: "50150-50199"

metrics.reporter.jmx.factory.class: org.apache.flink.metrics.jmx.JMXReporterFactory
metrics.reporter.jmx.port: 9999

metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
metrics.reporter.prom.port: 19191-19194
