Giter Club home page Giter Club logo

tubular's Introduction

tubular

Overview

Python scripts for integrating pipelines with various services/tools such as:

  • Asgard
  • Amazon Web Services EC2
  • GitHub
  • Jenkins
  • Drupal

The scripts perform work to enable continuous delivery (CD) for https://edx.org. These scripts are called from various tasks/jobs/stages in GoCD pipelines - but could be called from any automation/CD framework.

Configuration

pip install -e .[dev]

Testing

# Once, to install python versions:
cat .python-version | xargs -n1 pyenv install

# Run the tests
tox

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Reporting Security Issues

Please do not report security issues in public. Please email [email protected].

Environment variables

Variable Name Default Description
ASGARD_API_ENDPOINTS http://dummy.url:8091/us-east-1 Fully qualified URL for the Asgard instance against which to run the scripts.
ASGARD_API_TOKEN dummy-token String - The Asgard token.
ASGARD_WAIT_TIMEOUT 600 Integer - Time in seconds to wait for an action such as instances healthy in a load balancer.
REQUESTS_TIMEOUT 10 How long to wait for an HTTP connection/response from Asgard.
RETRY_MAX_ATTEMPTS 5 Integer - Maximum number of attempts to be made when Asgard returns an error.
RETRY_SAILTHRU_MAX_ATTEMPTS 5 Integer - Maximum number of attempts to be made when Sailthru returns an error.
RETRY_DELAY_SECONDS 5 Time in seconds to wait between retries to Asgard.
RETRY_MAX_TIME_SECONDS None Time in seconds to keep retrying Asgard before giving up.
RETRY_FACTOR 1.5 Factor by which to multiply the base wait time per retry attempt for EC2 boto calls.
ASGARD_ELB_HEALTH_TIMEOUT 600 Time in seconds to wait for an EC2 instance to become healthy in an ELB.
SHA_LENGTH 10 Length of the commit SHA to use when querying for a PR by commit.
BATCH_SIZE 18 Number of commits to batch together when querying a PR by commit.

Guidelines

Some general guidelines for tubular scripts:

  • Prefer --my-argument to --my_argument
  • Install your scripts by adding them to the console_scripts list in setup.cfg

tubular's People

Contributors

cpennington avatar macdiesel avatar feanil avatar jdmulloy avatar syed-awais-ali avatar pwnage101 avatar bmedx avatar tuchfarber avatar coryleeio avatar syedimranhassan avatar dianakhuang avatar nadeemshahzad avatar awais786 avatar timmc-edx avatar dillon-dumesnil avatar srwang avatar ohnickmoy avatar hassanjaveed84 avatar estute avatar sarina avatar kdmccormick avatar christopappas avatar adzuci avatar edx-requirements-bot avatar schenedx avatar usama101 avatar jibsheet avatar hamza442 avatar bbaker6225 avatar adamstankiewicz 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.