Giter Club home page Giter Club logo

sera's People

Contributors

bretth avatar

Watchers

 avatar  avatar

sera's Issues

Create shortcut command

When I want to issue a command adding sera -w [watcher] before each command is tedious so I want to create a shortcut or simple alias for that watcher so that I can issue a command directly.

export to any env file

When I want to change an environment variable in a program other than sera I want to export that variable to an env file on a path.

create command

Create the signing key:

sera create signature

Create the public private keypair:

sera create keypair

Create the watcher aws api keypair

sera create access

Sign messages from watcher with client created key

When a watcher receives a public key swap the first time it must reply by signing it's public key with a signing key known by the client so that the client knows that it is not a malicious watcher.

As an added security measure the signing key is only used the once to add the watcher after which it is removed.

  1. Watcher starts up with signed-queue name in env
  2. Watcher polls signed queue name (signed-queue)
  3. Client determines that watcher queue doesn't exist
    a) if the client doesn't have a signing key it bails
  4. Client sends public key to signed-queue
  5. Watcher receives client public key on signed-queue, and replies on client queue, signing the response.
  6. Client receives signed response.
  7. Signed response validates so watcher queue is created.
  8. Watcher unsets signed-queue from env.
  9. Client deletes signed-queue

Encrypt decrypt commands

When putting environment variables into a public repository I need to encrypt them and have them unencrypted on the server before use.

On the client git ignore *.secret then:

$ sera encrypt -R *.secret
$ enter password: ****** < creates *.nacl files > $ git add *.nacl`

On the server:

$ sera -w ubuntu1 decrypt -R /path/to/files
$ enter password: *****

Allow installable subcommands

Register with:
entry_points = {
'sera.command': [
'main.some_command = myns.mypkg.mymodule:the_command'
]
},

entry_points = {
'sera.group': [
'some_group = myns.mypkg.mymodule:the_group'
]
},

entry_points = {
'sera.collection': [
'some_cli_collection = myns.mypkg.mymodule:the_cli'
]

Override:
SERA_COLLECTION=myns.mypkg.mymodule:the_cli;...
SERA_GROUP=

To use them
import pkg_resources

named_objects = {}
for ep in pkg_resources.iter_entry_points(group='sera.collection'):
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.