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

Allow to provide an alternative CKAN host #226

Open
amercader opened this issue Sep 25, 2024 · 0 comments
Open

Allow to provide an alternative CKAN host #226

amercader opened this issue Sep 25, 2024 · 0 comments

Comments

@amercader
Copy link
Member

The xloader currently uses CKAN URLs for two things:

  • Download resources of type "upload" (eg https://myckan.site.org/dataset/{id}/resource/{id}/download)
  • Ping a xloader_hook action via a POST request. This was a surprise, as I was under the impression that xloader did not communicate via HTTP with the CKAN API.

In any case, both these requests use the URL built with ckan.site_url, which is the public facing URL. This won't work on scenarios where the xloader has no access to it, for instance when running in a separate container in a docker compose setup. We need to introduce support for a new config option similar to ckan.datapusher.callback_url_base which will allow xloader to call e.g. http://ckan:5000/dataset/{id}/resource/{id}/download instead of https://myckan.site.org/dataset/{id}/resource/{id}/download

  • Add new ckanext.xloader.callback_url_base option to the config declaration
  • To modify the download URL, the new config option needs to be used here to replace the public host with the value of the config option
  • The API endpoint is passed as result_url here, so that's the place to replace the host as well if the config option is present
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant