项目作者: ne-sachirou

项目描述 :
Delete private values and private files from your git repos.
高级语言: Haskell
项目地址: git://github.com/ne-sachirou/private-values.git
创建时间: 2015-10-02T06:09:47Z
项目社区:https://github.com/ne-sachirou/private-values

开源协议:GNU General Public License v3.0

下载


test

private-values

Delete private values and private files from youre git repos.

  1. private-values [COMMAND]
  2. COMMAND
  3. --
  4. projects List projects.
  5. new PROJECT Create new private values.
  6. rm PROJECT Remove private values.
  7. path PROJECT Path to the private files.
  8. keys PROJECT List keys in the project.
  9. set PROJECT.KEY VALUE Set a private value.
  10. get PROJECT.KEY Get the private value.
  11. ~/private-values.rc
  12. --
  13. values-dir: ~/.private-values

Usage

Install

Donwload a binary from releases and put it into the PATH directory.

Global Setting

Put the config file at ~/private-values.rc:

  1. # ~/private-values.rc
  2. values-dir: ~/.private-values

Make ~/.private-values as your private Git repo.

Store Private Values of Your Project

Let some-project is your Git project.

Create a new private-values project and then set private values.

  1. private-values new someProject
  2. private-values set someProject.someValue1 value1
  3. private-values set someProject.someValue2 value2

Set the values to local environment variables using direnv.
Write some-project/.envrc:

  1. # some-project/.envrc
  2. export SOME_VALUE1=$(private-values get someProject.someValue1)
  3. export SOME_VALUE2=$(private-values get someProject.someValue2)
  1. direnv allow

And ignore the envrc.

  1. # some-project/.gitignore or ~/.gitignore
  2. .envrc

Your private values are stored at ~/.private-values/someProject/values.yml.

Store Private Files of Your Project

For example I make hello.sh.

  1. echo "," > .gitignore
  2. ln -s $(private-values path someProject) ,
  3. echo "#!/bin/bash\necho HELLO" > ,/hello.sh
  4. chmod +x ,/hello.sh
  5. ,/hello.sh

direnv helps us.

  1. # some-project/.envrc
  2. export PATH=$PATH:$(private-values path someProject)
  1. direnv allow
  2. hello.sh

What is NOT private-values?

  • private-values dose NOT manage secrets in your organization. valut may help you.
  • private-values dose NOT encrypt your secrets. Use Bcrypt or other crypt methods.
  • private-values dose NOT store your secrets on a safe cloud server. I use private Git repo, or encrypted 7zip archive in a cloud storage for this purpose.
  • private-values is NOT a fast database backend.

What IS private-values?

  • private-values aggregate your private values and files under 1 directory.
  • The values file values.yml is editable for human. It’s just YAML format which maps a text key to a text value.

TODO

  • Logo
  • Release Homebrew, Chocolatiey, apt