KubeMQ Docs
KubeMQ.ioLogin / Register
  • Introduction
  • What's New
  • Getting Started
    • Quick Start
    • Build & Deploy
    • Create Cluster
      • Build & Deploy
      • Helm
      • Openshift
    • Create Connector
      • Build & Deploy
      • Helm
      • Openshift
    • Message Patterns
      • Queues
      • Pub/Sub
      • RPC
  • Learn
    • The Basics
      • Channels
      • Smart Routing
      • Grouping
    • Message Patterns
      • Queues
      • Pub/Sub
      • RPC
    • Access Control
      • Authentication
      • Authorization
      • Notifications
    • Clustering and HA
    • Connectors
      • KubeMQ Targets
      • KubeMQ Sources
      • KubeMQ Bridges
  • Configuration
    • Cluster
      • Set Cluster Name
      • Set Cluster Namespace
      • Set Persistent Volume
      • Set Cluster Replicas
      • Set Cluster Image
      • Set Cluster Security
      • Set Authentication
      • Set Authorization
      • Set Notification
      • Set License
      • Set gRPC Interface
      • Set Rest Interface
      • Set Api Interface
      • Set Store Settings
      • Set Queues Settings
      • Set Routing
      • Set Health Probe
      • Set Resources Limits
      • Set Logs
      • Set Node Selectors
    • Connectors
      • KubeMQ Targets
        • Standalone
          • Redis
          • Memcached
          • Postgres
          • Mysql
          • MSSql
          • Percona
          • Aerospike
          • ReThinkDB
          • MongoDB
          • Elastic Search
          • Cassandra
          • Couchbase
          • CockroachDB
          • Kafka
          • Nats
          • MQTT
          • ActiveMQ
          • IBM-MQ
          • Minio/S3
          • OpenFaas
          • HTTP
        • AWS
          • Athena
          • DynamoDB
          • Elastic Search
          • KeySpaces
          • MariaDB
          • MSSql
          • MySQL
          • Postgres
          • RedShift
          • RedShift Service
          • AmazonMQ
          • MSK
          • Kinesis
          • SQS
          • SNS
          • S3
          • Lambda
          • CloudWatch Logs
          • CloudWatch Events
          • CloudWatch Metrics
        • GCP
          • Redis
          • Memcached
          • Postgres
          • Mysql
          • BigQuery
          • BigTable
          • Firestore
          • Spanner
          • Firebase
          • Pub/Sub
          • Storage
          • Functions
        • Azure
          • Azure SQL
          • Mysql
          • Postgres
          • Blob
          • Files
          • Queue
          • Events Hub
          • Service Bus
        • Sources
          • Queue
          • Events
          • Events Store
          • Command
          • Query
      • KubeMQ Sources
        • HTTP
        • Messaging
          • Kafka
          • RabbitMQ
          • MQTT
          • ActiveMQ
          • IBM-MQ
          • Nats
        • AWS
          • AmazonMQ
          • MSK
          • SQS
        • GCP
          • Pub/Sub
        • Azure
          • EventHubs
          • ServiceBus
        • Targets
          • Queue
          • Events
          • Events Store
          • Command
          • Query
      • KubeMQ Bridges
        • Targets
          • Queue
          • Events
          • Events Store
          • Command
          • Query
        • Sources
          • Queue
          • Events
          • Events Store
          • Command
          • Query
    • Docker
  • HOW TO
    • Connect Your Cluster
    • Show Dashboard
    • Get Cluster Status
    • Get Cluster Logs
  • SDK
    • Java
    • Java (Springboot)
    • C# (.NET)
    • Go
    • Python
    • Node
    • Rest
  • Troubleshooting
    • Start Here
  • License
    • Open Source Software Notices
Powered by GitBook
On this page
  • Configuration
  • config.yaml

Was this helpful?

  1. Configuration

Docker

Configuration

By default, KubeMQ Docker container run with its default configurations. However, it is possible to mount a specific configuration file during the docker run command and mount it to the Docker container.

This feature allows users to customize the configuration according to their specific needs, ensuring that KubeMQ runs optimally in their environment. For example, a user may want to change the default port number or enable TLS encryption.

To take advantage of this feature, users need to create a configuration file in YAML format and mount it to the Docker container using the --volume flag. Once the container is running, KubeMQ will automatically detect the configuration file and use it instead of the default configuration.

This flexibility is particularly valuable for users with specific security or performance requirements, as it allows them to fine-tune KubeMQ to meet their needs. Additionally, it simplifies the deployment process by eliminating the need to manually configure KubeMQ after installation.

In order to run a docker container with specific configuration run the below command:

docker run -d -p 8080:8080 -p 50000:50000 -p 9090:9090 -v $(pwd)/config.yaml:/kubemq/config.yaml -e KUBEMQ_TOKEN=<license-key> kubemq/kubemq

config.yaml

Configuration file example with the default values

configdata: ""
api:
    enable: true
    port: 8080
authorization:
    enable: false
    policydata: ""
    filepath: ""
    url: ""
    autoreload: 0
authentication:
    enable: false
    jwtconfig:
        key: ""
        filepath: ""
        signaturetype: ""
    type: ""
    config: ""
security:
    cert:
        filename: ""
        data: ""
    key:
        filename: ""
        data: ""
    ca:
        filename: ""
        data: ""
routing:
    enable: false
    data: ""
    filepath: ""
    url: ""
    autoreload: 0
log:
    level: 2
    fileenable: false
    filepath: ""
store:
    cleanstore: false
    storepath: ./store
    maxqueues: 0
    maxsubscribers: 0
    maxmessages: 0
    maxqueuesize: 0
    maxretention: 1440
    maxpurgeinactive: 1440
queue:
    maxnumberofmessages: 1024
    maxwaittimeoutseconds: 3600
    maxexpirationseconds: 43200
    maxdelayseconds: 43200
    maxreceivecount: 1024
    maxvisibilityseconds: 43200
    defaultvisibilityseconds: 60
    defaultwaittimeoutseconds: 1
    maxinflight: 2048
    pubackwaitseconds: 60
connectors:
    grpc:
        enable: true
        port: "50000"
        subbuffsize: 100
        bodylimit: 104857600
    rest:
        enable: true
        port: "9090"
        readtimeout: 60
        writetimeout: 60
        subbuffsize: 100
        bodylimit: ""
        cors:
            alloworigins:
                - '*'
            allowmethods:
                - GET
                - POST
            allowheaders: []
            allowcredentials: false
            exposeheaders: []
            maxage: 0

PreviousQueryNextConnect Your Cluster

Last updated 1 year ago

Was this helpful?