Key Value Services is a cli tools that help to you create your Key-Value store services.
I want to create a content sharing tool that is managed by only one person and readable by many people in a secure network environment, so that I can use some common content in the terminal.
bash
cargo install key_value_service
```bash
kvs start 2022-03-18T15:59:26.503861Z INFO starting with 0.0.0.0:8888 successfully! ```
Login the kvs services from client ```bash
kvs -r 0.0.0.0:8888 login 2022-03-18T16:05:05.022305Z INFO Token: FAAAAAAAAACUH40t6d+A9jzhexGHktUINvWwL317xp1/AQAAFAAAAAAAAACrtlLcjeSqhMZCj5rnNn2hkf0K/w== 2022-03-18T16:05:05.022393Z INFO Save Token file to: .kvs/token ```
Create a private key value ```
kvs create foo "hello world" ```
default, kvs will encrypt the value use your priv_key
in local. Remote just judge the key's owner. The decryption process needs to be completed by the client itself.
Read a key ```
kvs read foo hello world ```
Create a public key value
```
kvs create priv_foo "priv hello world" -p ```
If you just do. kvs will send the value and save value as plaintext in remote.
Read a private key ```
kvs cat priv_foo priv hello world ```
Delete a Key ```
kvs delete priv_foo ```
You just can delete key that owner is you.
kvs create priv_foo "this is change data"
kvs read priv_foo
this is change data
Your team have a big list of resource id.
```bash
... A7EB0B7B-3E27-4531-B239-750300EE8D0C B9164246-49E3-45F1-A8CE-D871CEBE3971 92312D9B-B2D8-4A92-B7B5-9A5491FF9BEC 8E1B24ED-0023-45E0-BF34-1548C8D8884D ... ```
Some times, the team member need create the url by the big list.
```bash
... http://xxx.xxx.xxx.xxx/app/goods/A7EB0B7B-3E27-4531-B239-750300EE8D0C http://xxx.xxx.xxx.xxx/app/goods/B9164246-49E3-45F1-A8CE-D871CEBE3971 http://xxx.xxx.xxx.xxx/app/goods/92312D9B-B2D8-4A92-B7B5-9A5491FF9BEC http://xxx.xxx.xxx.xxx/app/goods/8E1B24ED-0023-45E0-BF34-1548C8D8884D ... ```
Let's assume we have written a command line tool named transform
to handle this case.
cat important_resource_urls.txt | transform
The question is, how do I share important_resource_urls.txt
with other team members.
Granted, there are many ways to share it. But you can fast finish it if you use the kvs
.
```bash
kvs create importantresourceurls -f importantresourceurls.txt
kvs cat importantresourceurls | transform ```
set
and get
command to config some value in client localupload
command to upload all file in current directory and use the relative directory as key.set
command to set the config in client local.