Skip to content

About

A comprehensive tool to streamline migrations and validate configurations.

Resources

Stars

5 stars

Watchers

3 watching

Forks

Repository files navigation

🚀 CriblUtilities

CriblUtilities is a Python CLI package that streamlines migration to Cribl Stream and validates configurations. With minimal setup, it transfers configurations from existing tools to Cribl Stream. It also integrates with Cribl GitOps workflows to verify naming conventions and file formats before implementing changes.

Contents: Functionality · Disclaimer · Usage · Prerequisites · Development · Releasing

🫶 Functionality

Command Explanation
setup Set up your CriblUtilities environment
migrate Migrate database
check Check file format adherence
check Check naming convention with regex

See the full CLI docs for every command and option.

⚠️ Disclaimer

This project is an independent initiative and is not affiliated, endorsed, or sponsored by Cribl. All trademarks and logos mentioned are the property of their respective owners. Please use this software responsibly and at your own risk.

📥 Usage

Install the CLI from PyPI:

brew install pipx
pipx install cribl-utilities
cribl-utilities --help

Package page: PyPI.

🛠 Prerequisites

  • A local Cribl user with, at minimum, the stream_editor role — required for the migrate use cases.

💪 Development

Requirements

Install the CLI toolchain

macOS / Linux
brew install pipx
sudo pipx ensurepath --global  # allows the --global option below
pipx install poetry
poetry config virtualenvs.in-project true  # keep venvs inside the project
Windows (PowerShell, run as administrator)
pip install pipx
pipx ensurepath
# close and reopen PowerShell
pipx install poetry
poetry config virtualenvs.in-project true  # keep venvs inside the project

Work on the CLI package

cd cribl-utilities
pipx install -e .

Run the example script without installing the CLI

pip install -r requirements.txt
cd cribl-utilities
docker compose up -d
# log in and update the admin password (default is admin / admin)
python example_usage_without_cli.py
docker compose down  # cleanup

Run the unit tests

docker compose up -d
pip install -r requirements.txt
cd cribl-utilities
pytest
docker compose down  # cleanup

Serve the docs locally

mkdocs serve
Reference: how the CLI project was originally scaffolded

These commands are not needed for day-to-day development — they document how the cribl-utilities Poetry/Typer project was first created.

poetry new cribl-utilities
cd cribl-utilities
poetry add typer
poetry shell
poetry build
poetry install
typer cribl_utilities.main utils docs --output docs/cli-docs.md --name cribl-utilities

💻 Releasing

Build and publish a new CLI release from the cribl-utilities folder:

poetry shell
poetry build
poetry config http-basic.pypi <username> <password>  # run once
poetry publish --build

About

A comprehensive tool to streamline migrations and validate configurations.

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages