
Security News
Node.js Drops Bug Bounty Rewards After Funding Dries Up
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.
A comprehensive prototyping, testing, and monitoring toolset built for Apache Kafka.

A Graphical User Interface (GUI) for Kafka Integrated Testing Environment (KITE)
The xkite GUI supports comprehensive prototyping, testing, and monitoring toolset built for Apache Kafka.
Built upon xkite-core library, xkite GUI provides functionality to configuring a YAML file, managing docker containers (configure, run, pause, and shutdown), interfacing with a remote xkite servers, and exporting their configuration to deploy their docker ecosystem to the cloud.
Use xkite to bootstrap your next project, or install our library into an existing project. Built by (and for) developers.
Note: xkite is also available without the full graphical user interface using our xkite-cli.
git clone https://github.com/oslabs-beta/xkite.gitnpm install inside the project folderTo install/run the xkite GUI please use the following command:
$ npx create-xkite <directory-name>
After the installation is complete, users can start the server by following the steps below:
$ cd <directory-name>
$ npm run dev
A browser window will open on http://localhost:3000 where users will see the live preview of the application.
Note: If the port 3000 is not available the server will start on the closest available port after 3000.

The overiew page is the main page when visiting the xkite GUI website. The user is presented with two options:

When users first navigate to the Configuration Page, users will be presented with the options to:
The Advanced Settings Menu offers the user the ability to customize their port configuration. For each component in any xkite configuration, the user can customize ports for the following using the advanced settings menu:
After users have made their desired settings using the steps above, they're ready to deploy a xkite configuration. Select the "Submit" button in bright green. This will engage the following processeses:

Once the appropriate Docker images in a configuration have been downloaded and built, xkite will automatically detect when the user's metrics are ready to begin monitoring. Upon detection, the user will be automatically be navigated to the Kafka metrics page.
Each tab within the Kafka metrics page is organized based on performance relevance. Here's a brief overview of each:

xkite integrates Docker health directly into the application interface, making it easy to view the activity status and port assignments of each Docker image in a configuration. To do so, users simply navigate to the Docker Health tab within the left-hand navigation bar. Users can also pause and restart Docker images directly from this page, or pause and restart all using the button in the top navigation.
The following is an overview of the features available on this page:

Users will find a Tests tab in their left-hand navigation. This feature allows users to test their deployment by creating new topics and sending test messages to those topics, as well as querying a KSQL instance directly from the xkite interface.
The following is an overview of the features available on this page:
If a user has configured their xkite setup to include KSQL as their data source of choice, they will be presented with the option to create streams using the KSQL REST API on the Tests page.
Here we'll highlight the exact steps users should follow to confirm and test their environment:
$ ksql http://8088 <<EOF
> RUN SCRIPT /tmp/test.sql;
> exit
> EOF
SELECT * FROM users EMIT CHANGES;


Once users have tested their xkite configuration and they're ready to port their settings over to another codebase or project, users can take the following steps to export a configuration:
Users can spin down their Docker containers once they're done monitoring and testing their configuration. Here are the following steps to do so:

Our team is excited about the massive potential at hand to extend xkite’s flexibility and developer experience even further in future iterations and feature releases, and you should be too! Some of these ideas include:
Our team considered the idea of building our application natively within the Spring Boot framework (our Spring app is already built this way). This would eliminate reliance on a Node.js client, and offer a more direct interface with producer/consumer functionality. This build could be ported to a WASM format that could be used in the KafkaConnector Class as a replacement to KafkaJS.
xkite's current Spring implementation has producer functionality but it has static topic message schemas. Future iterations could extend logic within the Spring app to provide an API to create and delete topics/schemas dynamically.
While xkite is currently designed to facilitate local prototyping, testing, and monitoring, an ability to connect to production deployments would allow the application to extend through the production lifecycle as well.
While xkite currently offers PostgreSQL and KSQL as data source options, and Jupyter Notebook and Apache Spark as sink options, additional flexibility around both the data source and sink could accommodate a larger array of potential use-cases and development teams.
Spring and KafkaJS must be inline with each other. Right now they are set to a round-robin assignment strategy (which is a naive approach). Future iterations should optimize for customizable assignment strategies to allow for more user flexibility.
xkite v1 accommodates two relational databases out of the box. Future iterations should accommodate a larger potential user base by extending support to integrate NoSQL databases.
Another future iteration should provide the option to secure login setup for docker instances.
Future iterations might also include an OAuth sign-in option to xkite to save settings for relevant user sessions.
To support flexibility around larger xkite configurations, future versions might also include support for Kubernetes to package Docker containers.
xkite currently includes the framework to make connections to/from the Kafka cluster using the kafka-connector-sink/src docker images. It would be a great value add to have these connectors configurable via user actions on front end automatically so they can connect their data source/sink directly to the Kafka cluster to facilitate message and topic creation and consumption.
Have an idea for how we can improve any of our Codebases or libraries? We would love your help! If you would like to contribute, please use the following format:
You can also raise an issue in Github if you'd like to bring one to our attention. We are genuinely grateful that you'd like to help make our developer tool better. If you'd like to raise an issue, we'd prefer that you use the following format:
FAQs
A comprehensive prototyping, testing, and monitoring toolset built for Apache Kafka.
We found that xkite demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.