generated from canonical/template-operator
-
Notifications
You must be signed in to change notification settings - Fork 14
/
config.yaml
118 lines (117 loc) · 7.5 KB
/
config.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
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
# Copyright 2023 Canonical Ltd.
# See LICENSE file for licensing details.
options:
roles:
description: |
Comma separated list of the roles assigned to the nodes of this cluster.
This configuration accepts the following roles: 'broker' (standard functionality), 'balancer' (cruise control), 'controller' (KRaft mode).
type: string
default: broker
compression_type:
description: Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.
type: string
default: producer
log_flush_interval_messages:
description: The number of messages accumulated on a log partition before messages are flushed to disk.
type: string
default: "9223372036854775807"
log_flush_interval_ms:
description: The maximum time in ms that a message in any topic is kept in memory before flushed to disk.
type: string
default: "9223372036854775807"
log_flush_offset_checkpoint_interval_ms:
description: The frequency with which we update the persistent record of the last flush which acts as the log recovery point.
type: int
default: 60000
log_retention_bytes:
description: The maximum size of the log before deleting it.
type: string
default: "-1"
log_retention_ms:
description: The number of milliseconds to keep a log file before deleting it (in milliseconds).
type: string
default: "-1"
log_segment_bytes:
description: The maximum size of a single log file.
type: int
default: 1073741824
message_max_bytes:
description: The largest record batch size allowed by Apache Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.This can be set per topic with the topic level max.message.bytes config.
type: int
default: 1048588
offsets_topic_num_partitions:
description: The number of partitions for the offset commit topic (should not change after deployment).
type: int
default: 50
transaction_state_log_num_partitions:
description: The number of partitions for the transaction topic (should not change after deployment).
type: int
default: 50
unclean_leader_election_enable:
description: Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.
type: boolean
default: false
log_cleaner_delete_retention_ms:
description: How long are delete records retained.
type: string
default: "86400000"
log_cleaner_min_compaction_lag_ms:
description: The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
type: string
default: "0"
log_cleanup_policy:
description: "The default cleanup policy for segments beyond the retention window. A comma separated list of valid policies. Valid policies are: 'delete' and 'compact'"
type: string
default: delete
log_message_timestamp_type:
description: Define whether the timestamp in the message is message create time or log append time. The value should be either 'CreateTime' or 'LogAppendTime'.
type: string
default: CreateTime
ssl_cipher_suites:
description: A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. By default all the available cipher suites are supported.
type: string
default: ""
ssl_principal_mapping_rules:
description: "A list of rules for mapping from distinguished name from the client certificate to short name. Each rule starts with 'RULE:' and contains an expression as the following. 'RULE:pattern/replacement/[LU]'. A valid set of rules could look something like this 'RULE:^.*[Cc][Nn]=([a-zA-Z0-9.-_@]*).*$/$1/L,DEFAULT'"
type: string
default: "DEFAULT"
replication_quota_window_num:
description: The number of samples to retain in memory for replication quotas.
type: int
default: 11
zookeeper_ssl_cipher_suites:
description: Specifies the enabled cipher suites to be used in Apache ZooKeeper TLS negotiation (csv). Overrides any explicit value set via the zookeeper.ssl.ciphersuites system property (note the single word "ciphersuites"). The default value of null means the list of enabled cipher suites is determined by the Java runtime being used.
type: string
default: ""
profile:
description: "Profile representing the scope of deployment, and used to enable high-level customisation of sysconfigs, resource checks/allocation, warning levels, etc. Allowed values are: “production”, “staging” and “testing”"
type: string
default: production
certificate_extra_sans:
description: Config options to add extra-sans to the ones used when requesting server certificates. The extra-sans are specified by comma-separated names to be added when requesting signed certificates. Use "{unit}" as a placeholder to be filled with the unit number, e.g. "worker-{unit}" will be translated as "worker-0" for unit 0 and "worker-1" for unit 1 when requesting the certificate.
type: string
default: ""
extra_listeners:
description: "Config options to add extra SANs to the ones used when requesting server certificates, and to define custom `advertised.listeners` and ports for clients external to the Juju model. These items are comma-separated. Use '{unit}' as a placeholder to be filled with the unit number if necessary. For port allocations, providing the port for a given listener will offset the generated port number by that amount, with an accepted value range of 20001-50000. For example, a provided value of 'worker-{unit}.domain.com:30000' will generate listeners for unit 0 with name 'worker-0.domain.com', and be allocated ports 39092, 39093 etc for each authentication scheme."
type: string
default: ""
log_level:
description: "Level of logging for the different components operated by the charm. Possible values: ERROR, WARNING, INFO, DEBUG"
type: string
default: "INFO"
network_bandwidth:
description: The network bandwidth available for the cloud that the charm is deployed to, in KB.
type: int
default: 50000
cruisecontrol_balance_threshold:
description: The maximum allowed extent of unbalance between brokers for cpu, disk and network utilization, and replica counts. For example, a value of `1.1` ensures that no broker should have >1.1x average utilization of all the brokers
type: float
default: 1.1
cruisecontrol_capacity_threshold:
description: The maximum percentage of the total cpu, disk and network capacity that is allowed to be used on a broker. For example, a value of `0.8` ensures that no broker should have >80% utilization
type: float
default: 0.8
expose_external:
description: "String to determine how to expose the Apache Kafka cluster externally from the Kubernetes cluster. Possible values: 'nodeport', 'none'"
type: string
default: "nodeport"