Skip to main content

Automation toolbelt -- a single command with multiple pluggable subcommands for automating any number of 'toil' tasks that inhibit productivity.

Project description

V.I.C.T.O.R.I.A.

Victoria demo

Very Important Commands for Toil Optimization: Reducing Inessential Activities.

Victoria is the SRE toolbelt—a single CLI with multiple pluggable subcommands for automating any number of 'toil' tasks that inhibit SRE productivity.

Quality gate status Maintainability rating Reliability rating

Gated Pipeline CI Pipeline CD Pipeline

Features

  • Plugin architecture for easy extension
  • Store config for plugins in cloud storage
    • Azure Blob Storage
  • Encrypt secret config data at rest using cloud encruption provider
    • Azure Key Vault

Prerequisites

  • Python 3.6+
  • Pip
  • Azure CLI

Installation

pip install -U victoria

Documentation

The documentation can be found here.

License

Victoria is licensed under the MIT license.

Contribution

Bug reports

You can submit a bug report here.

Feature requests

You can request a new feature here.

Vulnerability reports

We prefer vulnerabilities to be reported in private so as to minimise their impact (so we can fix them before they are exploited!). To this end, please email any security vulnerability reports to 'sre@glasswallsolutions.com'. We would appreciate it if you use the issue template in the link below. All vulnerabilities will be acknowledged within one business day.

You can publicly report a security vulnerability here.

Pull requests

We accept pull requests! To contribute:

  1. Pick up an unassigned issue from our issue board. Assign yourself to the issue so other people know you're working on it.
  2. Work on your code in a feature branch that's got a descriptive name (like rework-fancy-integrator).
  3. Follow the Google style guide for Python. Every piece of code needs to be documented with Google-style docstrings. We use pylint to lint our code. We run pylint without the 'convention' and 'refactor' message classes. You can lint your code with: poetry run pylint victoria --disable="C,R". We use yapf to automatically format our code. We recommend having it format the code whenever you save.
  4. Make commits for each part of your pull request. Try not to make too many (if it's a small issue you may only need one). We try to use the imperative mood in commit message subjects.
  5. We expect all new code to have at least 80% test coverage. This is enforced by Codecov.
  6. To run tests locally and check coverage, use: poetry run pytest tests/ --cov=victoria.
  7. When ready to merge, create a pull request from your branch into master.
  8. Make sure you link your pull request to the issue(s) it addresses.
  9. The CI build will run for your pull request. If it fails then it cannot be merged. Inspect the output, figure out why it failed, and fix the problem. The CI build will lint your code, run tests, and send coverage/code to Codecov and SonarCloud.
  10. Someone will review your pull request and suggest changes if necessary.
  11. When everything is signed off, your pull request will be merged! Congrats.

Development guide

Prerequisites

  • Python 3.6+
  • Poetry

Quick start

  1. Clone the repo.
  2. Run poetry install.
  3. You're good to go.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

victoria-1.0.5.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

victoria-1.0.5-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file victoria-1.0.5.tar.gz.

File metadata

  • Download URL: victoria-1.0.5.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for victoria-1.0.5.tar.gz
Algorithm Hash digest
SHA256 900b2953cfa97c3263ee3735ad2463966a71feac716d83e60f471fae6faef9e8
MD5 ae455a2c3d124ca65a564a630ee9c55d
BLAKE2b-256 9f8e6d91cdf91ed001c449d312964bce539a9d573461b2b686fc6ed09bd18b3b

See more details on using hashes here.

Provenance

File details

Details for the file victoria-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: victoria-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for victoria-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 785f97f3890cebe324e0b3fe8a4d1c29d57a4583f01da075cfd057b45b5975e2
MD5 67d003d58563e26921706f345313f1ed
BLAKE2b-256 a4b4a9ca7b2c4bac2a07bcf761ed53c688bcd5b99ac54e1b18ce9fe56ffad2ad

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page