id
Unique ID for the Confluent REST Proxy server instance. This is used in generating unique
IDs for consumers that do not specify their ID. The ID is empty by default, which
makes a single server setup easier to get up and running, but is not safe for
multi-server deployments where automatic consumer IDs are used.
- Type: string
- Default: “”
- Importance: high
bootstrap.servers
- A list of Kafka brokers to connect to. For example,
PLAINTEXT://hostname:9092,SSL://hostname2:9092
.
This configuration is particularly important when Kafka security is enabled,
because Kafka may expose multiple endpoints that all will be stored in ZooKeeper,
but REST Proxy may need to be configured with just one of those endpoints. The
client will make use of all servers irrespective of which servers are specified
here for bootstrapping—this list only impacts the initial hosts used to discover
the full set of servers. Because these servers are just used for the initial
connection to discover the full cluster membership (which may change dynamically),
this list need not contain the full set of servers (you may want more than one,
though, in case a server is down).
listeners
Comma-separated list of listeners that listen for API requests over either HTTP
or HTTPS. If a listener uses HTTPS, the appropriate SSL configuration parameters
need to be set as well.
- Type: list
- Default:
http://0.0.0.0:8082
- Importance: high
schema.registry.url
The base URL for Schema Registry that should be used by the serializer.
- Type: string
- Default:
http://localhost:8081
- Importance: high
consumer.request.max.bytes
Maximum number of bytes in unencoded message keys and values returned by a single
request. This can be used by administrators to limit the memory used by a single
consumer and to control the memory usage required to decode responses on clients
that cannot perform a streaming decode. Note that the actual payload will be
larger due to overhead from base64 encoding the response data and from JSON
encoding the entire response.
- Type: long
- Default: 67108864
- Importance: medium
consumer.threads
The maximum number of threads to run consumer requests on. Note that this must
be greater than the maximum number of consumers in a single consumer group.
The sentinel value of -1 allows the number of threads to grow as needed to
fulfill active consumer requests. Inactive threads will ultimately be stopped
and cleaned up.
- Type: int
- Default: 50
- Importance: medium
consumer.request.timeout.ms
The maximum total time to wait for messages for a request if the maximum number
of messages has not yet been reached.
- Type: int
- Default: 1000
- Importance: medium
host.name
The host name used to generate absolute URLs in responses. If empty, the default
canonical hostname is used.
- Type: string
- Default: “”
- Importance: medium
access.control.allow.methods
Set value to Jetty Access-Control-Allow-Origin header for specified methods.
- Type: string
- Default: “”
- Importance: low
access.control.allow.origin
Set value for Jetty Access-Control-Allow-Origin header.
- Type: string
- Default: “”
- Importance: low
response.http.headers.config
Use to select which HTTP headers are returned in the HTTP response for Confluent Platform
components. Specify multiple values in a comma-separated string using the
format [action][header name]:[header value]
where [action]
is one of
the following: set
, add
, setDate
, or addDate
. You must use
quotation marks around the header value when the header value contains commas.
For example:
response.http.headers.config="add Cache-Control: no-cache, no-store, must-revalidate", add X-XSS-Protection: 1; mode=block, add Strict-Transport-Security: max-age=31536000; includeSubDomains, add X-Content-Type-Options: nosniff
- Type: string
- Default: “”
- Importance: low
consumer.instance.timeout.ms
Amount of idle time before a consumer instance is automatically destroyed.
- Type: int
- Default: 300000
- Importance: low
consumer.iterator.backoff.ms
Amount of time to backoff when an iterator runs out of data. If a consumer has
a dedicated worker thread, this is effectively the maximum error for the entire
request timeout. It should be small enough to closely target the timeout, but
large enough to avoid busy waiting.
- Type: int
- Default: 50
- Importance: low
fetch.min.bytes
Minimum number of bytes in message keys and values returned by a single request
before the timeout of consumer.request.timeout.ms
passes. The special sentinel
value of -1 disables this functionality.
- Type: int
- Default: -1
- Importance: medium
consumer.iterator.timeout.ms
Timeout for blocking consumer iterator operations. This should be set to a small
enough value that it is possible to effectively peek() on the iterator.
- Type: int
- Default: 1
- Importance: low
debug
Boolean indicating whether extra debugging information is generated in some
error response entities.
- Type: boolean
- Default: false
- Importance: low
metric.reporters
A list of classes to use as metrics reporters. Implementing the
MetricReporter
interface allows plugging in classes that will be
notified of new metric creation. The JmxReporter is always included to register
JMX statistics.
- Type: list
- Default: []
- Importance: low
metrics.jmx.prefix
Prefix to apply to metric names for the default JMX reporter.
- Type: string
- Default:
kafka.rest
- Importance: low
metrics.num.samples
The number of samples maintained to compute metrics.
- Type: int
- Default: 2
- Importance: low
metrics.sample.window.ms
The metrics system maintains a configurable number of samples over a fixed window
size. This configuration controls the size of the window. For example, you might
maintain two samples each measured over a 30 second period. When a window expires,
you erase and overwrite the oldest window.
- Type: long
- Default: 30000
- Importance: low
port
DEPRECATED: port to listen on for new connections. Use listeners
instead.
- Type: int
- Default: 8082
- Importance: low
producer.threads
Number of threads to run produce requests on.
- Type: int
- Default: 5
- Importance: low
request.logger.name
Name of the SLF4J logger to write the NCSA Common Log Format request log.
- Type: string
- Default:
io.confluent.rest-utils.request
- Importance: low
response.mediatype.default
The default response media type that should be used if no specify types are
requested in an Accept header.
- Type: string
- Default:
application/json
- Importance: low
response.mediatype.preferred
An ordered list of the server’s preferred media types used for responses, from
most preferred to least.
- Type: list
- Default: [application/json, application/vnd.kafka.v2+json]
- Importance: low
shutdown.graceful.ms
Amount of time to wait after a shutdown request for outstanding requests to complete.
- Type: int
- Default: 1000
- Importance: low
kafka.rest.resource.extension.class
A list of classes to use as RestResourceExtension. Implementing the interface
<code>RestResourceExtension</code> allows you to inject user defined resources
like filters to REST Proxy. Typically used to add custom capabilities like logging,
security, etc.
- Type: list
- Default: “”
- Importance: low
advertised.listeners
List of advertised listeners. This configuration is used to generate absolute URLs in V3
responses. The HTTP and HTTPS protocols are supported. Each listener must include the protocol,
hostname, and port. For example: http://myhost:8080
and https://0.0.0.0:8081
.
- Type: list
- Default: “”
- Importance: low
confluent.resource.name.authority
The authority where the governance of the name space is delegated to. This value
is defined by the remainder of the CRN. This is used when generating Confluent resource
names. Examples: confluent.cloud
and mds-01.example.com
.
- Type: string
- Default: “”
- Importance: low