Skip to content
This repository has been archived by the owner on Jun 11, 2020. It is now read-only.

Switch to three-tier architecture #487

Open
RyanCavanaugh opened this issue Sep 27, 2018 · 0 comments
Open

Switch to three-tier architecture #487

RyanCavanaugh opened this issue Sep 27, 2018 · 0 comments

Comments

@RyanCavanaugh
Copy link
Member

  • Tier 1: git fetcher + DT parser
    • Maintains NPM cache
    • Pulls DefinitelyTyped repo every 60m at XX:30
    • Parses versions
    • Generates tarballs for changed packages
    • Uploads status (time ran, which commit, out-of-date-packages, and tarballs) to Azure storage
  • Tier 2: status webpage/service
    • Exposes JSON endpoint for information generated in Tier 1
    • Exposes HTML rendering of current status for user consumption
    • Exposes history of prior statuses up to some limit
  • Tier 3: publisher
    • Runs every 60m at XX:00
    • Pulls status and tarballs from Azure storage
    • Uploads them to npm
    • Reports status back to (separate) Azure storage

Benefits

  • 'publisher' tier is stateless and can be run anywhere
  • Expensive 'fetcher' tier doesn't need any permissions
  • Website tier doesn't need any permissions
  • Azure Storage can be public-readable without security concerns
  • Clear and immediate visibility for PR authors
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant