8000
Skip to content

mostafaibrahim24/local-swissknife

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

🧰 local swissknife

A lightweight CLI tool built purely in Bash for local testing and playing with various services (from DBs to KV stores to Vault to Object storage, etc..). It can help devs set up and manage local environments quickly and interactively. Using Docker under the hood for flexibility, isolation, and lightweight data management via volumes. The CLI provides interactive lifecycle management actions — start, stop and cleanups (and list?) — all from your terminal.

It goes way beyond justing getting it up via run command:

  • Automatically detects and suggests available ports (Handling collisions)
  • Checks service readiness with retry mechanism so you use it when it is really ready
  • Built in a reusable way using functions that adapt to different service types
image

Supported services include:

  • SQL Databases: Postgres, MySQL, MariaDB, SQL Admin: Adminer
  • NoSQL Databases: MongoDB, Cassandra, Neo4j, InfluxDB
  • Key-Value Stores: Redis, Memcached
  • Queues/Brokers: Kafka, RabbitMQ
  • Object Storage: MinIO
  • Secrets Manager: Vault

Demo

The cli main menu

image

After choosing Databases as service category

image

Choosing postgresql (also demo using defaults)

image

MinIO demo

image image image

Vault demo

image image image

Selecting list created svcs option example

image

Lifecycle management example

image

Handling port number collision in action example

image image

About

A pure Bash CLI to set up, manage, and clean up local testing environments — supports databases, queues, Vault, and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

0