-
-
Save florianluediger/f7c9b7971aa29408fd4d7cbfe8e4dd15 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Name: hivemq | |
Namespace: default | |
Labels: app=hivemq-operator | |
app.kubernetes.io/instance=hivemq | |
app.kubernetes.io/managed-by=Helm | |
app.kubernetes.io/name=hivemq-operator | |
app.kubernetes.io/version=4.8.2 | |
helm.sh/chart=hivemq-operator-0.10.10 | |
hivemq-cluster=hivemq | |
Annotations: meta.helm.sh/release-name: hivemq | |
meta.helm.sh/release-namespace: default | |
API Version: hivemq.com/v1 | |
Kind: HiveMQCluster | |
Metadata: | |
Creation Timestamp: 2022-07-20T13:25:23Z | |
Generation: 1 | |
Managed Fields: | |
API Version: hivemq.com/v1 | |
Fields Type: FieldsV1 | |
fieldsV1: | |
f:metadata: | |
f:annotations: | |
.: | |
f:meta.helm.sh/release-name: | |
f:meta.helm.sh/release-namespace: | |
f:labels: | |
.: | |
f:app: | |
f:app.kubernetes.io/instance: | |
f:app.kubernetes.io/managed-by: | |
f:app.kubernetes.io/name: | |
f:app.kubernetes.io/version: | |
f:helm.sh/chart: | |
f:hivemq-cluster: | |
f:spec: | |
.: | |
f:additionalVolumeMounts: | |
f:additionalVolumes: | |
f:affinity: | |
f:clusterOverloadProtection: | |
f:clusterReplicaCount: | |
f:configOverride: | |
f:controllerTemplate: | |
f:cpu: | |
f:cpuLimitRatio: | |
f:customProperties: | |
f:dnsSuffix: | |
f:env: | |
f:ephemeralStorage: | |
f:ephemeralStorageLimitRatio: | |
f:extensions: | |
f:hivemqVersion: | |
f:image: | |
f:imagePullPolicy: | |
f:initBusyboxImage: | |
f:initContainers: | |
f:initDnsWaitImage: | |
f:initialization: | |
f:javaOptions: | |
f:labels: | |
.: | |
f:app.kubernetes.io/instance: | |
f:app.kubernetes.io/managed-by: | |
f:app.kubernetes.io/name: | |
f:app.kubernetes.io/version: | |
f:helm.sh/chart: | |
f:listenerConfiguration: | |
f:logLevel: | |
f:memory: | |
f:memoryLimitRatio: | |
f:mqtt: | |
.: | |
f:keepaliveAllowUnlimited: | |
f:keepaliveMax: | |
f:maxPacketSize: | |
f:maxQos: | |
f:messageExpiryMaxInterval: | |
f:queuedMessageStrategy: | |
f:queuedMessagesMaxQueueSize: | |
f:retainedMessagesEnabled: | |
f:serverReceiveMaximum: | |
f:sessionExpiryInterval: | |
f:sharedSubscriptionEnabled: | |
f:subscriptionIdentifierEnabled: | |
f:topicAliasEnabled: | |
f:topicAliasMaxPerClient: | |
f:wildcardSubscriptionEnabled: | |
f:nodeCount: | |
f:nodeSelector: | |
f:podAnnotations: | |
f:podLabels: | |
f:ports: | |
f:priorityClassName: | |
f:restApiConfiguration: | |
f:restrictions: | |
.: | |
f:incomingBandwidthThrottling: | |
f:maxClientIdLength: | |
f:maxConnections: | |
f:maxTopicLength: | |
f:noConnectIdleTimeout: | |
f:runtimeClassName: | |
f:security: | |
.: | |
f:allowEmptyClientId: | |
f:allowRequestProblemInformation: | |
f:controlCenterAuditLogEnabled: | |
f:payloadFormatValidation: | |
f:topicFormatValidation: | |
f:serviceAccountName: | |
f:sidecars: | |
f:tolerations: | |
f:topologySpreadConstraints: | |
Manager: helm | |
Operation: Update | |
Time: 2022-07-20T13:25:23Z | |
API Version: hivemq.com/v1 | |
Fields Type: FieldsV1 | |
fieldsV1: | |
f:status: | |
.: | |
f:conditions: | |
f:extensionState: | |
f:message: | |
f:portStatus: | |
f:state: | |
f:warnings: | |
Manager: okhttp | |
Operation: Update | |
Subresource: status | |
Time: 2022-07-20T13:26:46Z | |
Resource Version: 74690 | |
UID: 0137d617-efcc-4ef4-a6e0-954baecdcaa5 | |
Spec: | |
Additional Volume Mounts: | |
Additional Volumes: | |
Affinity: podAntiAffinity: | |
preferredDuringSchedulingIgnoredDuringExecution: | |
# Try not to co-locate with nodes from the same cluster | |
- weight: 60 | |
podAffinityTerm: | |
labelSelector: | |
matchExpressions: | |
- key: hivemq-cluster | |
operator: In | |
values: | |
- {{ spec.name }} | |
topologyKey: "kubernetes.io/hostname" | |
# Try not to co-locate with other HiveMQ clusters | |
- weight: 30 | |
podAffinityTerm: | |
labelSelector: | |
matchExpressions: | |
- key: app | |
operator: In | |
values: | |
- hivemq | |
topologyKey: "kubernetes.io/hostname" | |
Cluster Overload Protection: true | |
Cluster Replica Count: 2 | |
Config Override: <?xml version="1.0"?> | |
<hivemq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:noNamespaceSchemaLocation="hivemq-config.xsd"> | |
<listeners> | |
--LISTENER-CONFIGURATION-- | |
</listeners> | |
<control-center> | |
<listeners> | |
<http> | |
<port>${HIVEMQ_CONTROL_CENTER_PORT}</port> | |
<bind-address>0.0.0.0</bind-address> | |
</http> | |
</listeners> | |
<users> | |
<user> | |
<name>${HIVEMQ_CONTROL_CENTER_USER}</name> | |
<password>${HIVEMQ_CONTROL_CENTER_PASSWORD}</password> | |
</user> | |
</users> | |
</control-center> | |
<!--REST-API-CONFIGURATION--> | |
<cluster> | |
<enabled>true</enabled> | |
<transport> | |
<tcp> | |
<bind-address>${HIVEMQ_BIND_ADDRESS}</bind-address> | |
<bind-port>${HIVEMQ_CLUSTER_PORT}</bind-port> | |
<enabled>true</enabled> | |
</tcp> | |
</transport> | |
<discovery> | |
<extension> | |
<reload-interval>${HIVEMQ_DNS_DISCOVERY_INTERVAL}</reload-interval> | |
</extension> | |
</discovery> | |
<replication> | |
<replica-count>${HIVEMQ_CLUSTER_REPLICA_COUNT}</replica-count> | |
</replication> | |
<failure-detection> | |
<tcp-health-check> | |
<enabled>true</enabled> | |
<bind-address>${HIVEMQ_BIND_ADDRESS}</bind-address> | |
<bind-port>9000</bind-port> | |
<port-range>50</port-range> | |
</tcp-health-check> | |
<heartbeat> | |
<enabled>true</enabled> | |
<interval>4000</interval> | |
<timeout>30000</timeout> | |
</heartbeat> | |
</failure-detection> | |
</cluster> | |
<overload-protection> | |
<enabled>${HIVEMQ_CLUSTER_OVERLOAD_PROTECTION}</enabled> | |
</overload-protection> | |
<restrictions> | |
<max-client-id-length>${HIVEMQ_MAX_CLIENT_ID_LENGTH}</max-client-id-length> | |
<max-topic-length>${HIVEMQ_MAX_TOPIC_LENGTH}</max-topic-length> | |
<max-connections>${HIVEMQ_MAX_CONNECTIONS}</max-connections> | |
<incoming-bandwidth-throttling>${HIVEMQ_INCOMING_BANDWIDTH_THROTTLING}</incoming-bandwidth-throttling> | |
<no-connect-idle-timeout>${HIVEMQ_NO_CONNECT_IDLE_TIMEOUT}</no-connect-idle-timeout> | |
</restrictions> | |
<mqtt> | |
<session-expiry> | |
<max-interval>${HIVEMQ_SESSION_EXPIRY_INTERVAL}</max-interval> | |
</session-expiry> | |
<message-expiry> | |
<max-interval>${HIVEMQ_MESSAGE_EXPIRY_MAX_INTERVAL}</max-interval> | |
</message-expiry> | |
<packets> | |
<max-packet-size>${HIVEMQ_MAX_PACKET_SIZE}</max-packet-size> | |
</packets> | |
<receive-maximum> | |
<server-receive-maximum>${HIVEMQ_SERVER_RECEIVE_MAXIMUM}</server-receive-maximum> | |
</receive-maximum> | |
<keep-alive> | |
<max-keep-alive>${HIVEMQ_KEEPALIVE_MAX}</max-keep-alive> | |
<allow-unlimited>${HIVEMQ_KEEPALIVE_ALLOW_UNLIMITED}</allow-unlimited> | |
</keep-alive> | |
<topic-alias> | |
<enabled>${HIVEMQ_TOPIC_ALIAS_ENABLED}</enabled> | |
<max-per-client>${HIVEMQ_TOPIC_ALIAS_MAX_PER_CLIENT}</max-per-client> | |
</topic-alias> | |
<subscription-identifier> | |
<enabled>${HIVEMQ_SUBSCRIPTION_IDENTIFIER_ENABLED}</enabled> | |
</subscription-identifier> | |
<wildcard-subscriptions> | |
<enabled>${HIVEMQ_WILDCARD_SUBSCRIPTION_ENABLED}</enabled> | |
</wildcard-subscriptions> | |
<shared-subscriptions> | |
<enabled>${HIVEMQ_SHARED_SUBSCRIPTION_ENABLED}</enabled> | |
</shared-subscriptions> | |
<quality-of-service> | |
<max-qos>${HIVEMQ_MAX_QOS}</max-qos> | |
</quality-of-service> | |
<retained-messages> | |
<enabled>${HIVEMQ_RETAINED_MESSAGES_ENABLED}</enabled> | |
</retained-messages> | |
<queued-messages> | |
<max-queue-size>${HIVEMQ_QUEUED_MESSAGE_MAX_QUEUE_SIZE}</max-queue-size> | |
<strategy>${HIVEMQ_QUEUED_MESSAGE_STRATEGY}</strategy> | |
</queued-messages> | |
</mqtt> | |
<security> | |
<!-- Allows the use of empty client ids --> | |
<allow-empty-client-id> | |
<enabled>${HIVEMQ_ALLOW_EMPTY_CLIENT_ID}</enabled> | |
</allow-empty-client-id> | |
<!-- Configures validation for UTF-8 PUBLISH payloads --> | |
<payload-format-validation> | |
<enabled>${HIVEMQ_PAYLOAD_FORMAT_VALIDATION}</enabled> | |
</payload-format-validation> | |
<utf8-validation> | |
<enabled>${HIVEMQ_TOPIC_FORMAT_VALIDATION}</enabled> | |
</utf8-validation> | |
<!-- Allows clients to request problem information --> | |
<allow-request-problem-information> | |
<enabled>${HIVEMQ_ALLOW_REQUEST_PROBLEM_INFORMATION}</enabled> | |
</allow-request-problem-information> | |
<control-center-audit-log> | |
<enabled>${HIVEMQ_CONTROL_CENTER_AUDIT_LOG_ENABLED}</enabled> | |
</control-center-audit-log> | |
</security> | |
</hivemq> | |
Controller Template: cluster-deployment.yaml | |
Cpu: 2 | |
Cpu Limit Ratio: 1 | |
Custom Properties: | |
Dns Suffix: svc.cluster.local. | |
Env: | |
Ephemeral Storage: 15Gi | |
Ephemeral Storage Limit Ratio: 1 | |
Extensions: | |
Enabled: false | |
Extension Uri: preinstalled | |
Name: hivemq-kafka-extension | |
Enabled: false | |
Extension Uri: preinstalled | |
Name: hivemq-bridge-extension | |
Enabled: false | |
Extension Uri: preinstalled | |
Initialization: # A little hack because k8s configMaps can't handle sub-directories | |
[[ -e /conf-override/extensions/hivemq-enterprise-security-extension/enterprise-security-extension.xml ]] && | |
rm -f $(pwd)/conf/enterprise-security-extension.xml && | |
cp -s /conf-override/extensions/hivemq-enterprise-security-extension/enterprise-security-extension.xml $(pwd)/conf/enterprise-security-extension.xml | |
[[ ! -f drivers/postgres-jdbc.jar ]] && | |
curl -L https://jdbc.postgresql.org/download/postgresql-42.2.14.jar --output drivers/jdbc/postgres.jar | |
Name: hivemq-enterprise-security-extension | |
Hivemq Version: k8s-4.8.2 | |
Image: hivemq/hivemq4 | |
Image Pull Policy: IfNotPresent | |
Init Busybox Image: busybox:latest | |
Init Containers: | |
Init Dns Wait Image: hivemq/init-dns-wait:1.0.0 | |
Initialization: | |
Java Options: -XX:+UnlockExperimentalVMOptions -XX:InitialRAMPercentage=40 -XX:MaxRAMPercentage=50 -XX:MinRAMPercentage=30 | |
Labels: | |
app.kubernetes.io/instance: hivemq | |
app.kubernetes.io/managed-by: Helm | |
app.kubernetes.io/name: hivemq-operator | |
app.kubernetes.io/version: 4.8.2 | |
helm.sh/chart: hivemq-operator-0.10.10 | |
Listener Configuration: <tcp-listener> | |
<port>${HIVEMQ_MQTT_PORT}</port> | |
<bind-address>0.0.0.0</bind-address> | |
</tcp-listener> | |
Log Level: INFO | |
Memory: 2Gi | |
Memory Limit Ratio: 1 | |
Mqtt: | |
Keepalive Allow Unlimited: true | |
Keepalive Max: 65535 | |
Max Packet Size: 268435460 | |
Max Qos: 2 | |
Message Expiry Max Interval: 4294967296 | |
Queued Message Strategy: discard | |
Queued Messages Max Queue Size: 1000 | |
Retained Messages Enabled: true | |
Server Receive Maximum: 10 | |
Session Expiry Interval: 4294967295 | |
Shared Subscription Enabled: true | |
Subscription Identifier Enabled: true | |
Topic Alias Enabled: true | |
Topic Alias Max Per Client: 5 | |
Wildcard Subscription Enabled: true | |
Node Count: 2 | |
Node Selector: | |
Pod Annotations: | |
Pod Labels: | |
Ports: | |
Expose: true | |
Name: mqtt | |
Patch: | |
[{"op":"add","path":"/spec/selector/hivemq.com~1node-offline","value":"false"},{"op":"add","path":"/metadata/annotations","value":{"service.spec.externalTrafficPolicy":"Local"}}] | |
Port: 1883 | |
Expose: true | |
Name: cc | |
Patch: | |
[{"op":"add","path":"/spec/sessionAffinity","value":"ClientIP"}] | |
Port: 8080 | |
Priority Class Name: | |
Rest API Configuration: <rest-api> | |
<enabled>${HIVEMQ_REST_API_ENABLED}</enabled> | |
<listeners> | |
<http> | |
<port>${HIVEMQ_REST_API_PORT}</port> | |
<bind-address>0.0.0.0</bind-address> | |
</http> | |
</listeners> | |
</rest-api> | |
Restrictions: | |
Incoming Bandwidth Throttling: 0 | |
Max Client Id Length: 65535 | |
Max Connections: -1 | |
Max Topic Length: 65535 | |
No Connect Idle Timeout: 10000 | |
Runtime Class Name: | |
Security: | |
Allow Empty Client Id: true | |
Allow Request Problem Information: true | |
Control Center Audit Log Enabled: true | |
Payload Format Validation: false | |
Topic Format Validation: true | |
Service Account Name: hivemq-hivemq-operator-hivemq | |
Sidecars: | |
Tolerations: | |
Topology Spread Constraints: | |
Status: | |
Conditions: | |
Last Transition Time: 2022-07-20T13:26:46.648934Z | |
Reason: initial status | |
Status: False | |
Type: AllNodesReady | |
Last Transition Time: 2022-07-20T13:26:46.648934Z | |
Reason: initial status | |
Status: False | |
Type: AllExtensionsLoaded | |
Last Transition Time: 2022-07-20T13:26:46.755800Z | |
Reason: Services transitioned to ready state | |
Status: True | |
Type: AllServicesReady | |
Last Transition Time: 2022-07-20T13:26:46.648934Z | |
Reason: initial status | |
Status: True | |
Type: LogLevelApplied | |
Extension State: | |
Message: Initial status | |
Port Status: | |
State: Pending | |
Warnings: | |
Events: <none> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment