Code Monkey home page Code Monkey logo

aomi's Introduction

Build StatusPyPICoverage StatusMaintenance

Aomi: Opinionlessly Express Opinions on Vault

If you are new to aomi, please checkout our documentation. You may be particularly interested in the quickstart guide.

Contributing

All manner of contributions are welcome. The aomi tool is still relatively young, and emphasis has been placed on the data model concept more than staying current with the Vault API. We are looking for contributors of source code, documentation, and community support.

Code

The aomi project is entirely Python, with some shell scripts binding the tests together. It is compatible wtih both Python 2.7.x and 3.6 (and above). The structure is pretty standard for Python projects. Everything lives in one module namespace and is loosely grouped into modules by context. Minimal PyDoc is required (and enforced by pylint) on each function. The cryptographic functions used for cold storage are implemented in the cryptorito Python module.

When adding new builtin templates, a accompanying help file must be provided. Help is represented as a YAML file with a name and help element and it is used to generate command line help for templates.

Test

This project features the following tests (all are invoked with make test).

  • Validation against the pep8 spec
  • pylint with default options
  • Some unit tests powered by nose2
  • Static security analysis with bandit
  • Some integration tests powered by bats.
  • Checking for unused code paths with vulture

Documentation

The README is focused on contribution guidelines. Operational docs are available on a static GitHub page. These docs are maintained as markdown formatted documents within the docs directory. The static site is updated automatically on every commit into the mainline branch based on the contents of this directory.

Deployment

New docker containers are generated on merge to the master branch. New Python packages are pushed on every tagged commit, which happens during a semantic version bump. I tend to use the avakas to handle version changes.

Guidelines

  • This project operates under a Code of Conduct.
  • Changes are welcome via pull request!
  • Please use informative commit messages and pull request descriptions.
  • Please remember to update the documentation if needed.
  • Please keep style consistent. This means PEP8 and pylint compliance at a minimum.
  • Please add both unit and integration tests. Unit tests should run in complete isolation with all disk/network calls mocked out.

If you have any questions, please feel free to contact [email protected].

Errata

The web page for aomi is based on the hacker Jekyll theme and has been heavily customized.

The Code of Conduct is version 1.4 of the Contributor Covenant.

aomi's People

Contributors

otakup0pe avatar jpasko1 avatar wattdave avatar ericfode avatar skovorodkin avatar shaiguitar avatar

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.