This repository has been archived by the owner on Oct 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 427
/
marathon.json.mustache
175 lines (175 loc) · 10.1 KB
/
marathon.json.mustache
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
{
"id": "{{service.name}}",
"cpus": 1.0,
"mem": 1230,
"instances": 1,
"cmd": "export PATH=$(ls -d $MESOS_SANDBOX/jre*/bin):$PATH && ./scheduler/bin/kafka-scheduler server ./scheduler/conf/scheduler.yml",
"labels": {
"DCOS_PACKAGE_FRAMEWORK_NAME": "{{service.name}}",
"DCOS_MIGRATION_API_VERSION": "v1",
"DCOS_MIGRATION_API_PATH": "/v1/plan",
"MARATHON_SINGLE_INSTANCE_APP":"true"
},
"env": {
"LD_LIBRARY_PATH": "/opt/mesosphere/lib",
"FRAMEWORK_NAME": "{{service.name}}",
"FRAMEWORK_PRINCIPAL": "{{service.principal}}",
"USER": "{{service.user}}",
"PLACEMENT_STRATEGY": "{{service.placement_strategy}}",
"PHASE_STRATEGY": "{{service.phase_strategy}}",
"BROKER_COUNT": "{{brokers.count}}",
"BROKER_CPUS": "{{brokers.cpus}}",
"BROKER_MEM": "{{brokers.mem}}",
"BROKER_HEAP_MB": "{{brokers.heap.size}}",
"BROKER_DISK": "{{brokers.disk}}",
"BROKER_PORT": "{{brokers.port}}",
"DISK_TYPE": "{{brokers.disk_type}}",
"KAFKA_VER_NAME": "kafka_confluent-3.0.0",
"KAFKA_URI": "{{resource.assets.uris.kafka_tgz}}",
"OVERRIDER_URI": "{{resource.assets.uris.overrider-zip}}",
"EXECUTOR_URI": "{{resource.assets.uris.executor-zip}}",
"JAVA_URI": "{{resource.assets.uris.jre-tar-gz}}",
"KAFKA_ZOOKEEPER_URI" : "{{kafka.kafka_zookeeper_uri}}",
"KAFKA_ADVERTISE_HOST_IP" : "{{kafka.kafka_advertise_host_ip}}",
"KAFKA_OVERRIDE_RESERVED_BROKER_MAX_ID": "{{kafka.reserved_broker_max_id}}",
"KAFKA_OVERRIDE_OFFSETS_TOPIC_COMPRESSION_CODEC": "{{kafka.offsets_topic_compression_codec}}",
"KAFKA_OVERRIDE_REPLICA_FETCH_MIN_BYTES": "{{kafka.replica_fetch_min_bytes}}",
"KAFKA_OVERRIDE_CONTROLLED_SHUTDOWN_RETRY_BACKOFF_MS": "{{kafka.controlled_shutdown_retry_backoff_ms}}",
"KAFKA_OVERRIDE_LOG_FLUSH_OFFSET_CHECKPOINT_INTERVAL_MS": "{{kafka.log_flush_offset_checkpoint_interval_ms}}",
"KAFKA_OVERRIDE_OFFSETS_TOPIC_NUM_PARTITIONS": "{{kafka.offsets_topic_num_partitions}}",
"KAFKA_OVERRIDE_MAX_CONNECTIONS_PER_IP_OVERRIDES": "{{kafka.max_connections_per_ip_overrides}}",
"KAFKA_OVERRIDE_LEADER_IMBALANCE_CHECK_INTERVAL_SECONDS": "{{kafka.leader_imbalance_check_interval_seconds}}",
"KAFKA_OVERRIDE_INTER_BROKER_PROTOCOL_VERSION": "{{kafka.inter_broker_protocol_version}}",
"KAFKA_OVERRIDE_LOG_MESSAGE_FORMAT_VERSION": "{{kafka.log_message_format_version}}",
"KAFKA_OVERRIDE_REPLICA_SOCKET_TIMEOUT_MS": "{{kafka.replica_socket_timeout_ms}}",
"KAFKA_OVERRIDE_GROUP_MAX_SESSION_TIMEOUT_MS": "{{kafka.group_max_session_timeout_ms}}",
"KAFKA_OVERRIDE_METRICS_NUM_SAMPLES": "{{kafka.metrics_num_samples}}",
"KAFKA_OVERRIDE_LOG_CLEANER_DELETE_RETENTION_MS": "{{kafka.log_cleaner_delete_retention_ms}}",
"KAFKA_OVERRIDE_LOG_PREALLOCATE": "{{kafka.log_preallocate}}",
"KAFKA_OVERRIDE_REPLICA_SOCKET_RECEIVE_BUFFER_BYTES": "{{kafka.replica_socket_receive_buffer_bytes}}",
"KAFKA_OVERRIDE_OFFSET_METADATA_MAX_BYTES": "{{kafka.offset_metadata_max_bytes}}",
"KAFKA_OVERRIDE_MESSAGE_MAX_BYTES": "{{kafka.message_max_bytes}}",
"KAFKA_OVERRIDE_LOG_ROLL_JITTER_HOURS": "{{kafka.log_roll_jitter_hours}}",
"KAFKA_OVERRIDE_OFFSETS_RETENTION_CHECK_INTERVAL_MS": "{{kafka.offsets_retention_check_interval_ms}}",
"KAFKA_OVERRIDE_FETCH_PURGATORY_PURGE_INTERVAL_REQUESTS": "{{kafka.fetch_purgatory_purge_interval_requests}}",
"KAFKA_OVERRIDE_LOG_RETENTION_CHECK_INTERVAL_MS": "{{kafka.log_retention_check_interval_ms}}",
"KAFKA_OVERRIDE_LOG_INDEX_INTERVAL_BYTES": "{{kafka.log_index_interval_bytes}}",
"KAFKA_OVERRIDE_NUM_NETWORK_THREADS": "{{kafka.num_network_threads}}",
"KAFKA_OVERRIDE_OFFSETS_COMMIT_TIMEOUT_MS": "{{kafka.offsets_commit_timeout_ms}}",
"KAFKA_OVERRIDE_OFFSETS_TOPIC_REPLICATION_FACTOR": "{{kafka.offsets_topic_replication_factor}}",
"KAFKA_OVERRIDE_REPLICA_FETCH_MAX_BYTES": "{{kafka.replica_fetch_max_bytes}}",
"KAFKA_OVERRIDE_CONNECTIONS_MAX_IDLE_MS": "{{kafka.connections_max_idle_ms}}",
"KAFKA_OVERRIDE_SOCKET_REQUEST_MAX_BYTES": "{{kafka.socket_request_max_bytes}}",
"KAFKA_OVERRIDE_METRICS_SAMPLE_WINDOW_MS": "{{kafka.metrics_sample_window_ms}}",
"KAFKA_OVERRIDE_NUM_PARTITIONS": "{{kafka.num_partitions}}",
"KAFKA_OVERRIDE_REPLICA_LAG_TIME_MAX_MS": "{{kafka.replica_lag_time_max_ms}}",
"KAFKA_OVERRIDE_LOG_CLEANER_IO_BUFFER_LOAD_FACTOR": "{{kafka.log_cleaner_io_buffer_load_factor}}",
"KAFKA_OVERRIDE_OFFSETS_COMMIT_REQUIRED_ACKS": "{{kafka.offsets_commit_required_acks}}",
"KAFKA_OVERRIDE_AUTO_CREATE_TOPICS_ENABLE": "{{kafka.auto_create_topics_enable}}",
"KAFKA_OVERRIDE_UNCLEAN_LEADER_ELECTION_ENABLE": "{{kafka.unclean_leader_election_enable}}",
"KAFKA_OVERRIDE_REPLICA_FETCH_BACKOFF_MS": "{{kafka.replica_fetch_backoff_ms}}",
"KAFKA_OVERRIDE_LOG_ROLL_HOURS": "{{kafka.log_roll_hours}}",
"KAFKA_OVERRIDE_ZOOKEEPER_SESSION_TIMEOUT_MS": "{{kafka.zookeeper_session_timeout_ms}}",
"KAFKA_OVERRIDE_PRODUCER_PURGATORY_PURGE_INTERVAL_REQUESTS": "{{kafka.producer_purgatory_purge_interval_requests}}",
"KAFKA_OVERRIDE_GROUP_MIN_SESSION_TIMEOUT_MS": "{{kafka.group_min_session_timeout_ms}}",
"KAFKA_OVERRIDE_LOG_INDEX_SIZE_MAX_BYTES": "{{kafka.log_index_size_max_bytes}}",
"KAFKA_OVERRIDE_NUM_REPLICA_FETCHERS": "{{kafka.num_replica_fetchers}}",
"KAFKA_OVERRIDE_MIN_INSYNC_REPLICAS": "{{kafka.min_insync_replicas}}",
"KAFKA_OVERRIDE_LOG_FLUSH_INTERVAL_MESSAGES": "{{kafka.log_flush_interval_messages}}",
"KAFKA_OVERRIDE_SOCKET_SEND_BUFFER_BYTES": "{{kafka.socket_send_buffer_bytes}}",
"KAFKA_OVERRIDE_AUTO_LEADER_REBALANCE_ENABLE": "{{kafka.auto_leader_rebalance_enable}}",
"KAFKA_OVERRIDE_LOG_CLEANER_ENABLE": "{{kafka.log_cleaner_enable}}",
"KAFKA_OVERRIDE_QUEUED_MAX_REQUESTS": "{{kafka.queued_max_requests}}",
"KAFKA_OVERRIDE_CONTROLLED_SHUTDOWN_MAX_RETRIES": "{{kafka.controlled_shutdown_max_retries}}",
"KAFKA_OVERRIDE_OFFSETS_LOAD_BUFFER_SIZE": "{{kafka.offsets_load_buffer_size}}",
"KAFKA_OVERRIDE_LOG_RETENTION_BYTES": "{{kafka.log_retention_bytes}}",
"KAFKA_OVERRIDE_NUM_IO_THREADS": "{{kafka.num_io_threads}}",
"KAFKA_OVERRIDE_CONTROLLER_SOCKET_TIMEOUT_MS": "{{kafka.controller_socket_timeout_ms}}",
"KAFKA_OVERRIDE_LOG_RETENTION_HOURS": "{{kafka.log_retention_hours}}",
"KAFKA_OVERRIDE_LOG_FLUSH_SCHEDULER_INTERVAL_MS": "{{kafka.log_flush_scheduler_interval_ms}}",
"KAFKA_OVERRIDE_OFFSETS_RETENTION_MINUTES": "{{kafka.offsets_retention_minutes}}",
"KAFKA_OVERRIDE_QUOTA_WINDOW_SIZE_SECONDS": "{{kafka.quota_window_size_seconds}}",
"KAFKA_OVERRIDE_LOG_SEGMENT_BYTES": "{{kafka.log_segment_bytes}}",
"KAFKA_OVERRIDE_LEADER_IMBALANCE_PER_BROKER_PERCENTAGE": "{{kafka.leader_imbalance_per_broker_percentage}}",
"KAFKA_OVERRIDE_MAX_CONNECTIONS_PER_IP": "{{kafka.max_connections_per_ip}}",
"KAFKA_OVERRIDE_LOG_CLEANER_DEDUPE_BUFFER_SIZE": "{{kafka.log_cleaner_dedupe_buffer_size}}",
"KAFKA_OVERRIDE_LOG_CLEANER_MIN_CLEANABLE_RATIO": "{{kafka.log_cleaner_min_cleanable_ratio}}",
"KAFKA_OVERRIDE_ZOOKEEPER_SYNC_TIME_MS": "{{kafka.zookeeper_sync_time_ms}}",
"KAFKA_OVERRIDE_QUOTA_CONSUMER_DEFAULT": "{{kafka.quota_consumer_default}}",
"KAFKA_OVERRIDE_DELETE_TOPIC_ENABLE": "{{kafka.delete_topic_enable}}",
"KAFKA_OVERRIDE_LOG_CLEANUP_POLICY": "{{kafka.log_cleanup_policy}}",
"KAFKA_OVERRIDE_DEFAULT_REPLICATION_FACTOR": "{{kafka.default_replication_factor}}",
"KAFKA_OVERRIDE_NUM_RECOVERY_THREADS_PER_DATA_DIR": "{{kafka.num_recovery_threads_per_data_dir}}",
"KAFKA_OVERRIDE_LOG_CLEANER_IO_BUFFER_SIZE": "{{kafka.log_cleaner_io_buffer_size}}",
"KAFKA_OVERRIDE_BACKGROUND_THREADS": "{{kafka.background_threads}}",
"KAFKA_OVERRIDE_LOG_SEGMENT_DELETE_DELAY_MS": "{{kafka.log_segment_delete_delay_ms}}",
"KAFKA_OVERRIDE_QUOTA_WINDOW_NUM": "{{kafka.quota_window_num}}",
"KAFKA_OVERRIDE_REQUEST_TIMEOUT_MS": "{{kafka.request_timeout_ms}}",
"KAFKA_OVERRIDE_LOG_CLEANER_THREADS": "{{kafka.log_cleaner_threads}}",
"KAFKA_OVERRIDE_QUOTA_PRODUCER_DEFAULT": "{{kafka.quota_producer_default}}",
"KAFKA_OVERRIDE_LOG_CLEANER_BACKOFF_MS": "{{kafka.log_cleaner_backoff_ms}}",
"KAFKA_OVERRIDE_CONTROLLED_SHUTDOWN_ENABLE": "{{kafka.controlled_shutdown_enable}}",
"KAFKA_OVERRIDE_SOCKET_RECEIVE_BUFFER_BYTES": "{{kafka.socket_receive_buffer_bytes}}",
"KAFKA_OVERRIDE_REPLICA_FETCH_WAIT_MAX_MS": "{{kafka.replica_fetch_wait_max_ms}}",
"KAFKA_OVERRIDE_REPLICA_HIGH_WATERMARK_CHECKPOINT_INTERVAL_MS": "{{kafka.replica_high_watermark_checkpoint_interval_ms}}",
"KAFKA_OVERRIDE_OFFSETS_TOPIC_SEGMENT_BYTES": "{{kafka.offsets_topic_segment_bytes}}",
"KAFKA_OVERRIDE_LOG_CLEANER_IO_MAX_BYTES_PER_SECOND": "{{kafka.log_cleaner_io_max_bytes_per_second}}",
"KAFKA_OVERRIDE_COMPRESSION_TYPE": "{{kafka.compression_type}}"
{{#service.secret_name}}
,"DCOS_SERVICE_ACCOUNT_CREDENTIAL": { "secret": "serviceCredential" },
"MESOS_MODULES": "file:///opt/mesosphere/etc/mesos-scheduler-modules/dcos_authenticatee_module.json",
"MESOS_AUTHENTICATEE": "com_mesosphere_dcos_ClassicRPCAuthenticatee",
"SSL_CERT_FILE": "/run/dcos/pki/tls/certs/scheduler.crt",
"SSL_KEY_FILE": "/run/dcos/pki/tls/private/scheduler.key",
"SSL_CA_FILE": "/run/dcos/pki/CA/certs/ca.crt",
"SSL_ENABLED": "true"
{{/service.secret_name}}
},
{{#service.secret_name}}
"secrets": {
"serviceCredential": {
"source": "{{service.secret_name}}"
}
},
{{/service.secret_name}}
"uris": [
"{{resource.assets.uris.jre-tar-gz}}",
"{{resource.assets.uris.scheduler-zip}}",
"{{resource.assets.uris.kafka_tgz}}"
],
"healthChecks": [
{
"gracePeriodSeconds": 120,
"intervalSeconds": 30,
"maxConsecutiveFailures": 0,
"path": "/admin/healthcheck",
"portIndex": 0,
"protocol": "HTTP",
"timeoutSeconds": 5
}
],
"readinessChecks": [
{
"name": "confluentUpdateProgress",
"protocol": "HTTP",
"path": "/v1/plan",
"portName": "api",
"interval": 10000,
"timeout": 10000,
"httpStatusCodesForReady": [200],
"preserveLastResponse": true
}
],
"upgradeStrategy":{
"minimumHealthCapacity": 0,
"maximumOverCapacity": 0
},
"portDefinitions": [
{
"port": 0,
"protocol": "tcp",
"name": "api",
"labels": {}
}
]
}