Sign inSign up

mnemelabs/cli

By mnemelabs

โ€ขUpdated 6 months ago

Image
0

906

mnemelabs/cli repository overview

โ mnemelabs/cli

Mneme โ€” distributed in-memory cache built in Rust. The CLI image provides mneme-cli for managing any Mneme node or cluster.

๐ŸŒ mnemelabs.ioโ  ยท ๐Ÿ“ฆ GitHubโ  ยท ๐Ÿ“– Docsโ 


โ What's in this image

  • mneme-cli โ€” management CLI for all Mneme operations
  • Communicates over TLS 1.3 โ€” no plaintext fallback
  • CA cert auto-discovery when connecting to a co-located Core container

โ Quick start

# Connect to a running Core container
docker run --rm \
  --link mneme-core \
  -e MNEME_HOST=mneme-core:6379 \
  mnemelabs/cli:0.1.0 \
  mneme-cli -u admin -p secret ping
# PONG

Or exec into the Core container (CLI is bundled there too):

docker exec mneme-core mneme-cli -u admin -p secret ping

โ Common commands

# Ping
mneme-cli -u admin -p secret ping

# Strings
mneme-cli -u admin -p secret set greeting "hello"
mneme-cli -u admin -p secret get greeting

# Hash
mneme-cli -u admin -p secret hset user:1 name Alice age 30
mneme-cli -u admin -p secret hget user:1 name

# List
mneme-cli -u admin -p secret lpush queue task1 task2 task3
mneme-cli -u admin -p secret lrange queue 0 -- -1

# Sorted set
mneme-cli -u admin -p secret zadd leaderboard 100 alice 200 bob
mneme-cli -u admin -p secret zrange leaderboard 0 -- -1 --with-scores

# TTL
mneme-cli -u admin -p secret set session:abc token123 --ttl 3600

# Bulk operations
mneme-cli -u admin -p secret mset k1 v1 k2 v2 k3 v3
mneme-cli -u admin -p secret mget k1 k2 k3

# SCAN with glob pattern
mneme-cli -u admin -p secret scan --pattern "user:*" --count 100

# Multiple databases (0-15)
mneme-cli -u admin -p secret --db 1 set isolated-key value

# Cluster info
mneme-cli -u admin -p secret cluster-info
mneme-cli -u admin -p secret stats

โ Consistency levels

# EVENTUAL โ€” fastest, may read stale data
mneme-cli -u admin -p secret --consistency EVENTUAL get key

# ONE โ€” first Keeper ACK
mneme-cli -u admin -p secret --consistency ONE set key value

# QUORUM โ€” floor(N/2)+1 Keeper ACKs (default for writes)
mneme-cli -u admin -p secret --consistency QUORUM set key value

# ALL โ€” every Keeper ACK
mneme-cli -u admin -p secret --consistency ALL set key value

โ Connection profiles

Save connection details to avoid repeating --host, --ca-cert, and --username every time:

# Save a profile
mneme-cli profile-set prod \
  --host prod.example.com:6379 \
  --ca-cert /etc/mneme/ca.crt \
  --username admin

# Use the profile
mneme-cli --profile prod cluster-info
mneme-cli --profile prod stats

Profiles are stored in ~/.mneme/profiles.toml.


โ TLS

mneme-cli requires TLS โ€” there is no plaintext mode. When connecting to a Mneme node that auto-generated its certificate (the default), pass the CA cert:

mneme-cli --ca-cert /path/to/ca.crt -u admin -p secret ping

When running CLI inside a Core container, the CA cert is symlinked to /etc/mneme/ca.crt automatically โ€” no --ca-cert needed.


โ User management (admin only)

# Create user
mneme-cli -u admin -p secret user-create --username alice --password pass --role readwrite

# List users
mneme-cli -u admin -p secret user-list

# Grant database access
mneme-cli -u admin -p secret user-grant --username alice --db 2

# Revoke database access
mneme-cli -u admin -p secret user-revoke --username alice --db 2

# Delete user
mneme-cli -u admin -p secret user-delete --username alice

โ Roles

RolePermissions
adminAll commands, user management, cluster operations
readwriteRead + write on allowed databases
readonlyRead-only on allowed databases

โ License

MIT โ€” ยฉ 2024 Mneme Labs

Tag summary

Content type

Image

Digest

sha256:21b24f3bfโ€ฆ

Size

34.6 MB

Last updated

6 months ago

docker pull mnemelabs/cli