Skip to content

waldirborbajr/kvstok

KVStok

Typo Check Build & Test Build & Release

tl;dr: KVStoK is an open-source software built-in with the main aim of being a personal [KEY][VALUE] store, to keep system variables as parameters or passwords or anything else stored in a single place.

With KVStoK you do not need to export a variable to use in your terminal routines and you can open a lot of terminals and you will always keep the content available to use.

Is KVStoK good for DevOps? Yes, if you work with DevOps and have to manage a lot of credentials, KVStoK is up to you.

I am a streamer (twitch, youtube, online class, etc.), is KVStoK ready for me? Yes, online producer, KVStoK it is up to you because you do not need anymore hide or blur your screen to type any sensible data.

Can I manage my credentials remotely from the cloud? No, unfortunately, KVStoK, for security reasons is not available to manage or store credentials on the cloud. In the soon future will be possible to manage all credentials in a single place with security and performance.

How to use

Typing full command name

# Store a value
$ kvstok addkv containerpwd 123SecretPWD

# List all stored values if informed json will generate a json file
$ kvstok lstkv
key_sample1   mysecret
key_sample2   anothersecret
key_sample3   moresecret

# Grab a value stored into a key
$ kvstok getkv containerpwd
123SecretPWD

# Remove a stored key/value from database storage
$ kvstok delkv containerpwd

# Unicode params are allowed too
$ kvstok addkv someParam 喵
$ kvstok getkv someParam
喵

# Adding a temporarily key TTL of 10 minutes
# After TTL the key will be automatically removed
$ kvstok ttladdkv mytempkey mytempvalue 10

Integrated to shell script

#!/bin/bash

dosomething = $(kvstok getkv someParam)
echo ${dosomething}
..
.

Typing alias of command name, first letter

# Store a value
$ kvstok a containerpwd 123SecretPWD

# List all stored values if informed json will generate a json file
$ kvstok l
key_sample1   mysecret
key_sample2   anothersecret
key_sample3   moresecret

# Grab a value stored into a key
$ kvstok g containerpwd
123SecretPWD

# Remove a stored key/value from database storage
$ kvstok d containerpwd

# Unicode params are allowed too
$ kvstok a someParam 喵
$ kvstok g someParam
喵

# Adding a temporarily key TTL of 10 minutes
# After TTL the key will be automatically removed
$ kvstok t mytempkey mytempvalue 10

Integrated to shell script

#!/bin/bash

dosomething = $(kvstok g someParam)
echo ${dosomething}
..
.

More examples of use

curl -v -u $(kvstok getkv user):$(kvstok getkv token) https://ghcr.io/v2/

Install

Download binary according to you OS version at

macOS

  1. Download kvstok_x.x.x_darwin_XXXX.tar.gz
  2. Extract: tar xzvf kvstok_x.x.x_darwin_XXXX.tar.gz
  3. Move to mv kvstok ~/bin
  4. Make sure that $HOME/bin it is in your library path.
  5. Run kvstok

Linux

  1. Download kvstok_x.x.x_linux_XXXX.tar.gz
  2. Extract: tar xzvf kvstok_x.x.x_linux_XXXX.tar.gz
  3. Move to mv kvstok ~/bin
  4. Make sure that $HOME/bin it is in your library path.
  5. Run kvstok

How can I contribute?

Kindly refer to CONTRIBUTING.md file to learn how to contribute!

And that's it! Follow these steps to make your very first pull request.

License

Apache

Legal

Copyright 2022-2023 Waldir Borba Junior (mailto:wborbajr@gmail.com) SPDX-License-Identifier: Apache-2.0

TODO

Note: This file is no longer being updated.

The todo file does not represent ALL of the missing features. This file just shows the features which I noticed were missing and I have to implement.

For a list of all closed TODO: is:issue is:closed TODO

For a list of all open TODO: is:issue is:open TODO

Technology

| logo | gopher | nutsdb | cobra |

[KVStoK]|GO|NutsDB|Cobra|

Star History

Star History Chart