c2cgeoportal-geoportal 2.3.5.79__py3-none-any.whl → 2.9rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. c2cgeoportal_geoportal/__init__.py +960 -0
  2. c2cgeoportal_geoportal/lib/__init__.py +256 -0
  3. c2cgeoportal_geoportal/lib/authentication.py +250 -0
  4. c2cgeoportal_geoportal/lib/bashcolor.py +46 -0
  5. c2cgeoportal_geoportal/lib/cacheversion.py +75 -0
  6. c2cgeoportal_geoportal/lib/caching.py +176 -0
  7. c2cgeoportal_geoportal/lib/check_collector.py +80 -0
  8. c2cgeoportal_geoportal/lib/checker.py +295 -0
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +266 -0
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +360 -0
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
  13. c2cgeoportal_geoportal/lib/functionality.py +166 -0
  14. c2cgeoportal_geoportal/lib/headers.py +62 -0
  15. c2cgeoportal_geoportal/lib/i18n.py +38 -0
  16. c2cgeoportal_geoportal/lib/layers.py +132 -0
  17. c2cgeoportal_geoportal/lib/lingva_extractor.py +937 -0
  18. c2cgeoportal_geoportal/lib/loader.py +57 -0
  19. c2cgeoportal_geoportal/lib/metrics.py +117 -0
  20. c2cgeoportal_geoportal/lib/oauth2.py +1186 -0
  21. c2cgeoportal_geoportal/lib/oidc.py +302 -0
  22. c2cgeoportal_geoportal/lib/wmstparsing.py +353 -0
  23. c2cgeoportal_geoportal/lib/xsd.py +166 -0
  24. c2cgeoportal_geoportal/py.typed +0 -0
  25. c2cgeoportal_geoportal/resources.py +49 -0
  26. c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
  27. c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
  28. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
  29. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
  30. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml +30 -0
  31. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile +75 -0
  32. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Makefile +6 -0
  33. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.ini +58 -0
  34. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml +19 -0
  35. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini +121 -0
  36. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +139 -0
  37. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/language_mapping +3 -0
  38. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-client.cfg +5 -0
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-server.cfg +6 -0
  40. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  41. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  42. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
  43. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +41 -0
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js +64 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js +11 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.config.js +22 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -0
  48. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  49. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  50. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  51. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  52. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/resources.py +11 -0
  53. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
  54. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
  55. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py +39 -0
  56. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/views/__init__.py +0 -0
  57. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  58. c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile +121 -0
  59. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.editorconfig +17 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +73 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +50 -0
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.pre-commit-config.yaml +35 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +75 -0
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/README.rst +29 -0
  72. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +179 -0
  73. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
  74. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +2 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +24 -0
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +511 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +21 -0
  79. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +59 -0
  80. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml +121 -0
  81. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +102 -0
  82. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
  83. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +430 -0
  84. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po +6 -0
  85. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css +0 -0
  86. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css +0 -0
  87. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  88. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_left.png +0 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_right.png +0 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/blank.png +0 -0
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
  93. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
  94. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
  95. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl +3 -0
  96. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt +69 -0
  97. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/TM_EUROPE_BORDERS-0.3.sql +70 -0
  98. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  99. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arial.ttf +0 -0
  100. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbd.ttf +0 -0
  101. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbi.ttf +0 -0
  102. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Ariali.ttf +0 -0
  103. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Bold.ttf +0 -0
  104. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-BoldItalic.ttf +0 -0
  105. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Italic.ttf +0 -0
  106. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Regular.ttf +0 -0
  107. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdana.ttf +0 -0
  108. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanab.ttf +0 -0
  109. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanai.ttf +0 -0
  110. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanaz.ttf +0 -0
  111. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts.conf +12 -0
  112. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
  113. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl +87 -0
  114. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/tinyows.xml.tmpl +36 -0
  115. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml +207 -0
  116. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml +185 -0
  117. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml +200 -0
  118. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml +170 -0
  119. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl +175 -0
  120. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
  121. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  122. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  123. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/logo.png +0 -0
  124. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/north.svg +93 -0
  125. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/results.jrxml +25 -0
  126. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/project.yaml +18 -0
  127. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +7 -0
  128. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl +15 -0
  129. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh +11 -0
  130. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +126 -0
  131. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +132 -0
  132. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
  133. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
  134. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
  135. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +43 -0
  136. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  137. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  138. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +67 -0
  139. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +295 -0
  140. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
  141. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml +922 -0
  142. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1503 -0
  143. c2cgeoportal_geoportal/scripts/__init__.py +64 -0
  144. c2cgeoportal_geoportal/scripts/c2cupgrade.py +879 -0
  145. c2cgeoportal_geoportal/scripts/create_demo_theme.py +80 -0
  146. c2cgeoportal_geoportal/scripts/manage_users.py +140 -0
  147. c2cgeoportal_geoportal/scripts/pcreate.py +314 -0
  148. c2cgeoportal_geoportal/scripts/theme2fts.py +347 -0
  149. c2cgeoportal_geoportal/scripts/urllogin.py +81 -0
  150. c2cgeoportal_geoportal/templates/login.html +90 -0
  151. c2cgeoportal_geoportal/templates/notlogin.html +62 -0
  152. c2cgeoportal_geoportal/templates/testi18n.html +12 -0
  153. c2cgeoportal_geoportal/views/__init__.py +59 -0
  154. c2cgeoportal_geoportal/views/dev.py +57 -0
  155. c2cgeoportal_geoportal/views/dynamic.py +208 -0
  156. c2cgeoportal_geoportal/views/entry.py +174 -0
  157. c2cgeoportal_geoportal/views/fulltextsearch.py +189 -0
  158. c2cgeoportal_geoportal/views/geometry_processing.py +75 -0
  159. c2cgeoportal_geoportal/views/i18n.py +129 -0
  160. c2cgeoportal_geoportal/views/layers.py +713 -0
  161. c2cgeoportal_geoportal/views/login.py +679 -0
  162. c2cgeoportal_geoportal/views/mapserverproxy.py +191 -0
  163. c2cgeoportal_geoportal/views/memory.py +90 -0
  164. c2cgeoportal_geoportal/views/ogcproxy.py +120 -0
  165. c2cgeoportal_geoportal/views/pdfreport.py +245 -0
  166. c2cgeoportal_geoportal/views/printproxy.py +143 -0
  167. c2cgeoportal_geoportal/views/profile.py +127 -0
  168. c2cgeoportal_geoportal/views/proxy.py +259 -0
  169. c2cgeoportal_geoportal/views/raster.py +193 -0
  170. c2cgeoportal_geoportal/views/resourceproxy.py +73 -0
  171. c2cgeoportal_geoportal/views/shortener.py +152 -0
  172. c2cgeoportal_geoportal/views/theme.py +1322 -0
  173. c2cgeoportal_geoportal/views/tinyowsproxy.py +189 -0
  174. c2cgeoportal_geoportal/views/vector_tiles.py +83 -0
  175. {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/METADATA +21 -24
  176. c2cgeoportal_geoportal-2.9rc1.dist-info/RECORD +192 -0
  177. {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/WHEEL +1 -1
  178. c2cgeoportal_geoportal-2.9rc1.dist-info/entry_points.txt +28 -0
  179. c2cgeoportal_geoportal-2.9rc1.dist-info/top_level.txt +2 -0
  180. tests/__init__.py +100 -0
  181. tests/test_cachebuster.py +71 -0
  182. tests/test_caching.py +275 -0
  183. tests/test_checker.py +85 -0
  184. tests/test_decimaljson.py +47 -0
  185. tests/test_headerstween.py +64 -0
  186. tests/test_i18n.py +31 -0
  187. tests/test_init.py +193 -0
  188. tests/test_locale_negociator.py +69 -0
  189. tests/test_mapserverproxy_route_predicate.py +64 -0
  190. tests/test_raster.py +267 -0
  191. tests/test_wmstparsing.py +238 -0
  192. tests/xmlstr.py +103 -0
  193. c2cgeoportal_geoportal-2.3.5.79.dist-info/DESCRIPTION.rst +0 -8
  194. c2cgeoportal_geoportal-2.3.5.79.dist-info/RECORD +0 -7
  195. c2cgeoportal_geoportal-2.3.5.79.dist-info/entry_points.txt +0 -22
  196. c2cgeoportal_geoportal-2.3.5.79.dist-info/metadata.json +0 -1
  197. c2cgeoportal_geoportal-2.3.5.79.dist-info/top_level.txt +0 -1
@@ -0,0 +1,1503 @@
1
+ ---
2
+ vars:
3
+ # The package name
4
+ package: '{{cookiecutter.package}}'
5
+ main_ogc_server: source for image/png
6
+
7
+ srid: EPSG:-1
8
+
9
+ # Sqlalchemy schema
10
+ schema: '{PGSCHEMA}'
11
+ # Sqlalchemy static schema
12
+ schema_static: '{PGSCHEMA_STATIC}'
13
+
14
+ dbsessions: {}
15
+
16
+ enable_admin_interface: True
17
+
18
+ # Database information
19
+ sqlalchemy:
20
+ url: postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}:{PGPORT}/{PGDATABASE}?sslmode={PGSSLMODE}
21
+ pool_recycle: '{SQLALCHEMY_POOL_RECYCLE}'
22
+ pool_size: '{SQLALCHEMY_POOL_SIZE}'
23
+ max_overflow: '{SQLALCHEMY_MAX_OVERFLOW}'
24
+ executemany_mode: values_plus_batch
25
+ sqlalchemy_slave:
26
+ url: postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST_SLAVE}:{PGPORT_SLAVE}/{PGDATABASE}?sslmode={PGSSLMODE}
27
+ pool_recycle: '{SQLALCHEMY_SLAVE_POOL_RECYCLE}'
28
+ pool_size: '{SQLALCHEMY_SLAVE_POOL_SIZE}'
29
+ max_overflow: '{SQLALCHEMY_SLAVE_MAX_OVERFLOW}'
30
+ executemany_mode: values_plus_batch
31
+
32
+ # Session backend
33
+ session:
34
+ type: 'ext:redis'
35
+ url: 'redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_DB}'
36
+
37
+ # 10 days of default cache
38
+ default_max_age: 864000
39
+
40
+ authentication:
41
+ two_factor: false
42
+ two_factor_issuer_name: '{{cookiecutter.project}}'
43
+ oauth2_token_expire_minutes: 60
44
+ oauth2_authorization_expire_minutes: 10
45
+ max_consecutive_failures: 10
46
+ openid_connect:
47
+ enabled: '{OPENID_CONNECT_ENABLED}'
48
+
49
+ intranet:
50
+ networks: []
51
+
52
+ i18next:
53
+ ns:
54
+ - geomapfish
55
+ defaultNS: geomapfish
56
+ debug: false
57
+ detection:
58
+ order:
59
+ - querystring
60
+ - cookie
61
+ - localStorage
62
+ - sessionStorage
63
+ - navigator
64
+ - htmlTag
65
+ lookupQuerystring: lang
66
+ lookupCookie: i18next
67
+ lookupLocalStorage: i18nextLng
68
+ lookupSessionStorage: i18nextLng
69
+ caches:
70
+ - localStorage
71
+ excludeCacheFor:
72
+ - cimode
73
+ fallbackLng: false
74
+ interpolation:
75
+ escapeValue: false
76
+ backend: {}
77
+
78
+ static_files:
79
+ favicon.ico: /etc/geomapfish/static/images/favicon.ico
80
+ robot.txt: /etc/geomapfish/static/robot.txt
81
+ api.js: /etc/static-ngeo/api.js
82
+ api.js.map: /etc/static-ngeo/api.js.map
83
+ api.css: /etc/static-ngeo/api.css
84
+ apihelp.html: /etc/geomapfish/static/apihelp/index.html
85
+
86
+ interfaces_config:
87
+ default:
88
+ constants:
89
+ gmfProjectionsOptions: &projections
90
+ 'EPSG:21781':
91
+ definition:
92
+ - +proj=somerc
93
+ - +lat_0=46.95240555555556
94
+ - +lon_0=7.439583333333333
95
+ - +k_0=1
96
+ - +x_0=600000
97
+ - +y_0=200000
98
+ - +ellps=bessel
99
+ - +towgs84=674.374,15.056,405.346,0,0,0,0
100
+ - +units=m
101
+ - +no_defs
102
+ extent: [420000, 30000, 900000, 350000]
103
+ 'EPSG:2056':
104
+ definition:
105
+ - +proj=somerc
106
+ - +lat_0=46.95240555555556
107
+ - +lon_0=7.439583333333333
108
+ - +k_0=1
109
+ - +x_0=2600000
110
+ - +y_0=1200000
111
+ - +ellps=bessel
112
+ - +towgs84=674.374,15.056,405.346,0,0,0,0
113
+ - +units=m
114
+ - +no_defs
115
+ extent: [2420000, 1030000, 2900000, 1350000]
116
+ sentryOptions:
117
+ dsn: '{SENTRY_URL}'
118
+ release: '{SENTRY_CLIENT_RELEASE}'
119
+ environment: '{SENTRY_CLIENT_ENVIRONMENT}'
120
+ attachStacktrace: True
121
+ tags:
122
+ service: js
123
+ gmfAuthenticationConfig:
124
+ allowPasswordChange: true
125
+ allowPasswordReset: true
126
+ ngeoWfsPermalinkOptions:
127
+ wfsTypes: []
128
+ defaultFeatureNS: http://mapserver.gis.umn.edu/mapserver
129
+ defaultFeaturePrefix: feature
130
+ crosshairStyle:
131
+ - regularShape:
132
+ stroke:
133
+ color: white
134
+ width: 5
135
+ points: 4
136
+ radius: 10
137
+ radius2: 0
138
+ angle: 0
139
+ - regularShape:
140
+ stroke:
141
+ color: red
142
+ width: 2
143
+ points: 4
144
+ radius: 10
145
+ radius2: 0
146
+ angle: 0
147
+ ngeoScaleSelectorOptions:
148
+ values: [1000000, 500000, 200000, 100000, 50000, 20000, 10000, 5000, 2000, 1000, 500, 200]
149
+ dropup: True
150
+ ngeoStringToHtmlReplacements:
151
+ # Hyperlink
152
+ - expression: ^(https?:\/\/.+)$
153
+ tags: gm
154
+ template: <a target="_blank" href="$1">$1</a>
155
+ # Mailto
156
+ - expression: ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$
157
+ tags: gim
158
+ template: <a href="mailto:$1">$1</a>
159
+ ngeoTilesPreloadingLimit:
160
+ ngeoUsedKeyRegexp:
161
+ - .*
162
+ ngeoQueryOptions:
163
+ limit: 20
164
+ ngeoMeasurePrecision: 3
165
+ ngeoMeasureDecimals: 0
166
+ ngeoMeasureSpherical: False
167
+ gmfSnappingConfig: {}
168
+ gmfSnappingOptions:
169
+ maxFeatures: 50
170
+ ngeoSnappingTolerance: 20
171
+ gmfObjectEditingToolsOptions: {}
172
+ gmfTreeManagerModeFlush: True
173
+ gmfThemesOptions: {}
174
+ ngeoPointfilter:
175
+ gmfAuthenticationNoReloadRole:
176
+ ngeoNominatimSearchDefaultParams: {}
177
+ ngeoNominatimUrl: https://nominatim.openstreetmap.org/
178
+ ngeoCsvEncoding: utf-8
179
+ ngeoCsvExtension: .csv
180
+ ngeoCsvIncludeHeader: True
181
+ ngeoCsvQuote: '"'
182
+ ngeoCsvSeparator: ','
183
+ gmfCsvFilename: query-results.csv
184
+ gmfDisplayQueryWindowOptions:
185
+ featuresStyle: &featureStyle
186
+ fill:
187
+ color: [255, 170, 0, 0.6]
188
+ stroke:
189
+ color: [255, 170, 0, 1]
190
+ width: 2
191
+ zIndex: 10
192
+ circle:
193
+ fill:
194
+ color: [255, 170, 0, 0.6]
195
+ stroke:
196
+ color: [255, 170, 0, 1]
197
+ width: 2
198
+ radius: 5
199
+ selectedFeatureStyle: &selectedFeatureStyle
200
+ fill:
201
+ color: [255, 0, 0, 0.6]
202
+ stroke:
203
+ color: [255, 0, 0, 1]
204
+ width: 2
205
+ zIndex: 10
206
+ circle:
207
+ fill:
208
+ color: [255, 0, 0, 0.6]
209
+ stroke:
210
+ color: [255, 0, 0, 1]
211
+ width: 2
212
+ radius: 5
213
+ gmfLayerTreeOptions:
214
+ openLinksInNewWindow: False
215
+ isExpanded: False
216
+ layerIcon:
217
+ width: 20
218
+ height: 20
219
+ gmfDisclaimerOptions: {}
220
+ gmfBackgroundLayerSelectorOptions: {}
221
+ defaultTheme: Demo
222
+ defaultLang: en
223
+ gmfOptions: &gmfOptions
224
+ map: {}
225
+ view:
226
+ srid: '{srid}'
227
+ center: [2600000, 1200000]
228
+ zoom: 3
229
+ resolutions: [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05]
230
+ extent: [2420000, 1030000, 2900000, 1350000]
231
+ constrainRotation: false
232
+ constrainResolution: true
233
+ gmfSearchOptions:
234
+ styles:
235
+ default:
236
+ fill:
237
+ color: [65, 134, 240, 0.5]
238
+ stroke:
239
+ color: [65, 134, 240, 1]
240
+ width: 2
241
+ circle:
242
+ fill:
243
+ color: [65, 134, 240, 0.5]
244
+ stroke:
245
+ color: [65, 134, 240, 1]
246
+ width: 2
247
+ radius: 5
248
+ gmfCoordinatesLayerName:
249
+ regularShape:
250
+ stroke:
251
+ color: [0, 0, 0, 0.7]
252
+ width: 2
253
+ points: 4
254
+ radius: 8
255
+ radius2: 0
256
+ angle: 0
257
+ datasources:
258
+ - labelKey: label
259
+ groupActions:
260
+ - action: add_theme
261
+ title: Add a theme
262
+ - action: add_group
263
+ title: Add a sub theme
264
+ - action: add_layer
265
+ title: Add a layer
266
+ projection: EPSG:{srid}
267
+ gmfPermalinkOptions:
268
+ crosshairStyle:
269
+ - regularShape:
270
+ stroke:
271
+ color: white
272
+ width: 5
273
+ points: 4
274
+ radius: 10
275
+ radius2: 0
276
+ angle: 0
277
+ - regularShape:
278
+ stroke:
279
+ color: red
280
+ width: 2
281
+ points: 4
282
+ radius: 10
283
+ radius2: 0
284
+ angle: 0
285
+ crosshairEnabledByDefault: False
286
+ useLocalStorage: False
287
+ pointRecenterZoom:
288
+ gmfElevationOptions:
289
+ layers: []
290
+ layersConfig: {}
291
+ gmfVectorTilesOptions:
292
+ projection: EPSG:{srid}
293
+ tileGrid: {}
294
+ ngeoGeolocationOptions:
295
+ positionFeatureStyle:
296
+ circle:
297
+ radius: 6
298
+ fill:
299
+ color: rgba(230, 100, 100, 1)
300
+ stroke:
301
+ color: rgba(230, 40, 40, 1)
302
+ width: 2
303
+ accuracyFeatureStyle:
304
+ fill:
305
+ color: rgba(100, 100, 230, 0.3)
306
+ stroke:
307
+ color: rgba(40, 40, 230, 1)
308
+ width: 2
309
+ zoom:
310
+ autoRotate: False
311
+ gmfWMSSourceOptions:
312
+ # The default value is 1.5 but it add a slight blur on the layer,
313
+ # 1 is also possible but the application will do a getMap on all the pan.
314
+ ratio: 2
315
+
316
+ dynamic_constants:
317
+ interface: interface
318
+ cacheVersion: cache_version
319
+ langUrls: lang_urls
320
+ gmfI18nextConfiguration: i18next_configuration
321
+ gmfTwoFactorAuth: two_factor
322
+ gmfSearchGroups: fulltextsearch_groups
323
+ static:
324
+ angularLocaleScript:
325
+ name: '/etc/static-ngeo/'
326
+ append: angular-locale_{{'{{'}}locale{{'}}'}}.js
327
+ routes:
328
+ currentInterfaceUrl:
329
+ currentInterface: True
330
+ authenticationBaseUrl:
331
+ name: base
332
+ gmfOidcLoginUrl:
333
+ name: oidc_login
334
+ gmfLayersUrl:
335
+ name: layers_root
336
+ gmfRasterUrl:
337
+ name: raster
338
+ gmfShortenerCreateUrl:
339
+ name: shortener_create
340
+ ngeoPermalinkOgcserverUrl:
341
+ name: mapserverproxy
342
+ params:
343
+ ogcserver: '{main_ogc_server}'
344
+ fulltextsearchUrl:
345
+ name: fulltextsearch
346
+ params:
347
+ limit: 30
348
+ partitionlimit: 5
349
+ dynamic_params:
350
+ interface: interface
351
+ gmfTreeUrl:
352
+ name: themes
353
+ params:
354
+ background: background
355
+ dynamic_params:
356
+ interface: interface
357
+ gmfVectorTilesUrl:
358
+ name: vector_tiles_root
359
+ desktop:
360
+ extends: default
361
+ redirect_interface: mobile
362
+ do_redirect: True
363
+ constants:
364
+ gmfOptions: *gmfOptions
365
+ ngeoProfileOptions: {}
366
+ ngeoStreetviewOptions:
367
+ viewer: 'mapillary'
368
+ gmfPrintOptions:
369
+ legend:
370
+ # See:
371
+ # https://www.mapserver.org/development/rfc/ms-rfc-101.html
372
+ # https://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/server/services.html#getlegendgraphics
373
+ useBbox: true
374
+ label:
375
+ qgis: false
376
+ params:
377
+ # See:
378
+ # https://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/server/services.html#getlegendgraphics
379
+ qgis:
380
+ LAYERFONTFAMILY: DejaVu Sans
381
+ ITEMFONTFAMILY: DejaVu Sans
382
+ LAYERFONTSIZE: '10'
383
+ ITEMFONTSIZE: '8'
384
+ hiddenAttributes:
385
+ - debug
386
+ - timezone
387
+ - username
388
+ gmfDisplayQueryGridOptions:
389
+ featuresStyle: *featureStyle
390
+ selectedFeatureStyle: *selectedFeatureStyle
391
+ gmfEditFeatureOptions:
392
+ tolerance: 10
393
+ closeAfterSave: false
394
+ highlightStyle:
395
+ circle:
396
+ radius: 7
397
+ fill:
398
+ color: [255, 139, 139, 0.6]
399
+ stroke:
400
+ color: [255, 0, 0, 1]
401
+ width: 3
402
+ fill:
403
+ color: [255, 139, 139, 0.6]
404
+ stroke:
405
+ color: [255, 0, 0, 1]
406
+ width: 3
407
+ gmfProfileOptions:
408
+ linesConfiguration: {}
409
+ hoverPointStyle:
410
+ circle:
411
+ fill:
412
+ color: '#ffffff'
413
+ radius: 3
414
+ gmfShareOptions:
415
+ enableEmail: True
416
+ gmfFitOptions:
417
+ # Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
418
+ padding: [50, 10, 50, 50]
419
+ routes:
420
+ gmfProfileJsonUrl:
421
+ name: profile.json
422
+ gmfPrintUrl:
423
+ name: printproxy
424
+
425
+ mobile:
426
+ extends: default
427
+ redirect_interface: desktop
428
+ constants:
429
+ gmfOptions: *gmfOptions
430
+ gmfMobileMeasureAreaOptions:
431
+ precision: 2
432
+ sketchStyle: &mobileMeasureStyle
433
+ fill:
434
+ color: rgba(255, 128, 128, 0.2)
435
+ stroke:
436
+ color: rgba(255, 0, 0, 0.5)
437
+ lineDash: [10, 10]
438
+ width: 2
439
+ regularShape:
440
+ stroke:
441
+ color: rgba(0, 0, 0, 0.7)
442
+ width: 2
443
+ points: 4
444
+ radius: 8
445
+ radius2: 0
446
+ angle: 0
447
+ gmfMobileMeasureLengthOptions:
448
+ precision: 2
449
+ sketchStyle: *mobileMeasureStyle
450
+ gmfMobileMeasurePointOptions:
451
+ decimals: 0
452
+ rasterLayers: []
453
+ format: '{x}, {y}'
454
+ sketchStyle:
455
+ fill:
456
+ color: rgba(255, 255, 255, 0.2)
457
+ stroke:
458
+ color: rgba(0, 0, 0, 0.5)
459
+ lineDash: [10, 10]
460
+ width: 2
461
+ regularShape:
462
+ stroke:
463
+ color: rgba(0, 0, 0, 0.7)
464
+ width: 2
465
+ points: 4
466
+ radius: 8
467
+ radius2: 0
468
+ angle: 0
469
+ gmfFitOptions:
470
+ # Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
471
+ padding: [60, 60, 42, 10]
472
+
473
+ iframe_api:
474
+ extends: default
475
+ constants:
476
+ gmfOptions: *gmfOptions
477
+ gmfSearchGroups: []
478
+ gmfFitOptions:
479
+ # Padding (in pixels) to be correctly fitted inside the view. Values in the array are top, right, bottom and left padding.
480
+ padding: [20, 20, 20, 20]
481
+
482
+ api:
483
+ constants:
484
+ projections: *projections
485
+ # The projection of the map
486
+ projection: EPSG:{srid}
487
+ routes:
488
+ themesUrl:
489
+ name: themes
490
+ params:
491
+ background: background
492
+ dynamic_params:
493
+ interface: interface
494
+ localeUrl:
495
+ name: localejson
496
+ searchUrl:
497
+ name: fulltextsearch
498
+ params:
499
+ limit: 30
500
+ partitionlimit: 5
501
+ dynamic_params:
502
+ interface: interface
503
+
504
+ cache:
505
+ std:
506
+ backend: c2cgeoportal.hybridsentinel
507
+ arguments: &redis-cache-arguments
508
+ lock_timeout: '{REDIS_LOCK_TIMEOUT}' # seconds
509
+ redis_expiration_time: '{REDIS_EXPIRATION_TIME}' # seconds
510
+ distributed_lock: True
511
+ thread_local_lock: False
512
+ service_name: '{REDIS_SERVICENAME}'
513
+ socket_timeout: '{REDIS_TIMEOUT}' # seconds
514
+ db: 0
515
+ obj:
516
+ backend: dogpile.cache.memory
517
+ ogc-server:
518
+ backend: c2cgeoportal.hybridsentinel
519
+ arguments: *redis-cache-arguments
520
+
521
+ admin_interface:
522
+ layer_tree_max_nodes: 1000
523
+
524
+ exclude_pages:
525
+ - layers-cog
526
+
527
+ # The list of available variable names for the `Metadatas` form.
528
+ available_metadata:
529
+ # TreeItem
530
+ - name: searchAlias
531
+ type: list
532
+ description: >
533
+ Comma separated list of search aliases (keywords) to be added to the tsearch.ts field for
534
+ the considered tree item (theme, layer group or layer), that is to say that considered
535
+ tree item will match when searching for the search aliases.
536
+ relevant_for:
537
+ - treeitem
538
+ - name: searchLabelPattern
539
+ description: >
540
+ Template string for the label of tree items in the search results, for example: "{name} ({theme})"
541
+ Supported parameters:
542
+ <ul>
543
+ <li>name (name of the tree item)</li>
544
+ <li>parent (parent of the item, may be a group, a block or a theme)</li>
545
+ <li>block (name of the block to which the item belongs)</li>
546
+ <li>theme (name of the theme to which the item belongs)</li>
547
+ </ul>
548
+ relevant_for:
549
+ - treeitem
550
+ # Layers group
551
+ - name: exclusiveGroup
552
+ type: boolean
553
+ description: >
554
+ Whether the group contains children that have to be mutually exclusive, meaning that only
555
+ one child may be ON at any time.
556
+ relevant_for:
557
+ - layergroup
558
+ - name: isExpanded
559
+ type: boolean
560
+ description: >
561
+ Whether the layer group is expanded by default.
562
+ relevant_for:
563
+ - layergroup
564
+ - name: printNativeAngle
565
+ type: boolean
566
+ description: >
567
+ Whether the print should rotate the symbols.
568
+ relevant_for:
569
+ - layergroup
570
+ # Layer
571
+ - name: copyable
572
+ type: boolean
573
+ description: >
574
+ Whether the geometry from this data source can be copied to other data sources or not.
575
+ relevant_for:
576
+ - layer_wms
577
+ - name: legend
578
+ type: boolean
579
+ description: >
580
+ Display the legend of this layer.
581
+ relevant_for:
582
+ - layer_wms
583
+ - layer_wmts
584
+ - layer_cog
585
+ - name: isLegendExpanded
586
+ type: boolean
587
+ description: >
588
+ Whether the legend is expanded by default.
589
+ relevant_for:
590
+ - layer_wms
591
+ - layer_wmts
592
+ - layer_cog
593
+ - name: legendRule
594
+ description: >
595
+ The WMS "RULE" parameter used to display the icon in the layer tree. "Short version" of
596
+ the "iconURL" metadata.
597
+ relevant_for:
598
+ - layer_wms
599
+ - name: legendImage
600
+ type: url
601
+ description: >
602
+ The URL to the image used as a legend in the layer tree.
603
+ relevant_for:
604
+ - layer_wms
605
+ - layer_wmts
606
+ - layer_cog
607
+ - name: hiDPILegendImages
608
+ type: json
609
+ description: >
610
+ The URLs to the hi DPI images used to print the legend of this layer.
611
+ It will contain a JSON mapping object with the DPI as key and the URL as value.
612
+ Note that the URL can't use the config scheme.
613
+ relevant_for:
614
+ - layer_wms
615
+ - layer_wmts
616
+ - layer_cog
617
+ - name: iconUrl
618
+ type: url
619
+ description: >
620
+ The URL of the icon to display in the layer tree.
621
+ relevant_for:
622
+ - layer_wms
623
+ - layer_wmts
624
+ - layer_cog
625
+ - name: metadataUrl
626
+ type: url
627
+ description: >
628
+ The URL to the information on this layer.
629
+ relevant_for:
630
+ - layer_wms
631
+ - layer_wmts
632
+ - layer_cog
633
+ - layergroup
634
+ - name: disclaimer
635
+ translate: True
636
+ description: >
637
+ The disclaimer text for this element.
638
+ relevant_for:
639
+ - treeitem
640
+ - name: isChecked
641
+ type: boolean
642
+ description: >
643
+ Is the layer checked by default.
644
+ relevant_for:
645
+ - layer_wms
646
+ - layer_wmts
647
+ - layer_cog
648
+ - name: identifierAttributeField
649
+ description: >
650
+ The field used in the "display query window" as feature title.
651
+ relevant_for:
652
+ - layer_wms
653
+ - name: maxResolution
654
+ type: float
655
+ description: >
656
+ The max resolution where the layer is visible. On WMTS layers it will
657
+ have an effect on the node in the layertree but not on the layertree directly.
658
+ relevant_for:
659
+ - layer_wms
660
+ - layer_wmts
661
+ - layer_cog
662
+ - name: minResolution
663
+ type: float
664
+ description: >
665
+ The min resolution where the layer is visible. On WMTS layers it will
666
+ have an effect on the node in the layertree but not on the layer directly.
667
+ relevant_for:
668
+ - layer_wms
669
+ - layer_wmts
670
+ - layer_cog
671
+ - name: opacity
672
+ type: float
673
+ description: >
674
+ Layer opacity. 1.0 means fully visible, 0 means invisible.
675
+ relevant_for:
676
+ - layer_wms
677
+ - layer_wmts
678
+ - layer_cog
679
+ - name: thumbnail
680
+ type: url
681
+ description: >
682
+ The icon visible in the background selector.
683
+ relevant_for:
684
+ - layer_wms
685
+ - layer_wmts
686
+ - layer_cog
687
+ - name: timeAttribute
688
+ description: >
689
+ The name of the time attribute. For WMS(-T) layers.
690
+ relevant_for:
691
+ - layer_wms
692
+ - name: geotablePrimaryKey
693
+ description: >
694
+ The name of the primary key field for edition.
695
+ relevant_for:
696
+ - layer_wms
697
+ - name: lastUpdateDateColumn
698
+ description: >
699
+ Define a column which will be automatically filled with the date of the last edit.
700
+ relevant_for:
701
+ - layer_wms
702
+ - name: lastUpdateUserColumn
703
+ description: >
704
+ Define a column which will be automatically filled with the user of the last edit.
705
+ relevant_for:
706
+ - layer_wms
707
+ - name: snappingConfig
708
+ type: json
709
+ description: >
710
+ The snapping configuration for the layer. If set, even if empty, the layer is considered to be
711
+ "snappable" and snapping is activated by default. To disable snapping by default, set "activated"
712
+ to false. Example value: {"tolerance": 50, "edge": false}.
713
+ relevant_for:
714
+ - layer_wms
715
+ - name: geometryValidation
716
+ type: boolean
717
+ description: >
718
+ Force validation of the geometries according to the layer type (point, line, polygon),
719
+ for example, to prevent creation of a 2-point polygon.
720
+ relevant_for:
721
+ - layer_wms
722
+ - name: customOpenLayersOptions
723
+ type: json
724
+ description: >
725
+ The custom OpenLayers WMS layer options.
726
+ relevant_for:
727
+ - layer_wms
728
+ - layer_wmts
729
+ - layer_cog
730
+ - name: editingAttributesOrder
731
+ type: list
732
+ description: >
733
+ Specify the order of the editable attributes in the edit interface.
734
+ relevant_for:
735
+ - layer_wms
736
+ - name: editingEnumerations
737
+ type: json
738
+ description: >
739
+ Specify the value column and the order column on the relationship's target table of the
740
+ enumeration.
741
+ relevant_for:
742
+ - layer_wms
743
+ - name: readonlyAttributes
744
+ type: list
745
+ description: >
746
+ Set attributes as read only in the Editing form.
747
+ relevant_for:
748
+ - layer_wms
749
+ - name: queryIconPosition
750
+ type: list
751
+ description: >
752
+ Values to define the shape (bbox) to use to query the layer. The values are used like a
753
+ padding in css with 1, 2, 3 or 4 comma separated values: all / top-bottom, left-right /
754
+ top, right-left, bottom / top, right, bottom, left.
755
+ relevant_for:
756
+ - layer_wms
757
+ - layer_wmts
758
+ - layer_cog
759
+ - name: editingSelectionAttribute
760
+ description: >
761
+ The field used in the selector tooltip to name the layer when multiple ones are selected on the map.
762
+ relevant_for:
763
+ - layer_wms
764
+ # WMS
765
+ - name: directedFilterAttributes
766
+ type: list
767
+ description: >
768
+ List of attribute names which should have rules already ready when using the filter
769
+ tools.
770
+ relevant_for:
771
+ - layer_wms
772
+ - name: enumeratedAttributes
773
+ type: list
774
+ description: >
775
+ List of attribute names which have enumerated attribute values (for filters purpose).
776
+ relevant_for:
777
+ - layer_wms
778
+ - name: protectedAttributes
779
+ type: list
780
+ description: >
781
+ For QGIS server: List of attribute names that's protected, to be used with the `allowed_attributes` functionality.
782
+ relevant_for:
783
+ - layer_wms
784
+ # WMTS layers
785
+ - name: ogcServer
786
+ description: >
787
+ The corresponding OGC server for a WMTS layer.
788
+ relevant_for:
789
+ - layer_wmts
790
+ - layer_cog
791
+ - name: wmsLayers
792
+ description: >
793
+ Corresponding WMS/WFS layers (comma separated) that will be used instead of the WMTS layer
794
+ to do the query and for the print.
795
+ An OGCServer metadata must be set with the name of the OGC server.
796
+ See also printLayers and queryLayers metadata for more granularity.
797
+ relevant_for:
798
+ - layer_wmts
799
+ - layer_cog
800
+ - name: queryLayers
801
+ description: >
802
+ Corresponding WFS layers (comma separated) that will be used instead of the WMTS layer
803
+ to do the query.
804
+ An OGCServer metadata must be set with the name of the OGC server.
805
+ relevant_for:
806
+ - layer_wmts
807
+ - layer_cog
808
+ - name: printLayers
809
+ description: >
810
+ Corresponding WMS layers (comma separated) that will be used instead of the WMTS layer
811
+ for the print.
812
+ Used to increase the quality of the printed layer, by using native rotation and
813
+ generating an image in hi-DPI.
814
+ An OGCServer metadata must be set with the name of the OGC server.
815
+ relevant_for:
816
+ - layer_wmts
817
+ - layer_cog
818
+ - name: maxQueryResolution
819
+ type: float
820
+ description: >
821
+ The max resolution where the layer is queryable.
822
+ relevant_for:
823
+ - layer_wmts
824
+ - layer_cog
825
+ - name: minQueryResolution
826
+ type: float
827
+ description: >
828
+ The min resolution where the layer is queryable.
829
+ relevant_for:
830
+ - layer_wmts
831
+ - layer_cog
832
+ - name: timeout
833
+ type: float
834
+ description: The fetch capabilities timeout in seconds. Use `300` by default.
835
+ relevant_for:
836
+ - layer_wmts
837
+
838
+ # The list of functionalities that can be configured
839
+ # through the admin interface.
840
+ available_functionalities:
841
+ - name: default_basemap
842
+ single: true
843
+ description: >
844
+ The background layer to load when the user select this theme.
845
+ relevant_for:
846
+ - theme
847
+ - name: default_theme
848
+ single: true
849
+ description: >
850
+ The theme to load when the user log in.
851
+ relevant_for:
852
+ - role
853
+ - name: print_template
854
+ description: >
855
+ Grant access to considered print template.
856
+ relevant_for:
857
+ - role
858
+ - name: mapserver_substitution
859
+ relevant_for:
860
+ - role
861
+ description: >
862
+ MapServer substitution of a variable in the mapfile.
863
+ See the documentation here:
864
+ https://camptocamp.github.io/c2cgeoportal/{{cookiecutter.geomapfish_main_version}}/administrator/mapfile.html?highlight=mapserver_substitution#variable-substitution
865
+ - name: filterable_layers
866
+ description: >
867
+ Grant access for filtering considered layer.
868
+ relevant_for:
869
+ - role
870
+ - name: preset_layer_filter
871
+ single: true
872
+ description: >
873
+ Name of the layer (data source) to select in the filter tool upon loading an application.
874
+ relevant_for:
875
+ - role
876
+ - name: open_panel
877
+ single: true
878
+ description: >
879
+ Name of a panel to open upon loading an application.
880
+ relevant_for:
881
+ - role
882
+ - name: allowed_attributes
883
+ description: >
884
+ For QGIS server: List of protected attribute names that we can access, to be used with the `protectedAttributes` metadata.
885
+
886
+ Syntax: <WMS layer name>:<attribute name>,<attribute name>,...
887
+ relevant_for:
888
+ - role
889
+
890
+ getitfixed:
891
+ enabled: false
892
+
893
+ functionalities:
894
+ # Functionalities that are made available to Mako templates and loginuser.
895
+ available_in_templates:
896
+ - default_basemap
897
+ - default_theme
898
+ - filterable_layers
899
+ - print_template
900
+ - preset_layer_filter
901
+ - open_panel
902
+
903
+ urllogin: {}
904
+
905
+ http_options:
906
+ timeout: 300
907
+
908
+ tinyowsproxy:
909
+ # URL to internal TinyOWS instance
910
+ tinyows_url: '{TINYOWS_URL}'
911
+ ogc_server: '{main_ogc_server}'
912
+
913
+ # If the `online_resource` url in the TinyOWS configuration is not set
914
+ # to the TinyOWS proxy url (e.g. when the service is also used without
915
+ # the proxy), the proxy can replace the original `online_resource`
916
+ # url with the proxy url.
917
+ # proxy_online_resource: {VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}tinyows_proxy
918
+ # online_resource: http://localhost{VISIBLE_ENTRY_POINT}tinyows
919
+ #
920
+ # When running a c2cgeoportal appl. in debug mode (with `make serve`)
921
+ # the host has to be set explicitly in a vhost environment.
922
+ # tinyows_host: {VISIBLE_WEB_HOST}
923
+
924
+ api:
925
+ ogc_server: '{main_ogc_server}'
926
+
927
+ resourceproxy:
928
+ # List of urls from which it is safe to load content
929
+ targets: {}
930
+ # exempletargetname: https://www.camptocamp.com/?param1=%s&param2=%s
931
+
932
+ # List of allowed headers
933
+ allowed_headers:
934
+ - Cache-Control
935
+ - Content-Encoding
936
+ - Content-Language
937
+ - Content-Type
938
+ - Date
939
+ - ETag
940
+ - Vary
941
+
942
+ fulltextsearch:
943
+ defaultlimit: 30
944
+ maxlimit: 200
945
+ languages:
946
+ fr: french
947
+ en: english
948
+ de: german
949
+
950
+ servers:
951
+ internal: http://localhost/
952
+ local: '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}'
953
+ mapserver: '{MAPSERVER_URL}'
954
+ qgisserver: '{QGISSERVER_URL}'
955
+
956
+ host_forward_host: []
957
+ headers_whitelist: []
958
+ headers_blacklist: []
959
+
960
+ # The "raster web services" configuration. See the "raster"
961
+ # chapter in the integrator documentation.
962
+ raster: {}
963
+
964
+ # the "vector tiles service" configuration. See the "vector tiles"
965
+ # chapter in the integrator documentation.
966
+ vector_tiles: {}
967
+
968
+ # Used by enumeration in the query builder
969
+ layers:
970
+ geometry_validation: True
971
+
972
+ # Used by reset_password and shortener to send emails
973
+ smtp:
974
+ ssl: false
975
+ starttls: false
976
+
977
+ # Used to send an email on password reset
978
+ reset_password: {}
979
+
980
+ # The shortener base configuration
981
+ shortener:
982
+ # The base of created URL
983
+ base_url: '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}{VISIBLE_ENTRY_POINT}s/'
984
+ length: 4
985
+
986
+ # Define whether the MapServer proxy should hide the OGC capabilities.
987
+ hide_capabilities: false
988
+
989
+ # For print proxy
990
+ print_url: '{PRINT_URL}'
991
+ print_get_redirect: false # if true, redirects (302) directly to the print to fetch the report
992
+
993
+ devserver_url: http://{DEVSERVER_HOST}{VISIBLE_ENTRY_POINT}
994
+
995
+ pdfreport:
996
+ print_url: '{PRINT_URL}'
997
+
998
+ lingva_extractor: {}
999
+
1000
+ content_security_policy_main_default_src_extra: ''
1001
+ # Google Maps uses map.google.com and map.googleapis.com
1002
+ # More info: https://developers.google.com/maps/documentation/javascript/content-security-policy?hl=fr#allowlist_csp
1003
+ # Google Analytics 4 uses googletagmanager.com
1004
+ # More info: https://developers.google.com/tag-platform/tag-manager/csp?hl=fr#google_analytics_4_google_analytics
1005
+ content_security_policy_main_script_src_extra: '
1006
+ https://*.google.com/
1007
+ https://*.googleapis.com/
1008
+ https://*.googletagmanager.com/'
1009
+ content_security_policy_main_style_src_extra: '
1010
+ https://fonts.googleapis.com/'
1011
+ content_security_policy_main_img_src_extra: '
1012
+ https://*.google-analytics.com/
1013
+ https://*.googletagmanager.com/'
1014
+ content_security_policy_main_connect_src_extra: '
1015
+ https://*.google-analytics.com/
1016
+ https://*.analytics.google.com/
1017
+ https://*.googletagmanager.com/'
1018
+ content_security_policy_main_default_src: "
1019
+ 'self'
1020
+ https://*
1021
+ {content_security_policy_main_default_src_extra}"
1022
+ content_security_policy_main_script_src: "
1023
+ 'self'
1024
+ 'unsafe-inline'
1025
+ {content_security_policy_main_script_src_extra}"
1026
+ content_security_policy_main_style_src: "
1027
+ 'self'
1028
+ 'unsafe-inline'
1029
+ {content_security_policy_main_style_src_extra}"
1030
+ content_security_policy_main_img_src: '
1031
+ *
1032
+ data:
1033
+ {content_security_policy_main_img_src_extra}'
1034
+ content_security_policy_main_connect_src: '
1035
+ *
1036
+ {content_security_policy_main_connect_src_extra}'
1037
+
1038
+ content_security_policy_admin_default_src_extra: ''
1039
+ content_security_policy_admin_script_src_extra: ''
1040
+ content_security_policy_admin_style_src_extra: ''
1041
+ content_security_policy_admin_img_src_extra: ''
1042
+ content_security_policy_admin_worker_src_extra: ''
1043
+ content_security_policy_admin_default_src: "
1044
+ 'self'
1045
+ {content_security_policy_admin_default_src_extra}"
1046
+ content_security_policy_admin_script_src: "
1047
+ 'self'
1048
+ 'unsafe-inline'
1049
+ {content_security_policy_admin_script_src_extra}"
1050
+ content_security_policy_admin_style_src: "
1051
+ 'self'
1052
+ 'unsafe-inline'
1053
+ https://cdnjs.cloudflare.com/
1054
+ {content_security_policy_admin_style_src_extra}"
1055
+ content_security_policy_admin_img_src: '
1056
+ *
1057
+ data:
1058
+ {content_security_policy_admin_img_src_extra}'
1059
+ content_security_policy_admin_worker_src: "
1060
+ 'self'
1061
+ blob:
1062
+ {content_security_policy_admin_worker_src_extra}"
1063
+
1064
+ content_security_policy_apihelp_default_src_extra: ''
1065
+ content_security_policy_apihelp_script_src_extra: ''
1066
+ content_security_policy_apihelp_style_src_extra: ''
1067
+ content_security_policy_apihelp_img_src_extra: ''
1068
+ content_security_policy_apihelp_connect_src_extra: ''
1069
+ content_security_policy_apihelp_default_src: "
1070
+ 'self'
1071
+ https://*
1072
+ {content_security_policy_apihelp_default_src_extra}"
1073
+ content_security_policy_apihelp_script_src: "
1074
+ 'self'
1075
+ 'unsafe-inline'
1076
+ 'unsafe-eval'
1077
+ {content_security_policy_apihelp_script_src_extra}"
1078
+ content_security_policy_apihelp_style_src: "
1079
+ 'self'
1080
+ 'unsafe-inline'
1081
+ https://cdnjs.cloudflare.com/
1082
+ {content_security_policy_apihelp_style_src_extra}"
1083
+ content_security_policy_apihelp_img_src: '
1084
+ *
1085
+ data:
1086
+ {content_security_policy_apihelp_img_src_extra}'
1087
+ content_security_policy_apihelp_connect_src: '
1088
+ *
1089
+ {content_security_policy_apihelp_connect_src_extra}'
1090
+
1091
+ content_security_policy_c2c_default_src_extra: ''
1092
+ content_security_policy_c2c_script_src_extra: ''
1093
+ content_security_policy_c2c_style_src_extra: ''
1094
+ content_security_policy_c2c_default_src: "
1095
+ 'self'
1096
+ {content_security_policy_c2c_default_src_extra}"
1097
+ content_security_policy_c2c_script_src: "
1098
+ 'unsafe-inline'
1099
+ {content_security_policy_c2c_script_src_extra}"
1100
+ content_security_policy_c2c_style_src: "
1101
+ 'unsafe-inline'
1102
+ https://cdnjs.cloudflare.com/
1103
+ {content_security_policy_c2c_style_src_extra}"
1104
+
1105
+ content_security_policy_iframe_api_frame_ancestors: "'self'"
1106
+
1107
+ global_headers:
1108
+ - pattern: '^/admin/.*'
1109
+ headers: &c2cgeoform_headers
1110
+ X-Frame-Options: SAMEORIGIN
1111
+ X-Xss-Protection: 1; mode=block
1112
+ X-Content-Type-Options: nosniff
1113
+ Referrer-Policy: same-origin
1114
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
1115
+ Content-Security-Policy: 'default-src {content_security_policy_admin_default_src};
1116
+ script-src {content_security_policy_admin_script_src};
1117
+ style-src {content_security_policy_admin_style_src};
1118
+ img-src {content_security_policy_admin_img_src};
1119
+ worker-src {content_security_policy_admin_worker_src}'
1120
+ - pattern: '^/getitfixed.*'
1121
+ headers: *c2cgeoform_headers
1122
+ - pattern: '^/static/.*'
1123
+ headers:
1124
+ Access-Control-Allow-Origin: '*'
1125
+ Access-Control-Allow-Headers: X-Requested-With, Content-Type
1126
+ - pattern: '^/static-ngeo/.*'
1127
+ headers:
1128
+ Access-Control-Allow-Origin: '*'
1129
+ Access-Control-Allow-Headers: X-Requested-With, Content-Type
1130
+ - pattern: '^/static-geomapfish/.*'
1131
+ headers:
1132
+ Access-Control-Allow-Origin: '*'
1133
+ Access-Control-Allow-Headers: X-Requested-With, Content-Type
1134
+ - pattern: '^/c2c$'
1135
+ headers: &c2c_headers
1136
+ Content-Security-Policy: 'default-src {content_security_policy_c2c_default_src};
1137
+ script-src {content_security_policy_c2c_script_src};
1138
+ style-src {content_security_policy_c2c_style_src};'
1139
+ - pattern: '^/c2c/.*'
1140
+ headers: *c2c_headers
1141
+ - pattern: '^/iframe_api(/theme/.*)?$'
1142
+ headers:
1143
+ Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
1144
+ script-src {content_security_policy_main_script_src};
1145
+ style-src {content_security_policy_main_style_src};
1146
+ img-src {content_security_policy_main_img_src};
1147
+ connect-src {content_security_policy_main_connect_src};
1148
+ frame-ancestors {content_security_policy_iframe_api_frame_ancestors};'
1149
+
1150
+ # Control the HTTP headers
1151
+ headers:
1152
+ dynamic: &header
1153
+ cache_control_max_age: 600 # 10 minutes
1154
+ cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
1155
+ access_control_max_age: 600 # 10 minutes
1156
+ access_control_allow_origin:
1157
+ - '*'
1158
+ index:
1159
+ <<: *header
1160
+ headers: &sec_headers
1161
+ X-Frame-Options: SAMEORIGIN
1162
+ X-Xss-Protection: 1; mode=block
1163
+ X-Content-Type-Options: nosniff
1164
+ Referrer-Policy: origin
1165
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
1166
+ Content-Security-Policy: 'default-src {content_security_policy_main_default_src};
1167
+ script-src {content_security_policy_main_script_src};
1168
+ style-src {content_security_policy_main_style_src};
1169
+ img-src {content_security_policy_main_img_src};
1170
+ connect-src {content_security_policy_main_connect_src}'
1171
+ api: *header
1172
+ apihelp:
1173
+ <<: *header
1174
+ headers:
1175
+ <<: *sec_headers
1176
+ Content-Security-Policy: 'default-src {content_security_policy_apihelp_default_src};
1177
+ script-src {content_security_policy_apihelp_script_src};
1178
+ style-src {content_security_policy_apihelp_style_src};
1179
+ img-src {content_security_policy_apihelp_img_src};
1180
+ connect-src {content_security_policy_apihelp_connect_src}'
1181
+ profile: *header
1182
+ raster: *header
1183
+ vector_tiles: *header
1184
+ error: *header
1185
+ themes: &auth_header
1186
+ cache_control_max_age: 600 # 10 minutes
1187
+ cache_control_max_age_nocache: 10 # 10 seconds, to avoid too many call
1188
+ access_control_max_age: 600 # 10 minutes
1189
+ access_control_allow_origin:
1190
+ - '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
1191
+ - '*'
1192
+ headers:
1193
+ Strict-Transport-Security: max-age=31536000; includeSubDomains
1194
+ config: *auth_header
1195
+ print: *auth_header
1196
+ fulltextsearch: *auth_header
1197
+ mapserver: *auth_header
1198
+ tinyows: *auth_header
1199
+ layers:
1200
+ <<: *auth_header
1201
+ cache_control_max_age_nocache: 0 # to refresh issue in editing
1202
+ shortener: *auth_header
1203
+ login:
1204
+ <<: *auth_header
1205
+ access_control_allow_origin:
1206
+ - '{VISIBLE_WEB_PROTOCOL}://{VISIBLE_WEB_HOST}'
1207
+
1208
+ # Checker configuration
1209
+ checker_ogc_server: source for image/png
1210
+ checker:
1211
+ forward_host: False
1212
+ base_internal_url: http://localhost:8080
1213
+ fulltextsearch:
1214
+ disable: False
1215
+ level: 3
1216
+ search: text to search
1217
+ lang:
1218
+ level: 3
1219
+ files: [ngeo]
1220
+ phantomjs:
1221
+ disable: []
1222
+ routes:
1223
+ - name: desktop
1224
+ params:
1225
+ no_redirect: 'true'
1226
+ environment: &phantomjs-env
1227
+ HTTP_MAP:
1228
+ https://localhost:8484/tiles/: http://localhost:8080/tiles/
1229
+ level: 6
1230
+ - name: mobile
1231
+ params:
1232
+ no_redirect: 'true'
1233
+ environment: *phantomjs-env
1234
+ level: 6
1235
+ - name: iframe_api
1236
+ params:
1237
+ no_redirect: 'true'
1238
+ environment: *phantomjs-env
1239
+ level: 6
1240
+ - name: apihelp
1241
+ environment: *phantomjs-env
1242
+ level: 6
1243
+ routes:
1244
+ disable: []
1245
+ routes:
1246
+ - name: apijs
1247
+ level: 3
1248
+ params:
1249
+ version: '2'
1250
+ - name: printproxy_capabilities
1251
+ level: 3
1252
+ - name: mapserverproxy
1253
+ checker_name: mapserverproxy_wms
1254
+ params:
1255
+ SERVICE: WMS
1256
+ VERSION: 1.1.1
1257
+ REQUEST: GetCapabilities
1258
+ ogcserver: '{checker_ogc_server}'
1259
+ level: 3
1260
+ - name: mapserverproxy
1261
+ checker_name: mapserverproxy_wfs
1262
+ params:
1263
+ SERVICE: WFS
1264
+ VERSION: 1.1.0
1265
+ REQUEST: GetCapabilities
1266
+ ogcserver: '{checker_ogc_server}'
1267
+ level: 3
1268
+ themes:
1269
+ params:
1270
+ version: '2'
1271
+ level: 4
1272
+ interfaces: {}
1273
+ print:
1274
+ level: 5
1275
+
1276
+ # Check collector configuration
1277
+ check_collector:
1278
+ hosts:
1279
+ - display: Main
1280
+ url: 'http://localhost:8080{VISIBLE_ENTRY_POINT}'
1281
+ max_level: 3
1282
+ level: 10
1283
+
1284
+ # What web page is authorized to use the API
1285
+ authorized_referers: []
1286
+
1287
+ metrics:
1288
+ memory_maps_rss: False
1289
+ memory_maps_size: False
1290
+ memory_cache: True
1291
+ memory_cache_all: False
1292
+ raster_data: False
1293
+ total_python_object_memory: True
1294
+
1295
+ # Hooks that can be called at different moments in the life of the
1296
+ # application. The value is the full python name
1297
+ # (full.module.path.function_name) of the function to call
1298
+ hooks: {}
1299
+ # after_settings: {{cookiecutter.package}}.after_settings_hook
1300
+ # Called just after the settings have been loaded. Allows to modify
1301
+ # the settings at runtime (they are constructed at build time).
1302
+ # The function receives one parameter: the settings object.
1303
+
1304
+ # Statistics are disabled by default
1305
+ stats: {}
1306
+
1307
+ # The c2cwsgiutils base path
1308
+ c2c:
1309
+ base_path: /c2c
1310
+
1311
+ db_chooser:
1312
+ # List of {method path} regexes to force the usage of the master, even for GET and OPTIONS
1313
+ # This supersedes the slave list.
1314
+ master:
1315
+ - GET {VISIBLE_ENTRY_POINT}s/.* # The shortener updates the last_hit column on GET
1316
+ - GET {VISIBLE_ENTRY_POINT}oauth/login # The oauth2 login when we are already logged
1317
+ # List of {method path} regexes to force the usage of the slave
1318
+ slave:
1319
+ - \w+ {VISIBLE_ENTRY_POINT}printproxy/.* # The print proxy is never writing to the DB
1320
+
1321
+ runtime_environment:
1322
+ - name: VISIBLE_WEB_HOST
1323
+ default: localhost
1324
+ - name: VISIBLE_WEB_PROTOCOL
1325
+ default: https
1326
+ - name: VISIBLE_ENTRY_POINT
1327
+ default: /
1328
+ - PGHOST
1329
+ - PGHOST_SLAVE
1330
+ - name: PGPORT
1331
+ default: '5432'
1332
+ - name: PGPORT_SLAVE
1333
+ default: '5432'
1334
+ - PGUSER
1335
+ - PGPASSWORD
1336
+ - name: PGDATABASE
1337
+ default: geomapfish
1338
+ - name: PGSSLMODE
1339
+ default: prefer
1340
+ - name: PGSCHEMA
1341
+ default: main
1342
+ - name: PGSCHEMA_STATIC
1343
+ default: main_static
1344
+ - name: SQLALCHEMY_POOL_RECYCLE
1345
+ default: '30'
1346
+ - name: SQLALCHEMY_POOL_SIZE
1347
+ default: '5'
1348
+ - name: SQLALCHEMY_MAX_OVERFLOW
1349
+ default: '25'
1350
+ - name: SQLALCHEMY_SLAVE_POOL_RECYCLE
1351
+ default: '30'
1352
+ - name: SQLALCHEMY_SLAVE_POOL_SIZE
1353
+ default: '5'
1354
+ - name: SQLALCHEMY_SLAVE_MAX_OVERFLOW
1355
+ default: '25'
1356
+ - name: TINYOWS_URL
1357
+ default: http://tinyows:8080/
1358
+ - name: MAPSERVER_URL
1359
+ default: http://mapserver:8080/
1360
+ - name: QGISSERVER_URL
1361
+ default: http://qgisserver:8080/
1362
+ - name: PRINT_URL
1363
+ default: http://print:8080/print/
1364
+ - name: DEVSERVER_HOST
1365
+ default: webpack-dev-server:8080
1366
+ - name: REDIS_HOST
1367
+ default: redis
1368
+ - name: REDIS_PORT
1369
+ default: '6372'
1370
+ - name: REDIS_DB
1371
+ default: '0'
1372
+ - name: REDIS_SERVICENAME
1373
+ default: 'mymaster'
1374
+ - name: REDIS_TIMEOUT
1375
+ default: '30'
1376
+ - name: REDIS_LOCK_TIMEOUT
1377
+ default: '120' # Two minutes
1378
+ - name: REDIS_PASSWORD
1379
+ default: ''
1380
+ - name: REDIS_SSL
1381
+ default: 'false'
1382
+ - name: REDIS_EXPIRATION_TIME
1383
+ default: '86400' # One day
1384
+ - name: TILEGENERATION_SQS_QUEUE
1385
+ default: queue_name
1386
+ - name: TILEGENERATION_S3_BUCKET
1387
+ default: bucket_name
1388
+ - name: SENTRY_URL
1389
+ default: ''
1390
+ - name: SENTRY_CLIENT_RELEASE
1391
+ default: ''
1392
+ - name: SENTRY_CLIENT_ENVIRONMENT
1393
+ default: ''
1394
+ - name: OPENID_CONNECT_ENABLED
1395
+ default: 'false'
1396
+
1397
+ runtime_postprocess:
1398
+ - expression: int({})
1399
+ vars:
1400
+ - cache.std.arguments.lock_timeout
1401
+ - cache.std.arguments.redis_expiration_time
1402
+ - cache.std.arguments.socket_timeout
1403
+ - cache.std.arguments.db
1404
+ - cache.ogc-server.arguments.lock_timeout
1405
+ - cache.ogc-server.arguments.redis_expiration_time
1406
+ - cache.ogc-server.arguments.socket_timeout
1407
+ - cache.ogc-server.arguments.db
1408
+ - sqlalchemy\.pool_recycle
1409
+ - sqlalchemy\.pool_size
1410
+ - sqlalchemy\.max_overflow
1411
+ - sqlalchemy_slave\.pool_recycle
1412
+ - sqlalchemy_slave\.pool_size
1413
+ - sqlalchemy_slave\.max_overflow
1414
+ - authentication.max_consecutive_failures
1415
+ - authentication.oauth2_authorization_expire_minutes
1416
+ - authentication.oauth2_token_expire_minutes
1417
+ - headers.login.access_control_max_age
1418
+ - headers.login.cache_control_max_age
1419
+ - headers.login.cache_control_max_age_nocache
1420
+ - headers.index.access_control_max_age
1421
+ - headers.index.cache_control_max_age
1422
+ - headers.index.cache_control_max_age_nocache
1423
+ - headers.dynamic.access_control_max_age
1424
+ - headers.dynamic.cache_control_max_age
1425
+ - headers.dynamic.cache_control_max_age_nocache
1426
+ - headers.config.access_control_max_age
1427
+ - headers.config.cache_control_max_age
1428
+ - headers.config.cache_control_max_age_nocache
1429
+ - headers.api.access_control_max_age
1430
+ - headers.api.cache_control_max_age
1431
+ - headers.api.cache_control_max_age_nocache
1432
+ - headers.apihelp.access_control_max_age
1433
+ - headers.apihelp.cache_control_max_age
1434
+ - headers.apihelp.cache_control_max_age_nocache
1435
+ - headers.themes.access_control_max_age
1436
+ - headers.themes.cache_control_max_age
1437
+ - headers.themes.cache_control_max_age_nocache
1438
+ - headers.fulltextsearch.access_control_max_age
1439
+ - headers.fulltextsearch.cache_control_max_age
1440
+ - headers.fulltextsearch.cache_control_max_age_nocache
1441
+ - headers.mapserver.access_control_max_age
1442
+ - headers.mapserver.cache_control_max_age
1443
+ - headers.mapserver.cache_control_max_age_nocache
1444
+ - headers.tinyows.access_control_max_age
1445
+ - headers.tinyows.cache_control_max_age
1446
+ - headers.tinyows.cache_control_max_age_nocache
1447
+ - headers.layers.access_control_max_age
1448
+ - headers.layers.cache_control_max_age
1449
+ - headers.layers.cache_control_max_age_nocache
1450
+ - headers.print.access_control_max_age
1451
+ - headers.print.cache_control_max_age
1452
+ - headers.print.cache_control_max_age_nocache
1453
+ - headers.profile.access_control_max_age
1454
+ - headers.profile.cache_control_max_age
1455
+ - headers.profile.cache_control_max_age_nocache
1456
+ - headers.raster.access_control_max_age
1457
+ - headers.raster.cache_control_max_age
1458
+ - headers.raster.cache_control_max_age_nocache
1459
+ - headers.shortener.access_control_max_age
1460
+ - headers.shortener.cache_control_max_age
1461
+ - headers.shortener.cache_control_max_age_nocache
1462
+ - headers.error.access_control_max_age
1463
+ - headers.error.cache_control_max_age
1464
+ - headers.error.cache_control_max_age_nocache
1465
+ - shortener.length
1466
+ - checker.fulltextsearch.level
1467
+ - checker.lang.level
1468
+ - checker.print.level
1469
+ - checker.themes.level
1470
+ - check_collector.max_level
1471
+ - check_collector.level
1472
+
1473
+ - expression: str({}).lower() in ("true", "yes", "1")
1474
+ vars:
1475
+ - authentication.two_factor
1476
+ - authentication.openid_connect.enabled
1477
+ - getitfixed.enabled
1478
+ - layers.geometry_validation
1479
+ - smtp.ssl
1480
+ - smtp.starttls
1481
+ - hide_capabilities
1482
+ - checker.forward_host
1483
+ - checker.fulltextsearch.disable
1484
+ - metrics.memory_maps_rss
1485
+ - metrics.memory_maps_size
1486
+ - metrics.memory_cache
1487
+ - metrics.memory_cache_all
1488
+ - metrics.raster_data
1489
+ - metrics.total_python_object_memory
1490
+
1491
+ no_interpreted:
1492
+ - admin_interface.available_functionalities[].description
1493
+ - admin_interface.available_metadata[].description
1494
+ - interfaces_config.default.static.angularLocaleScript.append
1495
+ - interfaces_config.default.constants.gmfMousePositionOptions.projections[].filter
1496
+ - interfaces_config.default.constants.gmfMobileMeasurePointOptions.format
1497
+ - interfaces_config.default.constants.ngeoStringToHtmlReplacements[].expression
1498
+ - interfaces_config.mobile.constants.gmfMousePositionOptions.projections[].filter
1499
+ - interfaces_config.mobile.constants.gmfMobileMeasurePointOptions.format
1500
+ - interfaces_config.mobile.constants.ngeoStringToHtmlReplacements[].expression
1501
+ - interfaces_config.desktop.constants.gmfMousePositionOptions.projections[].filter
1502
+ - interfaces_config.desktop.constants.gmfMobileMeasurePointOptions.format
1503
+ - interfaces_config.desktop.constants.ngeoStringToHtmlReplacements[].expression