Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 06 12:47
    SteveR1984 reopened #318
  • Mar 06 12:47
    SteveR1984 closed #318
  • Mar 06 11:58
    SteveR1984 synchronize #318
  • Mar 06 08:13
    SteveR1984 synchronize #318
  • Mar 06 08:08
    SteveR1984 synchronize #318
  • Mar 04 13:16
    SteveR1984 synchronize #318
  • Mar 04 10:42
    marinevliz edited #318
  • Mar 04 10:41
    marinevliz opened #318
  • Feb 23 16:54
  • Feb 14 12:22
    Ubunbet starred geopython/GeoHealthCheck
  • Feb 12 21:39
    borrob commented #313
  • Feb 09 17:14
    tomkralidis commented #313
  • Feb 09 14:49
    justb4 commented #313
  • Feb 09 13:39
    tomkralidis commented #313
  • Feb 04 20:25
    borrob labeled #317
  • Feb 04 20:25
    borrob opened #317
  • Feb 04 20:19
    borrob labeled #316
  • Feb 04 20:19
    borrob opened #316
  • Feb 04 20:01
    borrob milestoned #315
Etienne Pelletier
@Dukestep
@borrob Thanks for the pointers, really appreciated it (oh, and the recent work on the Python 3 PR!).
Just van den Broecke
@justb4
@Dukestep @borrob good to hear! Yes, the Result report is a JSON structure stored as a Run string attr in the DB. When using custom Probes/Checks indeed you could even add custom fields. But you found a solution, good!
Etienne Pelletier
@Dukestep
@justb4, hmm, adding custom fields in the report within a Probe/Check would be great... can't seem to find how I do that though. I know I can modify the message as part of self.set_result() but where/how would I add a custom field to the report with a custom Check?
Just van den Broecke
@justb4
@Dukestep Here goes: For any Probe the only requirement for GHC is that it returns a Result object from Probe.perform_request(). That Result object should have a function get_report() returning the JSON struct, see here. That JSON struct requires the fields 'success', 'message' and 'response_time' to be present. See for example WMSDrilldown Probe. So you could define an overridden custom MyResult class that adds/returns custom fields to the Resultobject that your (custom) Probe returns. GHC's healthcheck mechanism will assemble (via addResult()) all Results for all Probes of a single Resource. If any has success == False the Resource fails. So you can forget about Checks. These are used in templated Probes that require no custom code like owsgetcaps.py at least where perform_request() is not overridden. The report struct of the last Resource Run is simply something like: last_report = self._resource.last_run within your custom Probe. Then you could compare hashes.
Etienne Pelletier
@Dukestep
@justb4, fantastic! Thanks for sketching that out from A to Z for me. Makes it much more clear. I look forward to implementing this approach :).
Just van den Broecke
@justb4
@Dukestep one correction: a Probe should provide Result as self.result after perform_request().
Etienne Pelletier
@Dukestep
Great! Now that I'm wrapping my head about the architecture of GHC, this doesn't seem like it will be too tricky to implement.
ambarishroy-git
@ambarishroy-git
hello everyone, I have one doubt, can anyone help me out on how to configure SSL configuration in GeoHealthCheck.
Just van den Broecke
@justb4
@ambarishroy-git you mean installing SSL certificates like via LetsEncrypt? I recommend always using a HTTP reverse proxy as GHC frontend that handles SSL via an HTTPS endpoint. My favorite is Traefik which is used on the GHC demo site. Traefik requires minimal config and automatically installs SSL certs via LetEncrypt. But you could also use nginx or Apache2.
ambarishroy-git
@ambarishroy-git
@justb4 I am already using Apache2.4 as a web server, but the issue is GHC I am using through docker container and by using HTTP reverse proxy in the Apache2 configuration for GHC it cannot run the GHC application as when ever GHC is running by docker it is taking the relative path internally where the container is stored, how can we fixed the SSL issue by using HTTP reverse proxy in while running GHC through docker.
Rob van Loon
@borrob
@ambarishroy-git Perhaps I'm misinterpreting your question, but I hope this helps: you install the certificate on the apache backend and then configure the reverse proxy to connect to the docker instance (localhost:8083 in the examples of the documentation ). Make sure your firewall is set to only accept connections to that port from localhost. Then you don't need to encrypt traffic from apache to the docker instance. The docker documentation gives to options to set this up: the first one doesn't encrypt between apache and docker, the second one does.
Just van den Broecke
@justb4
@ambarishroy-git to add to @borrob 's answer: if you need to run GHC behind a proxy using a relative path (subpath) see the GHC documentation.
ambarishroy-git
@ambarishroy-git
@justb4 and @borrob I have tried using reverse proxy in Apache httpd.conf file for GHC, but the issue is it cannot take the relative path. I am using RHEL as OS and docker for running the geohealthcheck. While running through the docker I am running the command (docker run -d --name geohealthcheck -e GHC_RUNNER_IN_WEBAPP=True -e GHC_SELF_REGISTER=True -p 9090:80 -v ghc_sqlitedb:/GeoHealthCheck/DB geopython/geohealthcheck) for running the pulled image of GHC and now when I am placing proxy-reverse proxy for (http://127.0.0.1:9090/geohealthcheck) in the apache configuration, but it cannot fine. But with http it is running on (http://127.0.0.1:9090) without SSL.
Just van den Broecke
@justb4
@ambarishroy-git is your Apache instance also running in Docker? Then forwarding to 127.0.0.1 will refer to the Apache container instance. You must then refer to the GHC container-name like http://geohealthcheck:9090. Otherwise it is a mismatch in your Apache (reverse) proxy conf. If you supply a sub-path you will need to set SCRIPT_NAME in the GHC startup env (-e option), as I indicated above referring to the docs.
ambarishroy-git
@ambarishroy-git
@justb4 My apache is running outside the docker in the local machine that is why I am using 127.0.0.1/localhost with port 9090 and running with http.
Just van den Broecke
@justb4
@ambarishroy-git so GHC at http://127.0.0.1:9090 is working? Then in your Apache proxy setting (be sure to also test the config with apache2ctl configtest) have a config entry like (experiment with SCRIPT_NAME):
    <Location /geohealthcheck>
      ProxyPreserveHost On
      ProxyPass http://127.0.0.1:9090
      ProxyPassReverse http://127.0.0.1:9090
      RequestHeader set SCRIPT_NAME /geohealthcheck
    </Location>
Rob van Loon
@borrob
I made a PR to fix issue #189 (unify CLI).
Tom Kralidis
@tomkralidis
thanks @borrob . I'll review tomorrow.
Tom Kralidis
@tomkralidis
hi all: FYI as an OSGeo Community project we can request a budget of some funding for 2020 (budget meeting is Monday). Suggesting $500 USD for GHC stickers and the logo that Just paid for. Thoughts?
Just van den Broecke
@justb4
:thumbsup: thought: also budget for GHC domain name/DNS (about $10,- a year, 5-year already paid 2016/11/16-2021/11/16 , think split among @tomkralidis and me) and demo server hosting (I pay about EUR 60,- p/y).
Tom Kralidis
@tomkralidis
+1.
Rob van Loon
@borrob
@tomkralidis Great! +1
Tom Kralidis
@tomkralidis
@borrob sorry for the delay. I’ve done a review of #310 — great work!
Rob van Loon
@borrob
@tomkralidis Thanks. I've managed to address your comments. Perhaps good to discuss here whether we want to keep paver around and what the cli command call should be ? - see discussion in #310 .
Tom Kralidis
@tomkralidis
ok good idea. I say remove paver since users can always use a previous version of GHC that uses Paver. Given we are pre 1.0 we are not bound to supporting a stable branch.
re: CLI name. I imagine still calling it ghc is risky enough? GeoHealthCheck doesn’t bother me too much but not sure about others. @justb4 / @archaeogeek ?
Rob van Loon
@borrob
It doesn't bother me either, but I'm a bit hesitant with the capitals
Tom Kralidis
@tomkralidis
true, not very UNIX-y
Just van den Broecke
@justb4

re: CLI name. I imagine still calling it ghc is risky enough? GeoHealthCheck doesn’t bother me too much but not sure about others. @justb4 / @archaeogeek ?

Yes ghc is Haskell-related. Always short commands and lowercase on Unix (he, I worked for the company that invented ls and cd, and C!), hence my suggestion for geohc. (Still need to go through PR & comments, but this was easy to answer).

Tom Kralidis
@tomkralidis
sigh, ok then. geohc it is.
Tom Kralidis
@tomkralidis
@borrob / @justb4 FYI heads up on next OWSLib release: geopython/OWSLib#641
Just van den Broecke
@justb4
@tomkralidis yes, we're - @borrob - following closely, e.g. geopython/GeoHealthCheck#312.
Rob van Loon
@borrob
There is an error popping on when running the resource tests of GHC with respect to pygeoapi. It does not validate the OpenAPI Compliance with this error:
GeoHealthCheck.probe - INFO - Result: success=False msg=Validate OpenAPI Compliance:HTTP Error 404: Not Found
I didn't dive into this yet, but was there a change with the specs or pygeoapi, or is this a big of GHC ?
Rob van Loon
@borrob
It also fails in the current master branch
Just van den Broecke
@justb4
Finally tracked it down I think: read here: opengeospatial/wps-rest-binding#63 , thus looks like no GHC nor pygeoapi error...
Tom Kralidis
@tomkralidis
marinevliz
@marinevliz
Hi there, we have installed GeoHealthCheck in a docker but are running in to issues with bootstrap.min.css it is blocking from loading css on the page (0 rules processed)
here is a screenshot of the issue
Rob van Loon
@borrob
Hi @marinevliz, did you build a docker image yourself, or did you take it from the docker hub?
marinevliz
@marinevliz
Hi @borrob I used the docker hub.
Just van den Broecke
@justb4
we need to see a screenshot of your "Network" tab and your networking/proxy setup. Looks like a Proxy-config or subpath issue.
Rob van Loon
@borrob
@marinevliz All the other static files (like sb-admin-2.css, font-awesome, leaflet.js, ...) work fine? Can you right-click on file in the network-tab, and choose "open in new tab". Does it load then?
marinevliz
@marinevliz
right click and open in new tab in the network tab gives met this: https://imgur.com/4dYcyE1
Here is the network tab: https://imgur.com/5iEX0Qa
Proxy settings: https://imgur.com/4vtoQOr
its weird if i refresh it works, if i refresh again it breaks again
Rob van Loon
@borrob
Well, the first screen shot shows the file is actually there and that you are able to access it. That would suggest all docker and proxy settings are fine. I don't understand the refreshing behaviour. Could that be a caching issue?
marinevliz
@marinevliz
Could be, I can only replicate it on windows 7 machines using chrome or firefox
Rob van Loon
@borrob
Sorry, I can't really help you with windows machines.