Starting KSML Applications

Creating KSML Applications

  1. Open the "Applications" page in the Self-Service portal

    Axual "Self-Service" UI, "Applications" page
  2. Click the New Application button. This window will open

    Axual "Self-Service" UI, "Add Application" page
  3. Fill the required information in the form:

    • ID: The Application ID of your KSML Application.

    • Name: Full name of the KSML Application.

    • Short Name: A shorter name for the KSML Application.

    • Owner: All members of the selected group will be authorized to edit this KSML Application.

    • Type: choose "KSML"

    • Visibility: Controls read access. Public applications are readable to the entire organisation.
      Private applications are only visible to its owners.

    • Description: A short summary describing the purpose of this application.

  4. Click the Add Application button in the bottom-right of the screen.
    Upon creating the KSML Application in the Self-Service portal, you will be directed to the application detail page.
    Here you can "instantiate" this KSML Application onto multiple environments.

    Axual "Self-Service" UI, "Application" page, showing an example ksml application

Configuring and starting KSML Applications

A KSML Application needs 2 sets of configuration for every environment in which it’s deployed:

  1. Definition: The KSML YAML definition.

  2. Security: The means to authenticate and authorize the Application against the Kafka cluster. Can be either user provided certificate and private key PEM files or generated SASL credentials depending on the Instance Cluster Configuration.

Axual "Self-Service" UI, section of the "Application" page, showing the security and configuration modal of an unconfigured KSML Application, with the blue circle indicators on both configuration buttons A blue indicator is shown if the Security or KSML Definition Configuration is not yet provided.

Definition

  1. Click on the Gear button in the application box (hovering on the button will show the text 'Configuration'). A window similar to this will show up:

Axual "Self-Service" UI, "Application" page showing the KSML-definition pop-up modal of an unconfigured ksml-application

Here you will provide the KSML Application Definition either by typing into the modal or by dragging and dropping an existing YAML file. Click Save when done.

Security configuration

Use the authentication method that matches your Kafka Cluster configuration.

Using mTLS

The certificate and private key are used to authorize the KSML-Application against kafka when accessing the topics. At least one certificate and private key must be configured for every environment this application intends to use.

  • The certificate must be X.509 formatted and contained within a PEM file. Ideally, it should contain the whole certification chain.

  • The private key must be pkcs8 formatted and contained within a PEM file.

If your key material is currently in JKS format, you can extract the certificate and private key using a tool such as Keystore Explorer.

Considering you have both these files available, let’s configure the KSML Application’s security:

  1. From the environment dropdown, select the environment for which you want to configure the certificate and private key.

  2. Click on the Padlock button in the application box (hovering on the button will show the text 'Authorization'). The following window will show up:

    Axual "Self-Service" UI "Application" page showing the security-configuration pop-up modal of an unconfigured ksml-application
  3. Upload the Certificate file your Application will use in this environment.
    The window will indicate the certificate was successfully uploaded, and request you follow-up with a private key.

  4. Upload the private-key file that matches the certificate.
    The private key will not be displayed on the screen. You will only see whether it was successfully uploaded or not. The window will indicate the private key was successfully uploaded

    Axual "Self-Service" UI, "Application" page showing the security-configuration pop-up modal with correct configuration for a KSML Application
  5. Click Apply

Using SASL

  1. From the environment dropdown, select the environment for which you want to configure sasl authentication.

  2. Click on the Padlock button in the application box (hovering on the button will show the text 'Authorization'). The following window will show up:

    Axual "Self-Service" UI,  "Application" page showing the security-configuration pop-up modal of an unconfigured ksml-application
  3. Click the Generate Pair button in the SASL section

  4. Credentials will be generated and will appear above the button. Only the username is shown

    Axual "Self-Service" UI, "Application" page showing the security-configuration pop-up modal of an unconfigured ksml-application

Requesting Topic Access

Your KSML Application needs to be authorised to produce/consume a kafka topic before it can be started.
Follow the docs to grant it access.

Application Lifecycle

Start

You can start the KSML Application by clicking the 'START' button. Within seconds, the status should change to 'RUNNING'. The result is a pod initializing with the KSML definition you have provided.

Axual "Self-Service" UI, "Application" page showing the KSML configuration status box of a configured application, in "running" state

If the status changed to FAILED, you can observe the Application through the logging (see below).

Viewing KSML Logging

As soon as you have started your KSML application, you can consult the KSML Application logs to get a deeper insight into the status of the application beyond the status indicator.

On the KSML Application card, click on the "Logs" button. The following screen shows.

Axual "Self-Service" UI, "Application" page showing the connector logs tab

Log contents can be refreshed or downloaded by hitting the top right Refresh Logs icon or the bottom right Download button respectively.

Stop

Stopping the application can be done by clicking the button on the Application card resulting in the started pod being undeployed.

Deleting A KSML Application

Deleting the KSML Application results in all KSML deployments being stopped on all environments

Available KSML Application Actions

The following actions are available for KSML Applications:

Application action

Effect

START

starts the KSML application

STOP

stops the KSML application