diff --git a/README.md b/README.md index 7fc0696..17e9164 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,101 @@ Role Variables The most important variables are listed below: ``` yaml +ckan_version: 2.6 +ckan_db_name: ckan +ckan_db_user: ckan +# By default, initialize the db and solr. Disable if you want to reinstall and maintain the old data +ckan_init_db_and_solr: True +# +ckan_clear_harvesting_enabled: True +ckan_clear_harvesting_freq: 'weekly' +# CKAN plugins +ckan_plugins_state: present +# yes: update the repository. no, do not update +ckan_git_plugins_state: 'no' +# Order is important +ckan_geonetwork_harvester: False +ckan_geoview: False +ckan_dcat: False +# dcat implement harvesters too. +# ckan_dcat_name: 'dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface' +ckan_dcat_name: 'dcat dcat_json_interface' +# Set this to true to install a cron job that regularly runs the harvesters +ckan_harvester_run: False +ckan_pdfview: False +ckan_ckanext_pdfview_url: ckanext-pdfview +ckan_privatedatasets: False +ckan_privatedatasets_url: ckanext-privatedatasets +ckan_privatedatasets_name: privatedatasets +ckan_hierarchy: False +ckan_hierarchy_name: hierarchy_display hierarchy_form +ckan_pages: False +ckan_pages_name: pages +ckan_ldap: False +ckan_ldap_name: ldap +ckan_ldap_uri: 'ldap://ldap.example.org' +ckan_ldap_base_dn: '' +ckan_ldap_search_filter: 'uid={login}' +ckan_ldap_user_fullname: 'cn' +ckan_ldap_username: uid +ckan_ldap_email: mail +ckan_ldap_prevent_edits: True +ckan_ldap_fallback: True +ckan_ckanext_lire: False +ckan_ckanext_lire_n: lire +# Kata OAI-PMH +ckan_kata_oai_pmh: False +ckan_oai_pmh_name: oaipmh +ckan_oai_pmh_state: absent +ckan_oai_pmh_kata_ini_state: 'present' +ckan_oai_pm: False +ckan_oai_pm_name: oaipmh +ckan_oai_pm_state: absent +# Google analytics +ckan_google_analytics: False +ckan_ga_plugin_state: '{{ ckan_plugins_state }}' +ckan_google_analytics_name: googleanalytics +#CKANEXT-RATING +ckan_star_ratings: False +ckan_star_ratings_state: present +ckan_star_ratings_name: rating +ckan_memcache_sessions: False +# Google analytics reports +ckan_ga_reports: False +ckan_profiler: False +# CKAN-DATESEARCH +ckan_datesearch: False +ckan_datesearch_state: present +ckan_production_ini_opts: + - { section: 'app:main', option: 'ckan.site_id', value: 'ckan_installation', state: 'present' } + - { section: 'app:main', option: 'sqlalchemy.url', value: 'postgresql://{{ ckan_db_user }}:{{ ckan_db_pwd }}@{{ psql_db_host }}/{{ ckan_db_name }}', state: 'present' } + - { section: 'app:main', option: 'ckan.site_url', value: 'http://{{ ansible_fqdn }}', state: 'present' } + - { section: 'app:main', option: 'solr_url', value: 'http://127.0.0.1:{{ ckan_solr_port }}/solr', state: 'present' } + - { section: 'app:main', option: 'ckan.datastore.write_url', value: 'postgresql://{{ ckan_db_user }}:{{ ckan_db_pwd }}@{{ psql_db_host }}/{{ ckan_datastore_db_name }}', state: 'present' } + - { section: 'app:main', option: 'ckan.datastore.read_url', value: 'postgresql://{{ ckan_datastore_db_reader }}:{{ ckan_db_pwd }}@{{ psql_db_host }}/{{ ckan_datastore_db_name }}', state: 'present' } + - { section: 'app:main', option: 'ckan.site_title', value: 'D4Science CKAN development installation', state: 'present' } + - { section: 'app:main', option: 'ckan.site_logo', value: '/base/images/ckan-logo.png', state: 'present' } + - { section: 'app:main', option: 'ckan.max_resource_size', value: '10', state: 'present' } + - { section: 'app:main', option: 'ckan.max_image_size', value: '2', state: 'present' } + - { section: 'app:main', option: 'ckan.tracking_enabled', value: 'true', state: 'present' } + - { section: 'app:main', option: 'ckan.privatedatasets.show_acquire_url_on_create', value: 'true', state: 'present' } + - { section: 'app:main', option: 'ckan.privatedatasets.show_acquire_url_on_edit', value: 'true', state: 'present' } + +ckan_production_ini_plugins_opts: + - { section: 'app:main', option: 'ckan.plugins', value: 'stats text_view image_view recline_view datastore datapusher harvest', state: 'present' } + - { section: 'app:main', option: 'ckan.datapusher.url', value: 'http://127.0.0.1:8800', state: 'present' } + - { section: 'app:main', option: 'ckan.datapusher.formats', value: 'csv xls xlsx tsv application/csv application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', state: 'present' } + - { section: 'app:main', option: 'ckan.storage_path', value: '{{ ckan_file_storage_dir }}', state: 'present' } + - { section: 'app:main', option: 'ckan.harvest.mq.type', value: 'redis', state: 'present' } + - { section: 'app:main', option: 'ckan.harvest.mq.hostname', value: 'localhost', state: 'present' } + - { section: 'app:main', option: 'ckan.harvest.mq.port', value: '6379', state: 'present' } + - { section: 'app:main', option: 'ckan.harvest.mq.db', value: '0', state: 'present' } + - { section: 'app:main', option: 'ckanext.spatial.search_backend', value: 'solr', state: 'present' } + - { section: 'app:main', option: 'ckanext.pages.organization', value: 'true', state: 'present' } + - { section: 'app:main', option: 'ckanext.pages.group', value: 'true', state: 'present' } + - { section: 'app:main', option: 'ckanext.pages.about_menu', value: 'false', state: 'absent' } + - { section: 'app:main', option: 'ckanext.pages.group_menu', value: 'false', state: 'absent' } + - { section: 'app:main', option: 'ckanext.pages.organization_menu', value: 'false', state: 'absent' } ``` Dependencies diff --git a/defaults/main.yml b/defaults/main.yml index d93f712..ebbe6c0 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -10,18 +10,6 @@ # paster create-test-data -c /etc/ckan/default/production.ini ckan_version: 2.6 -ckan_deb_file: 'python-ckan_{{ ckan_version }}-{{ ansible_distribution_release }}_amd64.deb' -ckan_package_url: 'http://packaging.ckan.org/{{ ckan_deb_file }}' -ckan_libdir: /usr/lib/ckan -ckan_confdir: /etc/ckan/default -ckan_virtenv: '{{ ckan_libdir }}/default' -ckan_file_harvesting_dir: /var/lib/ckan -ckan_file_storage_dir: '{{ ckan_file_harvesting_dir }}/dev' -ckan_config_file: '{{ ckan_confdir }}/production.ini' -ckan_webapp_port: 8080 -ckan_solr_port: 8983 -ckan_shell_user: ckan -ckan_logdir: /var/log/ckan ckan_db_name: ckan ckan_db_user: ckan @@ -37,15 +25,8 @@ ckan_plugins_state: present ckan_git_plugins_state: 'no' # Order is important ckan_geonetwork_harvester: False -ckan_ckanext_harvester_url: 'git+https://github.com/ckan/ckanext-harvest.git#egg=ckanext-harvest' -ckan_ckanext_spatial_url: 'git+https://github.com/okfn/ckanext-spatial.git#egg=ckanext-spatial' -ckan_geonetwork_harvester_url: 'https://github.com/geosolutions-it/ckanext-geonetwork.git' ckan_geoview: False -ckan_geoview_url: ckanext-geoview -ckan_geoview_name: resource_proxy ckan_dcat: False -ckan_dcat_url: 'git+https://github.com/ckan/ckanext-dcat.git#egg=ckanext-dcat' -ckan_dcat_1_0_0_url: 'git+https://github.com/ckan/ckanext-dcat.git@v1.0.0#egg=ckanext-dcat' # dcat implement harvesters too. # ckan_dcat_name: 'dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface' ckan_dcat_name: 'dcat dcat_json_interface' @@ -58,14 +39,10 @@ ckan_privatedatasets: False ckan_privatedatasets_url: ckanext-privatedatasets ckan_privatedatasets_name: privatedatasets ckan_hierarchy: False -ckan_hierarchy_url: 'git+https://github.com/datagovuk/ckanext-hierarchy.git#egg=ckanext-hierarchy' ckan_hierarchy_name: hierarchy_display hierarchy_form ckan_pages: False -ckan_pages_url: 'git+https://github.com/ckan/ckanext-pages.git#egg=ckanext-pages' ckan_pages_name: pages ckan_ldap: False -#ckan_ldap_url: 'git+https://github.com/NaturalHistoryMuseum/ckanext-ldap' -ckan_ldap_url: 'https://github.com/NaturalHistoryMuseum/ckanext-ldap' ckan_ldap_name: ldap ckan_ldap_uri: 'ldap://ldap.example.org' ckan_ldap_base_dn: '' @@ -77,101 +54,35 @@ ckan_ldap_prevent_edits: True ckan_ldap_fallback: True ckan_ckanext_lire: False ckan_ckanext_lire_n: lire -ckan_ckanext_lire_url: 'https://github.com/milicp/ckanext-lire.git' # Kata OAI-PMH ckan_kata_oai_pmh: False ckan_oai_pmh_name: oaipmh ckan_oai_pmh_state: absent -ckan_oai_pmh_url: 'git+https://github.com/kata-csc/ckanext-oaipmh#egg=ckanext-oaipmh' -ckan_oai_pmh_kata_plugin_url: 'git+https://github.com/kata-csc/ckanext-kata.git#egg=ckanext-kata' ckan_oai_pmh_kata_ini_state: 'present' -ckan_oai_pmh_kata_ini_options: - - { section: 'app:main', option: 'kata.storage.malware_scan', value: 'false', state: '{{ ckan_oai_pmh_kata_ini_state }}' } - - { section: 'app:main', option: 'kata.ldap.enabled', value: 'false', state: '{{ ckan_oai_pmh_kata_ini_state }}' } - - { section: 'app:main', option: 'kata.disable_contact', value: 'true', state: '{{ ckan_oai_pmh_kata_ini_state }}' } # OLD OAI-PMH ckan_oai_pm: False ckan_oai_pm_name: oaipmh ckan_oai_pm_state: absent -ckan_oai_pm_url: 'git+https://github.com/florenthemmi/ckanext-oaipmh#egg=ckanext-oaipm' # Google analytics ckan_google_analytics: False ckan_ga_plugin_state: '{{ ckan_plugins_state }}' ckan_google_analytics_name: googleanalytics -ckan_google_analytics_url: 'git+https://github.com/ckan/ckanext-googleanalytics.git#egg=ckanext-googleanalytics' -ckan_google_analytics_fixed_file: 'http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-catalogue/ckan-d4science-extension/{{ ckan_version }}/ckan-default/plugins/googleanalytics/plugin.py' #CKANEXT-RATING ckan_star_ratings: False ckan_star_ratings_state: present ckan_star_ratings_name: rating -ckan_star_ratings_url: 'git+https://github.com/6aika/ckanext-rating.git#egg=ckanext-rating' ckan_memcache_sessions: False -ckan_memcache_deb_pkgs: - - libmemcached10 - - libmemcached-dev - -ckan_memcache_ini_opts: - - { section: 'app:main', option: 'beaker.session.type', value: 'ext:memcached', state: 'present' } - - { section: 'app:main', option: 'beaker.session.url ', value: "{{ mc_ipaddress | default('127.0.0.1') }}:{{ mc_port | default('11211') }}", state: 'present' } # Google analytics reports ckan_ga_reports: False -ckan_ga_reports_name: ga-report -ckan_ga_reports_url: 'git+https://github.com/datagovuk/ckanext-ga-report.git#egg=ckanext-ga-report' ckan_profiler: False -ckan_profiler_url: 'git+https://github.com/morty/ckanext-profile.git#egg=ckanext-profile' # CKAN-DATESEARCH ckan_datesearch: False -ckan_datesearch_name: datesearch ckan_datesearch_state: present -ckan_datesearch_url: 'https://github.com/EUDAT-B2FIND/ckanext-datesearch' -# Needed to install some CKAN plugins -ckan_additional_packages: - - git - - libxslt1-dev - - gcc - - python-dev - - libffi-dev - - libxml2-dev - - zlib1g-dev - - libxslt1-dev - - libgeos-c1 - - libldap2-dev - - libsasl2-dev - - libssl-dev - -ckan_pip_dependencies: - - lxml - - factory - - python-ldap - - rdflib - - 'urllib3[secure]' - - bleach - - pyOpenSSL - - idna - - certifi - - xmltodict - - ndg-httpsclient - - pyasn1 - - enum - - ipaddress - - x509 - -ckan_pip_versioned_dependencies: - - { name: 'SQLAlchemy', version: '0.9.6', state: 'present' } - - { name: 'cryptography', version: '2.8', state: 'present' } - -# -apache_additional_packages: - - libapache2-mod-uwsgi - - libpq5 - -apache_additional_modules: - - uwsgi ckan_production_ini_opts: - { section: 'app:main', option: 'ckan.site_id', value: 'ckan_installation', state: 'present' } @@ -204,9 +115,3 @@ ckan_production_ini_plugins_opts: - { section: 'app:main', option: 'ckanext.pages.group_menu', value: 'false', state: 'absent' } - { section: 'app:main', option: 'ckanext.pages.organization_menu', value: 'false', state: 'absent' } -ckan_gather_fetch_pkgs: - - supervisor - -ckan_gather_fetch_apps: - - ckan_gather_consumer - - ckan_fetch_consumer diff --git a/vars/main.yml b/vars/main.yml index 3808477..eef1b9c 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,2 +1,99 @@ --- -# vars file for ansible-role-template \ No newline at end of file +ckan_deb_file: 'python-ckan_{{ ckan_version }}-{{ ansible_distribution_release }}_amd64.deb' +ckan_package_url: 'http://packaging.ckan.org/{{ ckan_deb_file }}' +ckan_libdir: /usr/lib/ckan +ckan_confdir: /etc/ckan/default +ckan_virtenv: '{{ ckan_libdir }}/default' +ckan_file_harvesting_dir: /var/lib/ckan +ckan_file_storage_dir: '{{ ckan_file_harvesting_dir }}/dev' +ckan_config_file: '{{ ckan_confdir }}/production.ini' +ckan_webapp_port: 8080 +ckan_solr_port: 8983 +ckan_shell_user: ckan +ckan_logdir: /var/log/ckan + +ckan_ckanext_harvester_url: 'git+https://github.com/ckan/ckanext-harvest.git#egg=ckanext-harvest' +ckan_ckanext_spatial_url: 'git+https://github.com/okfn/ckanext-spatial.git#egg=ckanext-spatial' +ckan_geonetwork_harvester_url: 'https://github.com/geosolutions-it/ckanext-geonetwork.git' +ckan_geoview_url: ckanext-geoview +ckan_geoview_name: resource_proxy +ckan_dcat_url: 'git+https://github.com/ckan/ckanext-dcat.git#egg=ckanext-dcat' +ckan_dcat_1_0_0_url: 'git+https://github.com/ckan/ckanext-dcat.git@v1.0.0#egg=ckanext-dcat' +ckan_hierarchy_url: 'git+https://github.com/datagovuk/ckanext-hierarchy.git#egg=ckanext-hierarchy' +ckan_pages_url: 'git+https://github.com/ckan/ckanext-pages.git#egg=ckanext-pages' +ckan_ldap_url: 'https://github.com/NaturalHistoryMuseum/ckanext-ldap' +ckan_ckanext_lire_url: 'https://github.com/milicp/ckanext-lire.git' +ckan_oai_pmh_url: 'git+https://github.com/kata-csc/ckanext-oaipmh#egg=ckanext-oaipmh' +ckan_oai_pmh_kata_plugin_url: 'git+https://github.com/kata-csc/ckanext-kata.git#egg=ckanext-kata' +ckan_oai_pmh_kata_ini_options: + - { section: 'app:main', option: 'kata.storage.malware_scan', value: 'false', state: '{{ ckan_oai_pmh_kata_ini_state }}' } + - { section: 'app:main', option: 'kata.ldap.enabled', value: 'false', state: '{{ ckan_oai_pmh_kata_ini_state }}' } + - { section: 'app:main', option: 'kata.disable_contact', value: 'true', state: '{{ ckan_oai_pmh_kata_ini_state }}' } +ckan_oai_pm_url: 'git+https://github.com/florenthemmi/ckanext-oaipmh#egg=ckanext-oaipm' +ckan_google_analytics_url: 'git+https://github.com/ckan/ckanext-googleanalytics.git#egg=ckanext-googleanalytics' +ckan_google_analytics_fixed_file: 'http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-catalogue/ckan-d4science-extension/{{ ckan_version }}/ckan-default/plugins/googleanalytics/plugin.py' +ckan_star_ratings_url: 'git+https://github.com/6aika/ckanext-rating.git#egg=ckanext-rating' + +ckan_memcache_deb_pkgs: + - libmemcached10 + - libmemcached-dev +ckan_memcache_ini_opts: + - { section: 'app:main', option: 'beaker.session.type', value: 'ext:memcached', state: 'present' } + - { section: 'app:main', option: 'beaker.session.url ', value: "{{ mc_ipaddress | default('127.0.0.1') }}:{{ mc_port | default('11211') }}", state: 'present' } + +ckan_ga_reports_name: ga-report +ckan_ga_reports_url: 'git+https://github.com/datagovuk/ckanext-ga-report.git#egg=ckanext-ga-report' +ckan_profiler_url: 'git+https://github.com/morty/ckanext-profile.git#egg=ckanext-profile' +ckan_datesearch_name: datesearch +ckan_datesearch_url: 'https://github.com/EUDAT-B2FIND/ckanext-datesearch' + +# Required to install some CKAN plugins +ckan_additional_packages: + - git + - libxslt1-dev + - gcc + - python-dev + - libffi-dev + - libxml2-dev + - zlib1g-dev + - libxslt1-dev + - libgeos-c1 + - libldap2-dev + - libsasl2-dev + - libssl-dev + +ckan_pip_dependencies: + - lxml + - factory + - python-ldap + - rdflib + - 'urllib3[secure]' + - bleach + - pyOpenSSL + - idna + - certifi + - xmltodict + - ndg-httpsclient + - pyasn1 + - enum + - ipaddress + - x509 + +ckan_pip_versioned_dependencies: + - { name: 'SQLAlchemy', version: '0.9.6', state: 'present' } + - { name: 'cryptography', version: '2.8', state: 'present' } + +# +apache_additional_packages: + - libapache2-mod-uwsgi + - libpq5 + +apache_additional_modules: + - uwsgi + +ckan_gather_fetch_pkgs: + - supervisor + +ckan_gather_fetch_apps: + - ckan_gather_consumer + - ckan_fetch_consumer