All Projects → r0hi7 → jackson

r0hi7 / jackson

Licence: Apache-2.0 License
Pythonic way of keeping secrets secure in JSON

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to jackson

tesoro
Kapitan Admission Controller Webhook
Stars: ✭ 32 (+88.24%)
Mutual labels:  secret-management
rucredstash
Utility for managing credentials securely in AWS cloud
Stars: ✭ 15 (-11.76%)
Mutual labels:  secret-management
JPStream
JPStream: JSONPath Stream Processing in Parallel
Stars: ✭ 19 (+11.76%)
Mutual labels:  json-parser
FirebaseJson
🗃 JSON parser and builder for ESP8266, ESP32, Teensy3.x and Teensy4.x, SAM, SAMD and STM32 (128 k flash or more)
Stars: ✭ 29 (+70.59%)
Mutual labels:  json-parser
k8s-vault-webhook
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
Stars: ✭ 107 (+529.41%)
Mutual labels:  secret-management
terraform-provider-lastpass
Terraform Lastpass provider
Stars: ✭ 55 (+223.53%)
Mutual labels:  secret-management
hfexcel
JSON to Excel in Python. 🐍 Human Friendly excel creation in python. 📄 easy, advanced and smart api. json to excel conversion support.. ❤️
Stars: ✭ 16 (-5.88%)
Mutual labels:  json-parser
garmin-connect-export
Downloads gpx, tcx or original fit files from your Garmin Connect Account.
Stars: ✭ 42 (+147.06%)
Mutual labels:  json-parser
whc-json-to-class
javascript版本json自动转换生成对应语言模型类The whc-json-to-class is the javascript plug-in that automatically converts the json string to the corresponding language model class
Stars: ✭ 24 (+41.18%)
Mutual labels:  json-parser
kson
A Java serialization/deserialization library to convert Java Objects into json and back, faster and powerful then Gson.
Stars: ✭ 25 (+47.06%)
Mutual labels:  json-parser
refuel
Lightweight dependency injection engine and DI-driven tools.
Stars: ✭ 21 (+23.53%)
Mutual labels:  json-parser
cli
The official CLI for interacting with your Doppler secrets and configuration.
Stars: ✭ 96 (+464.71%)
Mutual labels:  secret-management
secrets-proxy
🔑 A secure proxy service for managing OneOps secrets.
Stars: ✭ 12 (-29.41%)
Mutual labels:  secret-management
json-parser
🌐 A JSON lexer and parser built according to the official ECMA-404 JSON Data Interchange Standard
Stars: ✭ 24 (+41.18%)
Mutual labels:  json-parser
BetterMappable
Better Mappable through Property Wrappers using ObjectMapper
Stars: ✭ 26 (+52.94%)
Mutual labels:  json-parser
JSONinSV
JSON lib in Systemverilog
Stars: ✭ 25 (+47.06%)
Mutual labels:  json-parser
json
a portable, powerful and pure functional JSON library for Scheme
Stars: ✭ 40 (+135.29%)
Mutual labels:  json-parser
envkeygo
EnvKey's official Go client library
Stars: ✭ 36 (+111.76%)
Mutual labels:  secret-management
envkey-ruby
EnvKey's official Ruby client library
Stars: ✭ 24 (+41.18%)
Mutual labels:  secret-management
jqtop
Analyze json logs in realtime
Stars: ✭ 14 (-17.65%)
Mutual labels:  json-parser

JackSON

Have you ever used JSON as your config? Have you keep secrets in config as plain text, that you dont want to? Then this is the right tool for you.
JackSON is the simple and flexible file extension of JSON file types written in python (in less than 50 lines of code), this extension allows the users to keep their secrets in environment variables and pass the reference to those environment variables into the JSON file(jackson). The secrets in the environment variables will be read securely in to the in memory dict.

The problem that it solves:

  • Retrieve secrets from env variables.
  • Retrieve secrets from remote/servers(HSMs).

How to JackSON

JackSON is exported as python package. You can install it via pip.
pip install --user jackson

export foo=10
export bar=100

Example JackSON config file.

{
    "_comment1": "Value from foo env variable",
    "key1": "env.foo",
    "_comment2": "Value from bar env variable",
    "key2": "env.bar",
    "_comment3": "Value from python module",
    "key3": "!a.b",
    "_comment4": "key/value pair similar to json",
    "key4": "value4"
}

Inside the code.

import jackson
import json    # For converting JackSON --> JSON
d = json.load(jackson.File.open("./config.jackson"))
print(d)

And this is how it looks.

{   
    "key4": "value4",
    "key3": "reached",
    "key2": "100",
    "key1": "10",
    "_comment4": "key/value pair similar to json",
    "_comment3": "Value from python module",
    "_comment2": "Value from bar env variable",
    "_comment1": "Value from foo env variable"
}

Key Features:

  • Reference to environment variables.
  • Reference to the code, which will resolve to secret variable.

Pull requests are more than appreciated.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].