Build interactive analysis URLs from per-operator base URL#297
Open
johnworth wants to merge 3 commits into
Open
Build interactive analysis URLs from per-operator base URL#297johnworth wants to merge 3 commits into
johnworth wants to merge 3 commits into
Conversation
VICE analyses can run on different clusters, each fronted by its own operator with its own landing domain. The job base queries now left-join operators to carry operator_base_url on every job, and interactive-urls builds the URL from it, falling back to the static interactive-apps base URL for jobs with no operator_id. send-interactive-job-status-update reuses the formatted job's :interactive_urls instead of rebuilding the URL, so notification/email links match the listing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
Updates the hsql-job-base-query docstring to mention the operators left-join (matching job-base-query), and rewrites the send-interactive-job-status-update doc/comment to lead with intent and spell out when no access URL is attached. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The job_listings view now left-joins operators and exposes operator_base_url itself, so the job base queries no longer need their own operators join -- they select the view column directly. interactive-urls and the notification path are unchanged; they still read :operator_base_url off the job map. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
job-base-query,hsql-job-base-query) selectoperator_base_urlstraight from thejob_listingsview, which now left-joinsoperatorsitself.interactive-urlsbuilds the URL fromoperator_base_url, falling back to the staticinterapps-baseconfig for jobs with no operator (legacy / pre-operator launches).send-interactive-job-status-updatereuses the formatted job's:interactive_urlsinstead of rebuilding the URL from the static base, so notification/email links match the listing.Context
VICE analyses can now be scheduled onto different Kubernetes clusters, each fronted by its own
vice-operatorwith its own landing domain. Previouslyappsbuilt every interactive URL from a single static config value, so an analysis launched on a non-default cluster linked the user to the wrong domain — an infinitely-refreshing loading page on a cluster that wasn't running the analysis.Depends on cyverse-de/de-database#37 (adds
operators.base_urland exposesoperator_base_urlin thejob_listingsview) and pairs with cyverse-de/app-exposer#145. All three repos share theoperator-base-urlbranch.Test plan
lein check,lein test(71 tests, 0 failures)interactive_urlsand the status-update notification both point at that operator's domaininterapps-base🤖 Generated with Claude Code