GithubHelp home page GithubHelp logo

updatechecker-infra's Introduction

updatechecker Infrastructure

Deploys updatechecker to AWS using Chalice and the CDK to provide an API and to send notifications when new versions are released. Version data is stored in DynamoDB and notifications are sent on changes to the latest version of any supported software.

Deploying

To deploy the application ensure that the AWS CDK and Chalice are installed. This can be done with something like:

$ npm install -g aws-cdk
$ pip install -U chalice

Since the updatechecker package is only available as a source archive (not a source or binary distribution), it has to be vendored. The vendor directory is ignored by git but can be loaded by running ./fetch_vendor.sh.

The following environment variables may need to be set in order to resolve packaging errors:

$ export MULTIDICT_NO_EXTENSIONS=1
$ export YARL_NO_EXTENSIONS=1
$ export FROZENLIST_NO_EXTENSIONS=1
$ export AIOHTTP_NO_EXTENSIONS=1
$ export WRAPT_INSTALL_EXTENSIONS=false

Then, within the infrastructure directory run cdk bootstrap && cdk deploy.

The API

The API will be available at the URL in the output of the cdk deploy command. The key is updatecheckerv2.EndpointURL.

Two routes are currently provided. /software provides a list of the IDs of all supported software. /software/{name}/{version} where {version} is usually latest and {name} is one of the IDs will provide information about that version of the software, including the download URL, SHA1 hash, and the version string.

Notifications

An SNS topic is created during the deployment. Subscribing to the topic will result in a notification each time the latest version of an application is created or updated. The format is intended for plain text email; it is not intended to be machine readable.

updatechecker-infra's People

Contributors

laurelmay avatar

Stargazers

Gary McDonald avatar

Watchers

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