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

Switch to three-tier architecture #487

@RyanCavanaugh

Description

@RyanCavanaugh
  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions