Skip to content
This repository has been archived by the owner on Nov 16, 2021. It is now read-only.

Commit

Permalink
Update to 0.18
Browse files Browse the repository at this point in the history
  • Loading branch information
jwulf committed Jun 7, 2019
1 parent 8bf677b commit a23004c
Show file tree
Hide file tree
Showing 22 changed files with 1,178 additions and 913 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ The containers expose the following services:

To visually inspect and manage running containers and persistent volumes, you can use [Portainer](https://portainer.io).


## Preparation

Clone this repository to your local machine:

```bash
git clone https://github.com/zeebe-io/zeebe-docker-compose
```

## Start the Containers in the Foreground

Running the containers in the foreground will tail the output from each of the containers in your console, allowing you to inspect it.
Expand Down
2 changes: 1 addition & 1 deletion broker-only/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ services:
zeebe:
restart: always
container_name: zeebe_broker
image: camunda/zeebe:0.17.0
image: camunda/zeebe:0.18.0
environment:
- ZEEBE_LOG_LEVEL=debug
ports:
Expand Down
15 changes: 6 additions & 9 deletions cluster/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ networks:
services:
node0:
container_name: zeebe_broker_1
image: camunda/zeebe:0.17.0
image: camunda/zeebe:0.18.0
environment:
- ZEEBE_LOG_LEVEL=debug
- ZEEBE_NODE_ID=0
- ZEEBE_PARTITIONS_COUNT=2
- ZEEBE_REPLICATION_FACTOR=3
- ZEEBE_CLUSTER_SIZE=3
- ZEEBE_CONTACT_POINTS=node0:26502
ports:
- "26500:26500"
volumes:
Expand All @@ -22,16 +23,14 @@ services:
- zeebe_network
node1:
container_name: zeebe_broker_2
image: camunda/zeebe:0.17.0
image: camunda/zeebe:0.18.0
environment:
- ZEEBE_LOG_LEVEL=debug
- ZEEBE_NODE_ID=1
- ZEEBE_PARTITIONS_COUNT=2
- ZEEBE_REPLICATION_FACTOR=3
- ZEEBE_CLUSTER_SIZE=3
# ports:
# - "26500:26500"
# - "5701:5701"
- ZEEBE_CONTACT_POINTS=node0:26502
volumes:
- ./zeebe.cfg.toml:/usr/local/zeebe/conf/zeebe.cfg.toml
networks:
Expand All @@ -40,16 +39,14 @@ services:
- node0
node2:
container_name: zeebe_broker_3
image: camunda/zeebe:0.17.0
image: camunda/zeebe:0.18.0
environment:
- ZEEBE_LOG_LEVEL=debug
- ZEEBE_NODE_ID=2
- ZEEBE_PARTITIONS_COUNT=2
- ZEEBE_REPLICATION_FACTOR=3
- ZEEBE_CLUSTER_SIZE=3
# ports:
# - "26500:26500"
# - "5701:5701"
- ZEEBE_CONTACT_POINTS=node0:26502
volumes:
- ./zeebe.cfg.toml:/usr/local/zeebe/conf/zeebe.cfg.toml
networks:
Expand Down
231 changes: 122 additions & 109 deletions cluster/zeebe.cfg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,49 @@

# ----------------------------------------------------


[gateway]
# Enable the embedded gateway to start on broker startup.
# This setting can also be overridden using the environment variable ZEEBE_EMBED_GATEWAY.
# enable = true

[gateway.network]
# Sets the host the embedded gateway binds to.
# This setting can be specified using the following precedence:
# 1. setting the environment variable ZEEBE_GATEWAY_HOST
# 2. setting gateway.network.host property in this file
# 3. setting the environment variable ZEEBE__HOST
# 4. setting network.host property in this file
# host = "0.0.0.0"

# Sets the port the embedded gateway binds to.
# This setting can also be overridden using the environment variable ZEEBE_GATEWAY_PORT.
# port = 26500

[gateway.cluster]
# Sets the broker the gateway should initial contact.
# This setting can also be overridden using the environment variable ZEEBE_GATEWAY_CONTACT_POINT.
# contactPoint = "127.0.0.1:26501"

# Sets size of the transport buffer to send and received messages between gateway and broker cluster.
# This setting can also be overridden using the environment variable ZEEBE_GATEWAY_TRANSPORT_BUFFER.
# transportBuffer = "128M"

# Sets the timeout of requests send to the broker cluster
# This setting can also be overridden using the environment variable ZEEBE_GATEWAY_REQUEST_TIMEOUT.
# requestTimeout = "15s"

[gateway.threads]
# Sets the number of threads the gateway will use to communicate with the broker cluster
# This setting can also be overridden using the environment variable ZEEBE_GATEWAY_MANAGEMENT_THREADS.
# managementThreads = 1

[network]

# This section contains the network configuration. Particularly, it allows to
# configure the hosts and ports the broker should bind to. the broker exposes 3
# ports: 1. client: the port on which client (Java, CLI, Go, ...) connections
# are handled 2. management: used internally by the cluster for the gossip
# membership protocol and other management interactions 3. replication: used
# internally by the cluster for replicating data across nodes using the raft
# protocol
# configure the hosts and ports the broker should bind to. The broker exposes two sockets:
# 1. command: the socket which is used for gateway-to-broker communication
# 2. internal: the socket which is used for broker-to-broker communication

# Controls the default host the broker should bind to. Can be overwritten on a
# per binding basis for client, management and replication
Expand All @@ -56,92 +90,41 @@
# This setting can also be overridden using the environment variable ZEEBE_PORT_OFFSET.
# portOffset = 0

# Controls the default size of the buffers that are used for buffering outgoing
# messages. Can be overwritten on a per binding basis for client, management and
# replication
# defaultSendBufferSize = "16M"

[network.gateway]

# Enables embedded gateway to start
# enabled = true
#
# Overrides the host the gateway binds to
[network.commandApi]
# Overrides the host used for gateway-to-broker communication
# host = "localhost"
#
# Sets the port the gateway binds to
# port = 26500

[network.client]

# Allows to override the host the client api binds to
# host = "localhost"
#
# The port the client api binds to
# Sets the port used for gateway-to-broker communication
# port = 26501
#
# Overrides the size of the buffer used for buffering outgoing messages to
# clients
# sendBufferSize = "16M"
#
# Sets the size of the buffer used for receiving control messages from clients
# (such as management of subscriptions)
# controlMessageBufferSize = "8M"

[network.management]

# Overrides the host the management api binds to
# host = "localhost"
#
# Sets the port the management api binds to
# port = 26502
#
# Overrides the size of the buffer to be used for buffering outgoing messages to
# other brokers through the management protocols
# Sets the size of the buffer used for buffering outgoing messages
# sendBufferSize = "16M"
#
# Sets the buffer size used for receiving gossip messages and others
# receiveBufferSize = "8M"

[network.replication]

# Overrides the host the replication api binds to
[network.internalApi]
# Overrides the host used for internal broker-to-broker communication
# host = "localhost"
#
# Sets the port the replication api binds to
# port = 26503
#
# Sets the buffer size used for buffering outgoing raft (replication) messages
# sendBufferSize = "16M"

[network.subscription]

# Overrides the host the subscription api binds to
# host = "localhost"
#
# Sets the port the subscription api binds to
# port = 26504
#
# Overrides the size of the buffer to be used for buffering outgoing messages to
# other brokers through the subscription protocols
# sendBufferSize = "16M"
#
# Sets the buffer size used for receiving subscription messages and others
# receiveBufferSize = "8M"
# Sets the port used for internal broker-to-broker communication
# port = 26502


[data]

# This section allows to configure Zeebe's data storage. Data is stored in
# "partition folders". A partition folder has the following structure:
#
# internal-system-0 (root partition folder)
# partition-0 (root partition folder)
# ├── partition.json (metadata about the partition)
# ├── segments (the actual data as segment files)
# │ ├── 00.data
# │ └── 01.data
# └── snapshots (snapshot data)
#
# ├── index (log block index state and snapshots)
# │ ├── runtime
# │ └── snapshots
# └── state (stream processor state and snapshots)
# └── stream-processor
# ├── runtime
# └── snapshots

# Specify a list of directories in which data is stored. Using multiple
# directories makes sense in case the machine which is running Zeebe has
Expand All @@ -152,12 +135,19 @@
# This setting can also be overridden using the environment variable ZEEBE_DIRECTORIES.
# directories = [ "data" ]

# The default size of data segments.
# defaultSegmentSize = "512M"
# The size of data log segment files.
# logSegmentSize = "512M"

# The size of block index segments.
# indexBlockSize = "4M"

# How often we take snapshots of streams (time unit)
# snapshotPeriod = "15m"

# The maximum number of snapshots kept (must be a positive integer). When this
# limit is passed the oldest snapshot is deleted.
# maxSnapshots = "1"
#
# How often follower partitions will check for new snapshots to replicate from
# the leader partitions. Snapshot replication enables faster failover by
# reducing how many log entries must be reprocessed in case of leader change.
Expand Down Expand Up @@ -192,7 +182,7 @@
# clusterSize = 1

# Allows to specify a list of known other nodes to connect to on startup
# The contact points of the management api must be specified.
# The contact points of the internal network configuration must be specified.
# The format is [HOST:PORT]
# Example:
# initialContactPoints = [ "192.168.1.22:26502", "192.168.1.32:26502" ]
Expand All @@ -201,7 +191,12 @@
# specifying a comma-separated list of contact points.
#
# Default is empty list:
initialContactPoints = ["node0:26502"]
# initialContactPoints = []

# Allows to specify a name for the cluster
# This setting can also be overridden using the environment variable ZEEBE_CLUSTER_NAME
# Example:
# clusterName = "zeebe-cluster"

[threads]

Expand Down Expand Up @@ -230,27 +225,15 @@ initialContactPoints = ["node0:26502"]
# Controls the interval at which the metrics are written to the metrics file
# reportingInterval = "5s"

[gossip]
# Controls if the prometheus metrics should be exporter over HTTP
# This setting can also be overridden using the environment variable ZEEBE_METRICS_HTTP_SERVER.
# enableHttpServer = false

# retransmissionMultiplier = 3
# probeInterval = "1s"
# probeTimeout = "500ms"
# probeIndirectNodes = 3
# probeIndirectTimeout = "1s"
# suspicionMultiplier = 5
# syncTimeout = "3s"
# syncInterval = "15s"
# joinTimeout = "1s"
# joinInterval = "5s"
# leaveTimeout = "1s"
# maxMembershipEventsPerMessage = 32
# maxCustomEventsPerMessage = 8

[raft]
# Host to export metrics on, defaults to network.host
# host = "0.0.0.0"

# heartbeatInterval = "250ms"
# electionInterval = "1s"
# leaveTimeout = "1s"
# Port to export metrics on
# port = 9600

# Configure exporters below; note that configuration parsing conventions do not apply to exporter
# arguments, which will be parsed as normal TOML.
Expand All @@ -271,27 +254,57 @@ initialContactPoints = ["node0:26502"]
# A nested table as [exporters.args] will allow you to inject arbitrary arguments into your
# class through the use of annotations.
#
# Enable the following exporter to get debug output of the exporter records
# Enable the following debug exporter to log the exported records to console
# This exporter can also be enabled using the environment variable ZEEBE_DEBUG, the pretty print
# option will be enabled if the variable is set to "pretty".
#
# [[exporters]]
# id = "debug"
# className = "io.zeebe.broker.exporter.DebugExporter"
# id = "debug-log"
# className = "io.zeebe.broker.exporter.debug.DebugLogExporter"
# [exporters.args]
# logLevel = "debug"
# prettyPrint = false
#
# An example configuration for the elasticsearch exporter:
# Enable the following debug exporter to start a http server to inspect the exported records
#
# [[exporters]]
# id = "elasticsearch"
# className = "io.zeebe.exporter.ElasticsearchExporter"
# id = "debug-http"
# className = "io.zeebe.broker.exporter.debug.DebugHttpExporter"
# [exporters.args]
# url = "http://elasticsearch:9200"
# [exporters.args.bulk]
# port = 8000
# limit = 1024
#
#
# An example configuration for the elasticsearch exporter:
#
#[[exporters]]
#id = "elasticsearch"
#className = "io.zeebe.exporter.ElasticsearchExporter"
#
# [exporters.args]
# url = "http://localhost:9200"
#
# [exporters.args.bulk]
# delay = 5
# size = 1_000

# [[exporters]]
# id = "ghetto"
# className = "io.magikcraft.ZeebeExporter.GhettoExporter"

#
# [exporters.args.authentication]
# username = elastic
# password = changeme
#
# [exporters.args.index]
# prefix = "zeebe-record"
# createTemplate = true
#
# command = false
# event = true
# rejection = false
#
# deployment = true
# incident = true
# job = true
# message = false
# messageSubscription = false
# raft = false
# workflowInstance = true
# workflowInstanceSubscription = false
Loading

0 comments on commit a23004c

Please sign in to comment.