Skip to content
Unfurl Cloud
  • Dashboard
  • Blueprints
  • Cloud
Projects Groups Topics Snippets
  • Help
  • Register
  • Sign in
  • unfurl unfurl
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
Closed
Open
Issue created Aug 03, 2022 by Adam@adamOwner

Add a "serve" command line option

Let's add a serve command line option that runs unfurl as a simple HTTP server using flask.

The command should take these options: --port (port to run on, default to ??), --address (to bind to, eg. to restrict to localhost), and --secret. If secret is set (also expose as UNFURL_SERVE_SECRET using the click parameter) the api endpoints would require it to match an Authorization header or token query parameter.

Serve would also take the optional ensemble argument just like as the other command and load that ensemble before starting the http server.

The first endpoint we'd want to expose would just be like the export command and it would return the json rendered by export. It should cache the result because the json won't change as this initial implementation loads the ensemble as read-only.

Assignee
Assign to
Time tracking