Skip to content

Releases: ohsu-comp-bio/funnel-plugins

0.1.1

24 Mar 23:04
e910645
Compare
Choose a tag to compare
0.1.1 Pre-release
Pre-release

Changelog

0.1.0

05 Mar 21:30
cc876e1
Compare
Choose a tag to compare
0.1.0 Pre-release
Pre-release

Adapted from Funnel PR #1150

Overview

This release adds initial support for querying the Gen3Workflow service (http://localhost:8080/s3) to authorize users in TES Workflows.

Example Funnel Config ✍️

config.yaml:

Plugins:
  Disabled: false
  Dir: plugin-binaries/
  Plugins:
    - auth

Steps 🌀

1. Start Server 🚀

➜ gh pr checkout 1150

➜ make install 

➜ funnel server run --config config.yaml
server               Server listening
httpPort             8000
rpcAddress           :9090

2. Test Unauthenticated User (Example) ❌

# Try to submit Task as an unauthenticated user
➜ curl --header "Authorization: Bearer Example" \
       --data @examples/hello-world.json \
       http://localhost:8000/tasks
{
  "error": "Error: User Example not found ❌\n"
}

3. Test Authenticated User (Alyssa P. Hacker) ✅

# Submit task as authenticated user
➜ curl --header "Authorization: Bearer Alyssa P. Hacker" \
       --data @examples/hello-world.json \
       http://localhost:8000/tasks
{
  "id":  "cv17vbpurbu2jasvmrk0"
}

# Verify task completed
➜ funnel task get cv17vbpurbu2jasvmrk0 --view minimal
{
  "id":  "cv17vbpurbu2jasvmrk0",
  "state":  "COMPLETE"
}

4. Start Gen3 Workflow 🔷

➜ python run.py
gen3workflow.app:app running at 0.0.0.0:8080
INFO:     Started server process [65920]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Next Steps 🚧

  • Add support to configure endpoint that Plugin should target (currently hardcoded to mock auth database)
  • Run gen3-workflow as a standalone service (mock Fence Auth?)
  • Target /s3 endpoint