GithubHelp home page GithubHelp logo

ashwineaso / whoopbot Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 134 KB

Whoopbot keeps track of shared resources being used. Think of it as a hosted mutex platform in Slack.

License: MIT License

Python 100.00%

whoopbot's Introduction

Whoopbot

GitHub issues GitHub Coverage Status Python package

Overview

Whoopbot provides a virtual lock on your resources, so that it's used by one person at a time.

This is useful in cases where multiple people are working on the same resource, and you need to ensure that it's locked from being modified by anyone else.

For example: You are working on a service: api-service which has to be deployed on the staging environment. To ensure that no one else would deploy their version of the service to the same environment, you can lock the resource using /whoop lock api-service staging.

Please note that this is a virtual lock, does not prevent the person from actually modifying the resource.

Usage Instructions

Whoopbot has the following functionality:

  1. Add a resource for a specific environment
  2. Delete a resource for a specific environment
  3. List the resource and their environments
  4. List the locked resources and their environments
  5. Lock a resource for a specific environment
  6. Unlock a resource for a specific environment

Adding a Resource

You can add a resource using the command: /whoop add <resource> <environment:optional>.
The environment is optional, if you don't specify it, will be set as Default.

You can add the same resource multiple times, but with different environments.

/whoop add api-service
/whoop add api-service staging

Deleting a Resource

You can remove a resource using the command: /whoop delete <resource> <environment:optional>.
The environment is optional, if you don't specify it, will be set as Default.

Listing Resources:

Resources which have been added are listed using the command: /whoop list resources.

Listing Locked Resources:

Resources which have been added are listed using the command: /whoop list locked resources.

Locking a Resource

Resources which have been added are locked using the command: /whoop lock <resource> <environment:optional>.
The environment is optional, if you don't specify it, will be set as Default.

You can lock the same resource multiple times, but with different environments, if it has been added

/whoop add api-service
/whoop add api-service staging

Unlocking a Resource

Resources which have been added are unlocked using the command: /whoop unlock <resource> <environment:optional>. You can only unlock the resource which have been locked by you.

Contributing

Please feel free to contribute to the project ❤️

  • Give this repo a Star ⭐️
  • Ask questions and share your feedback in issues 🙋🏽‍♂️
  • Create a PR or issue for bugs, enhancements, ideas and suggestions 💡

whoopbot's People

Contributors

ashwineaso avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar  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.