tchiotludo / akhq

Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more...
https://akhq.io/
Apache License 2.0
3.4k stars 657 forks source link

Support cloud hosted Kafka service? #92

Closed gusyuwhe closed 5 years ago

gusyuwhe commented 5 years ago

Hi!

Does the kafkahq support clusters on services as Aiven and Confluent? Thanks!

tchiotludo commented 5 years ago

Hello !

Yes it support both as I know. I've already tested with aiven and it works well (for kafka and schema registry). I don't have any confluent cloud account so not tested on my side but there is no reason that don't work

gusyuwhe commented 5 years ago

Great to hear!

I tried to set up kafkahq on localhost and connect to the stream on Aiven.

Here's an example of the application.yml, anything wrong?

kafkahq:
  server:
    base-path: "http://localhost:8080/kafkahq" # if behind a reverse proxy, path to kafkahq without trailing slash (optional). Example: kafkahq is
                  # behind a reverse proxy with url http://my-server/kafkahq, set base-path: "/kafkahq".
                  # Not needed if you're behind a reverse proxy with subdomain http://kafkahq.my-server/
    access-log: # Access log configuration (optional)
      enabled: true # true by default
      name: org.kafkahq.log.access # Logger name
      format: "[Date: {}] [Duration: {} ms] [Url: {} {} {}] [Status: {}] [Ip: {}] [Length: {}] [Port: {}]" # Logger format

  # default kafka properties for each clients, available for admin / producer / consumer (optional)
  clients-defaults:
    consumer:
      properties:
        isolation.level: read_committed

  # list of kafka cluster available for kafkahq
  connections:
    our-kafka-cluster-name:
      properties:
        bootstrap.servers: "x.aivencloud.com:123"
        security.protocol: SSL
        #ssl.truststore.location: /app/truststore.jks
        #ssl.truststore.password: password
        #ssl.keystore.location: /app/keystore.jks
        #ssl.keystore.password: password
        #ssl.key.password: password
        ssl.key.location': service.key,
        ssl.certificate.location': service.cert,
        ssl.ca.location': ca.pem,

  # Topic list display options (optional)
  topic:
    page-size: 25 # number of topics per page (default : 25)
    default-view: HIDE_INTERNAL # default list view (ALL, HIDE_INTERNAL, HIDE_INTERNAL_STREAM, HIDE_STREAM)
    internal-regexps: # list of regexp to be considered as internal (internal topic can't be deleted or updated)
      - "^_.*$"
      - "^.*_schemas$"
      - "^.*connect-config$"
      - "^.*connect-offsets$1"
      - "^.*connect-status$"
    stream-regexps: # list of regexp to be considered as internal stream topic
      - "^.*-changelog$"
      - "^.*-repartition$"
      - "^.*-rekey$"

  # Topic display data options (optional)
  topic-data:
    sort: OLDEST # default sort order (OLDEST, NEWEST) (default: OLDEST)
    size: 50 # max record per page (default: 50)
    poll-timeout: 1000 # The time, in milliseconds, spent waiting in poll if data is not available in the buffer.

  # Schama list display options (optional)
  schema:
    page-size: 25 # number of schemas per page (default : 25)

  # Auth & Roles (optional)
  security:
    default-roles: # Roles available for all the user even unlogged user
      - topic/read
      - topic/insert
      - topic/delete
      - topic/config/update
      - node/read
      - node/config/update
      - topic/data/read
      - topic/data/insert
      - topic/data/delete
      - group/read
      - group/delete
      - group/offsets/update
      - registry/read
      - registry/insert
      - registry/update
      - registry/delete
      - registry/version/delete
      - connect/read
      - connect/insert
      - connect/update
      - connect/delete
      - connect/state/update

    # Basic auth configuration
    basic-auth:
      username: myEmailAddressForAiven # Username
        password: myPasswordForAivenInSha256 # Password in sha256
        roles: # Role for current users
          - topic/read
          - group/read
          - group/delete
tchiotludo commented 5 years ago

Just add a README.md information about that :

https://github.com/tchiotludo/kafkahq/commit/7003c32f18a76e6c1b4d62c97acb2aa7042e3a23#diff-04c6e90faac2675aa89e2176d2eec7d8

Hope it will help you to configure an aiven with KafkaHQ

gusyuwhe commented 5 years ago

Thanks a lot!