All Projects → mozilla → build-relengapi

mozilla / build-relengapi

Licence: MPL-2.0 License
INACTIVE - http://mzl.la/ghe-archive - Your Interface to Release Engineering Automation -

Programming Languages

python
139335 projects - #7 most used programming language
Nix
1067 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
CSS
56736 projects
Mako
254 projects

Projects that are alternatives of or similar to build-relengapi

quality.mozilla.org
INACTIVE - http://mzl.la/ghe-archive - Mozilla's quality assurance community
Stars: ✭ 14 (+0%)
Mutual labels:  inactive, unmaintained
cleopatra
INACTIVE - http://mzl.la/ghe-archive - UI for the gecko profiler
Stars: ✭ 26 (+85.71%)
Mutual labels:  inactive, unmaintained
devroadshow2017
INACTIVE - http://mzl.la/ghe-archive - Mozilla's Developer Roadshow 2017
Stars: ✭ 16 (+14.29%)
Mutual labels:  inactive, unmaintained
mortar-list-detail
INACTIVE - http://mzl.la/ghe-archive - A list detail view template for an Open Web App.
Stars: ✭ 21 (+50%)
Mutual labels:  inactive, unmaintained
learning-networks
INACTIVE - http://mzl.la/ghe-archive - This repo is for tracking initiatives of the Mozilla Learning Networks team.
Stars: ✭ 12 (-14.29%)
Mutual labels:  inactive, unmaintained
lean-data-practices
INACTIVE - http://mzl.la/ghe-archive - A toolkit to implement Lean Data Practices at your company.
Stars: ✭ 141 (+907.14%)
Mutual labels:  inactive, unmaintained
layerscope
INACTIVE - http://mzl.la/ghe-archive - LayerScope Viewer
Stars: ✭ 16 (+14.29%)
Mutual labels:  inactive, unmaintained
happyforms
INACTIVE - http://mzl.la/ghe-archive - Extension to Django Forms that strips spaces
Stars: ✭ 14 (+0%)
Mutual labels:  inactive, unmaintained
webdev-bootcamp
INACTIVE - http://mzl.la/ghe-archive - How to be a Web developer at Mozilla
Stars: ✭ 57 (+307.14%)
Mutual labels:  inactive, unmaintained
fx-share-addon
INACTIVE - http://mzl.la/ghe-archive - new addon version from fx-share branch
Stars: ✭ 13 (-7.14%)
Mutual labels:  inactive, unmaintained
feedthefox
INACTIVE - http://mzl.la/ghe-archive - [deprecated] Firefox OS Participation Hub
Stars: ✭ 12 (-14.29%)
Mutual labels:  inactive, unmaintained
Campus-Program
INACTIVE - http://mzl.la/ghe-archive - Rocking out the campus campaign!
Stars: ✭ 21 (+50%)
Mutual labels:  inactive, unmaintained
f1
INACTIVE - http://mzl.la/ghe-archive - F1 is a browser extension that allows you to share links in a fast and fun way. Share links from within the browser, from any webpage, using the same services you already know and love. F1 is made by Mozilla.
Stars: ✭ 51 (+264.29%)
Mutual labels:  inactive, unmaintained
pymake
INACTIVE - http://mzl.la/ghe-archive - make implementation in Python
Stars: ✭ 79 (+464.29%)
Mutual labels:  inactive, unmaintained
receiptverifier
INACTIVE - http://mzl.la/ghe-archive - A helper Javascript library for doing useful things with Open Web Apps.
Stars: ✭ 13 (-7.14%)
Mutual labels:  inactive, unmaintained
friendlycode
INACTIVE - http://mzl.la/ghe-archive - World's friendliest HTML editor.
Stars: ✭ 47 (+235.71%)
Mutual labels:  inactive, unmaintained
openbadges-specification
INACTIVE - http://mzl.la/ghe-archive - Specs related to Open Badges
Stars: ✭ 23 (+64.29%)
Mutual labels:  inactive, unmaintained
wp-sw-manager
INACTIVE - http://mzl.la/ghe-archive - Service Worker infrastructure for WordPress plugins.
Stars: ✭ 44 (+214.29%)
Mutual labels:  inactive, unmaintained
mortar-layouts
INACTIVE - http://mzl.la/ghe-archive - A small library for constructing app UIs with backbone.js.
Stars: ✭ 19 (+35.71%)
Mutual labels:  inactive, unmaintained
soup
INACTIVE - http://mzl.la/ghe-archive - OpenWebApps on Android
Stars: ✭ 12 (-14.29%)
Mutual labels:  inactive, unmaintained

RelengAPI

Continuous Integration: https://travis-ci.org/mozilla/build-relengapi codecov.io

Your Interface to Release Engineering Automation.

This is the framework behind https://api.pub.build.mozilla.org/. It is a Flask-based framework for building and hosting releng-related APIs.

Goals

  • Simple self-service usage for consumers

    • Industry-standard access mechanisms (REST, oAuth2, etc.) that require no client-side custom libraries
    • One or very few endpoints (e.g., https://api.pub.build.mozilla.org)
    • Self-documenting tools
    • Semantic versioning
  • Simple, rapid implementation of new apps

    • Common requirements such as authentication, database access, scheduled tasks, configuration handling are already satisfied
    • All apps use the same technologies (language, web framework, DB framework, etc.), so the learning curve from one app to the next is small
    • Tailored for easy local development - minimal requirements, minimal installed components, etc.
  • Operations-friendly

    • Horizontally scalable using normal webops techniques
    • Easily deployed in multiple environments with normal devops processes
    • Resilient to failure: no in-memory state

Documentation

RelengAPI documents itself.
See https://api.pub.build.mozilla.org/docs for the documentation of the currently-deployed version.

Info for Developers

See the "Installation" page of the deployment documentation for information on required operating system packages.

Structure

RelengAPI is a Flask application. It is composed of several Python distributions (packages). Each distribution can contain several Flask Blueprints -- web application components. Each Git repository can contain multiple distributions.

The base is in the relengapi distribution, implemented in this package. It implements the root app, with lots of common support functionality, and a number of blueprints. It also searches its python environment for other distributions that can provide blueprints for the Releng API. These act as plugins, adding extra endpoints and other functionality to the API.

Other top-level directories of this repository contain other related distributions with more blueprints. Other repositories contain even more distributions, with even more blueprints.

All of this is drawn together in production by installing the appropriate distributions on the releng web cluster. When developing, though, only the relengapi distribution and the distribution you're hacking on are required.

Running RelengAPI

To run the tool for development, pip install the requirements into your virtualenv:

pip install -e .[test]

The [test] installs the requirements for testing as well. Omit this if you won't be running tests.

[optional] Build the docs:

relengapi build-docs 

[optional] Set up your settings file:

cp settings_example.py settings.py
vim settings.py
export RELENGAPI_SETTINGS=$PWD/settings.py

Create the databases for the installed blueprints:

relengapi createdb

And finally run the server:

relengapi serve -p 8010

The relengapi tool has many useful subcommands. See its help for more information.

More

See the Releng API documentation for more information on development and deployment of the releng API. This is available at https://api.pub.build.mozilla.org/docs or, If you've installed the docs blueprint, at the same path on your own instance.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].