1 unstable release
0.1.0 | Nov 1, 2024 |
---|
#212 in HTTP server
141 downloads per month
Used in 2 crates
1MB
4K
SLoC
Overview
Konarr is a simple, easy-to-use web interface for monitoring your servers, clusters, and containers supply chain for dependencies and vulnerabilities. It is designed to be lightweight and fast, with minimal resource usage.
It is written in Rust, uses Rocker for the web server, and Vue.js for the front-end.
Origin Story
This project came out of the need to monitor my homelab for insecure dependencies / components. All the products that offer this are proprietary and cost money to use.
In December 2021, Log4Shell (CVE-2021-44228) came dropped and like most of the world I was running around trying to find if I had a service using it. Turned out I was but it was a painful process in finding if I was even using it.
Name Origin:
Konarr is from the name Konar quo Maten (translated as Konar the Hunter) from the game Old School Runescape.
🖼️ Screenshots
More screenshots
Single Project Summary
Container Summary
Dependencies View
✨ Features
- Simple, easy-to-use web interface
- Blazing fast performance with minimal resource usage (written in Rust 🦀)
- Real-time monitoring of your containers
- Uses Syft for image scanning (with more scanners to come)
- Orchestration support
- Docker / Podman
- Docker Compose / Docker Swarm
- 🚧 Kubernetes support is planned
- Software Bill of Materials (SBOM) for your containers
- 🚧 Supply chain attack monitoring
🚀 Quick Start
This small script will install the Konarr server and agent on your machine using containers.
curl https://raw.githubusercontent.com/42ByteLabs/konarr/refs/heads/main/install.sh | bash -s
📚 Documentation
🛠️ Installation
Konarr can be installed using Docker, Podman, or Cargo (native).
Konarr using Compose
When using Docker/Podman Compose, the Konarr server and agent will be installed on your machine using containers.
Cloning the repository
# Clone the Konarr repository from GitHub
git clone https://github.com/42ByteLabs/konarr.git && cd konarr
# Update submodules
git submodule update --init --recursive
Starting the server and agent:
docker-compose up -d
💻 Konarr Server
The Konarr Server is the API and web interface that is used to monitor your containers. It can be installed using Docker/Podman or Cargo (native).
Konarr Server using Docker
docker run -it --rm \
-p 9000:9000 \
-v ./data:/data \
-v ./config:/config \
ghcr.io/42bytelabs/konarr:v0.1.0
Description
This command does the following:
-it --rm
- This is a common set of flags to pass todocker run
. The-it
flag is short for--interactive
and--tty
, which tells Docker to open an interactive terminal inside the container. The--rm
flag tells Docker to automatically remove the container when it stops running.-p 9000:9000
- This tells Docker to map port 9000 on the host machine to port 9000 on the container. This is the port that the Konarr server listens on by default.-v ./data:/data
- This tells Docker to mount the./data
directory on the host machine to the/data
directory on the container. This is where Konarr stores its data by default.-v ./config:/config
- This tells Docker to mount the./config
directory on the host machine to the/config
directory on the container. This is where Konarr looks for its configuration file by default.ghcr.io/42bytelabs/konarr:v0.1.0
- This is the name of the Docker image that we want to run. Theghcr.io/42bytelabs/konarr
part is the name of the repository on GitHub Container Registry, and thev0.1.0
part is the tag of the image that we want to run.
Install Server via Cargo
The konarr-server
can be installed using Cargo but it is not recommended for production use.
cargo install konarr-server
🕵️ Konarr Agent
The Konarr Agent is the Konarr CLI that is used to monitor your containers. It is written in Rust and is available as a binary or as a Docker image.
Running Agent in Docker
docker run -it --rm \
-e KONARR_INSTANCE \
-e KONARR_AGENT_TOKEN \
-e KONARR_PROJECT_ID \
ghcr.io/42bytelabs/konarr-agent:v0.1.0
Install Agent via Cargo
The konarr-cli is a Rust binary that can be installed via Cargo.
cargo install konarr-cli
From Source
# Clone the Konarr repository from GitHub
git clone https://github.com/42ByteLabs/konarr.git && cd konarr
# Update submodules (client/frontend is a submodule)
git submodule update --init --recursive
# Build frontend
cd client && npm install && npm run build && cd ..
# Build and run server
cargo run -p konarr-server --release -- -c ./konarr.yml
❤️ Maintainers / Contributors
Mathew Payne 💻 👀 |
🦸 Support
Please create GitHub Issues if there are bugs or feature requests.
This project uses Semantic Versioning (v2) and with major releases, breaking changes will occur.
📓 License
This project is licensed under the terms of the Apache2 open source license. Please refer to Apache2 for the full terms.
Dependencies
~10–26MB
~379K SLoC