Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validate and monitor backends #8

Open
3 tasks done
christophfriedrich opened this issue Jan 18, 2019 · 2 comments
Open
3 tasks done

Validate and monitor backends #8

christophfriedrich opened this issue Jan 18, 2019 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@christophfriedrich
Copy link
Collaborator

christophfriedrich commented Jan 18, 2019

In the long run, workarounds that were introduced to accommodate incompatible backends should be removed, as only fully spec-compliant backends should be listed in the Hub. See also this conversation.

Once possible, the following should be done:

  • Remove check that tolerates non-existent links field in /collections (code)
  • Expect HTTPS only (tolerating HTTP introduced in commit 66ceedd)
  • Pass version number (from capabilities) to version prop of the components that are imported from openeo-vue-components (it's not passed so far because backends are under development and therefore their behaviour may differ from the API spec version they report they adhere to -> auto-detection yields better results)

list to be continued

@m-mohr
Copy link
Member

m-mohr commented Jan 18, 2019

Before removing the workarounds we need a way to validate the back-ends during crawling so we can ensure the stored data is valid and doesn't produce problems in the UI. Invalid back-ends need to be rejected (as if the server was not reachable) and the user be informed or at least it must be ensured that invalid back-end don't lead to errors in the Hub UI.

@m-mohr m-mohr changed the title Remove workarounds that are just there to tolerate incompatible backends Validate back-ends and remove workarounds that tolerate incompatible backends Jan 18, 2019
@christophfriedrich christophfriedrich changed the title Validate back-ends and remove workarounds that tolerate incompatible backends Validate backends and then remove workarounds that tolerate incompatible ones Mar 14, 2019
@m-mohr m-mohr added this to the v1.0 milestone Aug 16, 2019
@m-mohr m-mohr modified the milestones: v1.0, v0.6 May 8, 2020
@christophfriedrich
Copy link
Collaborator Author

HTTPS is being enforced since a3b69b4 more than a year ago, this just had been tracked in a different issue, #59. If a URL doesn't start with https, the crawl script refuses it:

openeo-hub/crawl.js

Lines 76 to 77 in d5b06e3

if(! url.startsWith('https')) {
console.log("REFUSING to crawl insecure service " + serviceUrl + " that does not use HTTPS.\n");

openeo-hub/crawl.js

Lines 101 to 102 in d5b06e3

if(! backendUrl.startsWith('https')) {
console.log("REFUSING to crawl insecure backend " + backendUrl + " that does not use HTTPS.\n");

This works well as demonstrated by the current attempts to crawl https://openeo.creo.vito.be/.well-known/openeo.

The other two points from the list in the initial post refer to things that are not even part of the Hub code anymore (the Collection component) or have become obsolete over time (version props).

So from the workarounds perspective, this issue could be closed.


But a proper validation of backends would still be good -- before enlisting, but also continuously to detect things like Open-EO/openeo-grassgis-driver#130. I don't reasonably see this in the Hub's scope for now, but we can keep it as an "idea that would be nice to have".

@christophfriedrich christophfriedrich changed the title Validate backends and then remove workarounds that tolerate incompatible ones Validate and monitor backends Dec 19, 2021
@christophfriedrich christophfriedrich added enhancement New feature or request and removed future-proofness labels Dec 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants