-
Notifications
You must be signed in to change notification settings - Fork 3
/
development_01.yml
369 lines (334 loc) · 16.9 KB
/
development_01.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
### Ansible connection #########################################
## If you are running the playbook on the same machine, you can use the "local" connection instead of "ssh"
ansible_connection: local
### Ansible Target host #########################################
server_name: development
timezone: Europe/Madrid
### Also if using a SSH password authentication for private repos create a SSH key pair and copy the keys to the ./playbook/roles/common/files/keys. The filenames of the keypair files must begin with id_ (e.g. id_rsa + id_rsa.pub)
ssh_keys_enabled: False
# Retrieve all the packages and versions installed on the target host
gather_package_facts: true
deployment_version: development
deployment_version_name: Development
### Webserver #########################################
proxy_server_name: localhost
proxy_server_url: http://{{ proxy_server_name }}
# WARNING: This variable is for internal use only if using NGINX in the CKAN-Ansible deployment.
# It is not necessary to modify it.
proxy_local_services_url: http://localhost
proxy_ckan_location: /catalog
proxy_pycsw_location: /csw
pycsw_port: 8000
ckan_port: 5000
nginx_dir: /etc/nginx
nginx_log_dir: /var/log/nginx
nginx_port: 81
nginx_sslport: 8443
# PRODUCTION DISABLE AND USE A BALANCER!: Enable or disable the httpd network connect to avoid nginx proxy_pass issues. https://www.nginx.com/blog/using-nginx-plus-with-selinux/
enable_httpd_network_connect: true
# URLs [ckan, pycsw]
proxy_pycsw_proxy_pass: "{{ proxy_local_services_url }}:{{ pycsw_port }}"
proxy_ckan_proxy_pass: "{{ proxy_local_services_url }}:{{ ckan_port }}"
proxy_server_port: "{{ nginx_port }}"
ckan_url: "{{ proxy_server_url }}:{{ proxy_server_port }}{{ proxy_ckan_location }}"
pycsw_url: "{{ proxy_server_url }}:{{ proxy_server_port }}{{ proxy_pycsw_location }}"
### Redis Service #########################################
redis_os_supported:
- "RedHat"
- "CentOS"
- "Debian"
- "Archlinux"
redis_port: 6379
redis_bind_interface: 127.0.0.1
redis_unixsocket: ''
redis_timeout: 300
redis_loglevel: "notice"
redis_logfile: /var/log/redis/redis-server.log
redis_databases: 16
# Set to an empty set to disable persistence (saving the DB to disk).
redis_save:
- 900 1
- 300 10
- 60 10000
redis_rdbcompression: "yes"
redis_dbfilename: dump.rdb
redis_dbdir: /var/lib/redis
redis_maxmemory: 0
redis_maxmemory_policy: "noeviction"
redis_maxmemory_samples: 5
redis_appendonly: "no"
redis_appendfsync: "everysec"
# Add extra include files for local configuration/overrides.
redis_includes: []
# Require authentication to Redis with a password.
redis_requirepass: ""
# Disable certain Redis commands for security reasons.
redis_disabled_commands: []
# - FLUSHDB
# - FLUSHALL
# - KEYS
# - PEXPIRE
# - DEL
# - CONFIG
# - SHUTDOWN
# - BGREWRITEAOF
# - BGSAVE
# - SAVE
# - SPOP
# - SREM
# - RENAME
# - DEBUG
redis_extra_config: ""
### Database service #########################################
postgres_port: 5432
postgres_dir: "/var/lib/pgsql/data"
# Using an external PostgreSQL server or setup a local one
use_external_postgres_database: false
ckan_database: {
postgres_user: "postgres",
postgres_password: "postgres",
ckan_db_user: "ckandbuser",
ckan_db_password: "ckandbpassword",
ckan_db: "ckan_db",
postgres_host: "localhost",
postgres_port: "5432"
}
ckan_datastore: {
datastore_readonly_user: "datastore_ro",
datastore_readonly_password: "datastoredbpassword",
datastore_db: "ckan_datastore",
datastore_host: "localhost",
datastore_port: "5432"
}
### CKAN configuration variables #########################################
## ckan-ansible versions available: ckan-2.9.11, ckan-2.10.5
ckan_version: ckan-2.10.5
ckan_site_id: default
ckan_site_name: "{{ proxy_server_url }}"
## Check if the ckan_site_url is correctly configured. Default uses the proxy_server_name and nginx_port
ckan_site_url: "{{ ckan_site_name }}:{{ nginx_port }}"
ckan_root_path: "{{ proxy_ckan_location }}/{% raw %}{{LANG}}{% endraw %}"
ckan_site_title: "CKAN site - {{ deployment_version_name }}"
ckan_site_description: "CKAN site - {{ deployment_version_name }}"
ckan_site_logo: "images/default/ckan-logo.png"
ckan_favicon: base/images/ckan.ico
ckan_site_intro_text: "[![ckan-docker-spatial](https://img.shields.io/badge/ckan_docker_spatial-CKAN_${CKAN_VERSION}-brightgreen?style=social&logo=github#center)](https://github.com/mjanez/ckan-docker)[`ckan-docker *spatial`](https://github.com/mjanez/ckan-docker) is a ready-to-use development environment for [CKAN](https://github.com/ckan/ckan), the world’s leading open-source data portal platform."
ckan_site_about: "{{ ckan_site_intro_text }}"
ckan_sysadmin_name: ckan_admin
ckan_sysadmin_email: ckan_admin@localhost
ckan_sysadmin_password: test1234
# Default number of facets shown in search results. Default 10.
ckan_search_facets_default: 4
ckan_licenses_group_url: "file://{{ ckan_src_dir }}/ckanext-schemingdcat/ckanext/schemingdcat/public/static/licenses.json"
ckan_datastore_sqlsearch_enabled: false
#### Plugins
ckan_plugins: "activity stats image_view video_view audio_view webpage_view text_view datatables_view resourcedictionary datastore xloader spatial_metadata spatial_query spatial_harvest_metadata_api csw_harvester waf_harvester doc_harvester resource_proxy geo_view geojson_view wmts_view shp_view dcat dcat_rdf_harvester dcat_json_harvester dcat_json_interface schemingdcat schemingdcat_datasets schemingdcat_groups schemingdcat_organizations schemingdcat_ckan_harvester schemingdcat_xls_harvester schemingdcat_postgres_harvester schemingdcat_open_data_statistics harvest pdf_view pages fluent openapi"
#### Previews formats
ckan__preview__json_formats: "json jsonld"
ckan__preview__xml_formats: "xml rdf rdf+xml owl+xml atom rss turtle ttl n3 n-triples"
ckan__preview__text_formats: "text plain text/plain text/turtle rss txt"
ckan__preview__loadable: "html htm rdf+xml owl+xml xml n3 n-triples turtle plain atom csv tsv rss txt json arcgis_rest"
#### Resource Proxy settings
### Preview size limit, default: 1MB
ckan__resource_proxy__max_file_size: 50048576
## Size of chunks to read/write__
ckan__resource_proxy__chunk_size: 4096
## Default timeout for fetching proxied items
ckan__resource_proxy__timeout: 10
#### Views
ckan_views_default_views: "image_view video_view audio_view webpage_view text_view datatables_view wmts_view geojson_view geo_view shp_view pdf_view"
#### Localization
ckan_locale_default: es
ckan_locale_order: "es en pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv"
ckan_locales_offered: "es en pt_BR ja it cs_CZ ca fr el sv sr sr@latin no sk fi ru de pl nl bg ko_KR hu sa sl lv"
#### Datasets
# Enables or disable collaborators in individual datasets (https://docs.ckan.org/en/2.9/maintaining/authorization.html#dataset-collaborators)
ckan__auth__allow_dataset_collaborators: false
ckan__auth__allow_admin_collaborators: false
#### ckanext-harvest
ckan__harvest__mq__type: redis
ckan__harvest__mq__hostname: "{{ redis_bind_interface }}"
ckan__harvest__mq__port: "{{ redis_port }}"
ckan__harvest__mq__redis_db: 1
ckan__harvest__log_timeframe: 40
#### ckanext-dcat
ckanext__dcat__base_uri: "{{ ckan_site_url }}{{ proxy_ckan_location }}"
ckanext__dcat__rdf__profiles: "eu_dcat_ap_2 eu_dcat_ap_scheming"
ckanext__dcat__catalog_endpoint: "{{ proxy_ckan_location }}.{_format}"
#### ckanext-geoview
ckanext__geoview__ol_viewer_formats: "wms wfs geojson gml kml"
ckanext__geoview__geojson__max_file_size: 1000000
ckanext__geoview__shp_viewer__srid: 3857
ckanext__geoview__shp_viewer__encoding: UTF-8
#### ckanext-scheming
ckanext__scheming__dataset_schemas: "ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_full.yaml"
ckanext__scheming__group_schemas: "ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_group.json"
ckanext__scheming__organization_schemas: "ckanext.schemingdcat:schemas/geodcat_ap/eu_geodcat_ap_org.json"
ckanext__scheming__presets: "ckanext.schemingdcat:schemas/default_presets.json ckanext.fluent:presets.json"
#### ckanext-spatial (Solr Backend - solr9-spatial: https://docs.ckan.org/projects/ckanext-spatial/en/latest/spatial-search.html#choosing-a-backend-for-the-spatial-search)
ckan__search__solr_allowed_query_parsers: field
#### (Solr Backend - solr9-spatial: https://docs.ckan.org/projects/ckanext-spatial/en/latest/spatial-search.html#choosing-a-backend-for-the-spatial-search)
ckanext__spatial__search_backend: solr-spatial-field
ckan__spatial__srid: 3857
ckanext__spatial__common_map__custom_url: https://a.tile.openstreetmap.org/{z}/{x}/{y}.png
ckanext__spatial__common_map__attribution: "Map tiles by <a href=\"http://openstreetmap.org\">OpenStreetMap</a> (<a href=\"http://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>)"
#### ckanext-xloader
ckanext__xloader__jobs_db__uri: "postgresql://{{ ckan_database.ckan_db_user }}:{{ ckan_database.ckan_db_password }}@{{ ckan_database.postgres_host }}:{{ ckan_database.postgres_port }}/{{ ckan_database.ckan_db }}"
#### Enable or disable SSL certificate verification. Setting verify to False should only be enabled during local development or testing.
ckanext__xloader__ssl_verify: True
#### Maximum content length for uploaded files (in bytes). Default 1000000000 (1GB)
ckanext__xloader__max_content_length: 1000000000
#### ckanext-pages
ckanext__pages__organization: True
ckanext__pages__group: True
ckanext__pages__about_menu: False
ckanext__pages__group_menu: True
ckanext__pages__organization_menu: True
#### ckanext-schemingdcat
ckanext__schemingdcat__facet_list: "dataset_scope theme groups theme_es language dcat_type groups publisher_name publisher_type spatial_uri owner_org res_format frequency tags tag_uri conforms_to"
ckanext__schemingdcat__organization_custom_facets: true
ckanext__schemingdcat__group_custom_facets: true
ckanext__schemingdcat__geometadata_base_uri: "{{ ckan_site_url }}{{ proxy_pycsw_location }}"
ckanext__schemingdcat_default_package_item_icon: "theme"
ckanext__schemingdcat_default_package_item_show_spatial: True
ckanext__schemingdcat_show_metadata_templates_toolbar: False
ckanext__schemingdcat_metadata_templates_search_identifier: "schemingdcat_xls-template"
ckanext__schemingdcat_endpoints_yaml: "endpoints.yaml"
ckanext__schemingdcat_social_github: "https://github.com/mjanez/ckanext-schemingdcat"
ckanext__schemingdcat_social_x: "https://x.com/ckanproject"
ckanext__schemingdcat_social_linkedin: "https://www.linkedin.com/company/ckanproject"
ckanext__schemingdcat__postgres__geojson_chars_limit: 1000
ckanext__schemingdcat__postgres__geojson_tolerance: 0.001
ckanext__schemingdcat__api__private_fields: "private_name private_email"
solr_multivalued_fields:
- endpoint_url
- serves_dataset
#### ckanext-openapi
ckanext__openapi__endpoints: '[{"url":"https://raw.githubusercontent.com/mjanez/ckanext-openapi/refs/heads/develop/ckanext/openapi/public/static/openapi/datastore.yaml","name":"datastore","title":{"en":"CKAN - Datastore API","es":"Portal de datos abiertos de CKAN - API Datastore"},"description":{"en":"This API provides live access to the Datastore portion of the CKAN Open Data Portal.","es":"Esta API proporciona acceso en tiempo real a la parte de Datastore del Portal de Datos Abiertos CKAN."}},{"url":"https://raw.githubusercontent.com/mjanez/ckanext-openapi/refs/heads/develop/ckanext/openapi/public/static/openapi/ckan.yaml","name":"ckan","title":{"en":"CKAN Open Data Portal - CKAN API (ES)","es":"Portal de datos abiertos de CKAN - API CKAN"},"description":{"en":"This API provides live access to the CKAN portion of the CKAN Open Data Portal.","es":"Esta API proporciona acceso en tiempo real a la parte de CKAN del Portal de Datos Abiertos CKAN."}}]'
### Web Services config ############################################
### Enable all sites in ckan-ansible/playbook/roles/webserver/templates/sites-available/*.conf.j2
sites_enabled:
- ckan-pycsw
### CKAN service #########################################
ckan_virtualenv: /usr/lib/ckan/default
ckan_src_dir: "{{ ckan_virtualenv }}/src"
ckan_config_dir: /etc/ckan/default
ckan_user: ckan
ckan_group: ckan
ckan_pip_constraints: "{{ ckan_config_dir }}/ckan_constraints.txt"
ckan_storage_dir: "{{ ckan_config_dir }}/storage"
ckan_log_dir: /var/log/ckan
worker_harvester_cron: true
ckan_tmp_dir: /tmp
uwsgi_unix_http_server_socket_path: "{{ ckan_tmp_dir }}/uwsgi.sock"
ckan_cors_origin_allow_all: false
ckan_cors_origin_whitelist: ""
### CKAN SMTP #########################################
ckan_smpt_active: false
ckan_smtp_server: "smtp.corporateict.domain:25"
ckan_smpt_starttls: true
ckan_smtp_user: "user"
ckan_smtp_password: "password"
ckan_smtp_mail_from: "ckan@{{ proxy_server_name }}"
ckan_smtp_reply_to: ''
ckan_email_to: ''
ckan_error_email_from: ''
worker_email_notifications_cron: true
### CKAN extension versions #########################################
ckanext_versions:
ckanext_xloader: 1.0.1-stable
ckanext_harvest: v1.5.6
ckanext_geoview: v0.2.2
ckanext_spatial: v2.2.0
ckanext_dcat: v2.1.0
ckanext_scheming: release-3.0.0
ckanext_resourcedictionary: v1.0.2
ckanext_pages: v0.5.2
ckanext_pdfview: 0.0.8
ckanext_fluent: v1.0.1
ckanext_hierarchy: v1.2.1
### CKAN custom plugins #########################################
# This is a dictionary of custom plugins to install. The key is the github user/repo and the value is the version to install.
ckanext_custom_plugins:
mjanez/ckanext-schemingdcat: v4.3.0
mjanez/ckanext-openapi: v1.0.0
### Solr Service #########################################
solr_os_supported:
- "RedHat"
- "CentOS"
- "Debian"
solr_port: 8983
solr_host: 0.0.0.0
solr_test_host: 127.0.0.1
solr_mirror: "https://archive.apache.org/dist"
solr_workspace: /root
solr_tmp_dir: /tmp
solr_schema_ckan_branch: "dev-v2.10"
jts_jar_file: "{{ solr_dir }}/server/solr-webapp/webapp/WEB-INF/lib/jts-core-{{ jts_version }}.jar"
solr_user: solr
solr_group: "{{ solr_user }}"
solr_remove_cruft: false
solr_service_manage: true
solr_service_name: solr
solr_ckan_core_name: ckan
solr_service_state: started
solr_config_file: /etc/default/{{ solr_service_name }}.in.sh
solr_install_dir: /opt
solr_dir: "/opt/{{ solr_service_name }}"
solr_data: "/var/{{ solr_service_name }}"
solr_default_core_path: "{% if solr_version.split('.')[0] < '9' %}{{ solr_dir }}/example/files/conf/{% else %}{{ solr_dir }}/server/solr/configsets/_default/conf/{% endif %}"
solr_config_dir: "{{ solr_dir }}/server/solr/configsets"
solr_ckan_schema_file: "{{ solr_data }}/data/ckan/conf/managed-schema.xml"
solr_xms: "256M"
solr_xmx: "1024M"
solr_timezone: "{{ timezone }}"
solr_opts: "$SOLR_OPTS -Dlog4j2.formatMsgNoLookups=true"
# Enable restart solr handler
solr_restart_handler_enabled: true
### Supervisor Service #########################################
supervisor_log_dir: /var/log/supervisor
supervisor_tmp_dir: /tmp
supervisor_started: true
supervisor_enabled: true
supervisor_nodaemon: true
supervisor_user: root
supervisor_unix_http_server_socket_path: "{{ supervisor_tmp_dir }}/supervisor.sock"
supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'
### ckan-pycsw Service #########################################
ckan_pycsw_version: v2.6.1
pycsw_ckan_schema: iso19139_geodcatap
pycsw_output_schema: iso19139_inspire
pycsw_cron_days_interval: 2
pycsw_cron_hour_start: 4
pycsw_app_dir: "{{ ckan_src_dir }}/ckan-pycsw"
pycsw_local_ssl_unverified: false
#### pycsw conf
pycsw_identification_title: Sample Geospatial Catalogue
pycsw_identification_abstract: OGC CSW server powered by pycsw
pycsw_identification_keywords: "catalogue,discovery,metadata"
pycsw_provider_name: Sample
pycsw_provider_url: https://example.org/
pycsw_contact_country: Spain
pycsw_contact_name: admin
pycsw_contact_position: Director
pycsw_contact_address: "Plaza Mayor, 1"
pycsw_contact_city: Madrid
pycsw_contact_stateorprovince: Madrid
pycsw_contact_postalcode: 28001
pycsw_contact_phone: +xx-xxx-xxx-xxxx
pycsw_contact_fax: +xx-xxx-xxx-xxxx
pycsw_contact_email: [email protected]
pycsw_contact_url: https://example.org/members/admin
pycsw_inspire_date: 2023-12-31
pycsw_inspire_gemet_keywords: Utility and governmental services
pycsw_inspire_conformity_service: notEvaluated
pycsw_inspire_contact_name: Organization Name
pycsw_inspire_contact_email: [email protected]
pycsw_inspire_temp_extent: 2023-12-31/2030-12-31
### Test URLs
test_solr_ckan_url: "http://{{ solr_test_host }}:{{ solr_port }}/solr/{{ solr_ckan_core_name }}"
test_redis_ckan_url: "redis://{{ redis_bind_interface }}:{{ redis_port }}/{{ ckan__harvest__mq__redis_db }}"
test_ckan_sqlalchemy_url: "postgresql://{{ ckan_database.ckan_db_user }}:{{ ckan_database.ckan_db_password }}@{{ ckan_database.postgres_host }}:{{ ckan_database.postgres_port }}/{{ ckan_database.ckan_db }}"
test_ckan_datastore_ro_url: "postgresql://{{ ckan_datastore.datastore_readonly_user }}:{{ ckan_datastore.datastore_readonly_password }}@{{ ckan_datastore.datastore_host }}:{{ ckan_datastore.datastore_port }}/{{ ckan_datastore.ckan_datastore_db }}"
test_ckan_datastore_url: "postgresql://{{ ckan_database.ckan_db_user }}:{{ ckan_database.ckan_db_password }}@{{ ckan_datastore.datastore_host }}:{{ ckan_datastore.datastore_port }}/{{ ckan_datastore.ckan_datastore_db }}"