Giter Site home page Giter Site logo

easy-server's Introduction

easy-server - Secure server access that is easy to use

Version on Pypi Actions status Docs build status (master) Test coverage (master)

Overview

The easy-server package is a Python library for securely defining sensitive information for accessing servers (or services), such as logon credentials or API keys.

The information for accessing the servers is divided into a general portion that is defined in an openly accessible server file, and a sensitive portion that is defined in an encrypted vault file.

The vault file defines the secrets needed to access the servers, such as logon credentials or API keys. The vault file must be an "easy-vault" file and thus can be encrypted and decrypted using the easy-vault command provided by the easy-vault package. The "easy-vault" files remain encrypted in the file system while their content is used to access the servers.

The server file defines general information about the servers, such as a short description, contact name, or a reminder which network to use for accessing them.

The link between the server file and the vault file are user-defined nicknames for the servers. These nicknames can also used by users as a convenient way to identify servers in commands.

The server files support the definition of server groups that also have a nickname.

Typical use cases for the easy-server package are test programs running end-to-end tests against real servers, or command line clients that access servers or services.

This provides a convenient, flexible and secure way how Python programs can retrieve the secrets needed for accessing servers or services, while protecting these secrets in a secure way.

Documentation and change log

License

The easy-server project is provided under the Apache Software License 2.0.

easy-server's People

Contributors

andy-maier avatar

Stargazers

 avatar

Watchers

 avatar  avatar

easy-server's Issues

Integrate vault secrets into ServerDefinition class

A meaningful use of the ServerDefinition class in the server_definition fixture provided by the pytest-easy-server project requires that the vault secrets are made available in that class.

One possible approach is to have the server definition file reference the vault file and to load that too once the server definition file is loaded in ServerDefinitionFile. That would also simplify the options of the pytest plugin from specifying both files separately to specifying just the server definition file.

0.8.0: sphinx warnings `reference target not found`

On building my packages I'm using sphinx-build command with -n switch which shows warmings about missing references. These are not critical issues.
Here is the output with warnings:

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v4.5.0
making output directory... done
[autosummary] generating autosummary for: api.rst, appendix.rst, changes.rst, development.rst, index.rst, usage.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://docs.python.org/2/objects.inv...
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 6 added, 0 changed, 0 removed
reading sources... [100%] usage
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-easy-server.3 { usage api development appendix changes } /home/tkloczko/rpmbuild/BUILD/easy-server-0.8.0/easy_server/_vault_file.py:docstring of easy_server.VaultFile.nicknames:3: WARNING: py:class reference target not found: list of string
done
build succeeded, 1 warning.

You can peak on fixes that kind of issues in other projects
latchset/jwcrypto#289
click-contrib/sphinx-click@abc31069
latchset/jwcrypto#289
RDFLib/rdflib-sqlalchemy#95

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.