summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFiles
* nginx: Add a location{} for raster URIs.HEADmasterGuilhem Moulin42 hours1
|
* Adjust webmap layer groups.Guilhem Moulin42 hours2
|
* Download VBK layers between 07:50 and 08:00.Guilhem Moulin6 days3
| | | | | They appear to be broken between 01:53 and 07:41 CEST… Unclear if that'll be off by 1h during winter time.
* nginx: Drop unused location{}.Guilhem Moulin13 days1
|
* webmap-update@.timer: Add ability to adjust calendar events for individual ↵Guilhem Moulin14 days3
| | | | | | | | | template units. Via group variables. For instance mineralrattigheter.zip is updated daily at 04:33 CEST, so we trigger the units after that to avoid being off by a day. (Also that particular unit runs relatively fast and should have terminated by the start of office hours.)
* webmap-cgi: Enable buffer on the reverse proxy (default).Guilhem Moulin14 days2
| | | | | | | We no longer need to stream since we don't serve full features geometries anymore, only their properties. Cf. 0fe67edd568a53abc1d7514b14d1a8a1d2af3e0e in tools.
* Deploy the webmap CGI.Guilhem Moulin2025-05-266
| | | | | We also lower tile expiration time from 8h to 30m to reduce the race condition where the database an the on-disk tiles are not in sync.
* Serve empty error pages as text/plain not application/x-empty.Guilhem Moulin2025-05-242
| | | | | | | | | | | | | | | | | So Firefox and Chromium serve a blank page resp. a generic ”HTTP ERROR 404” page. With application/x-empty Chromium serves the following This site can’t be reached The webpage at https://example.net/… might be temporarily down or it may have moved permanently to a new web address. ERR_INVALID_RESPONSE which can be confusing (even though only OpenLayer should consume those error pages). This reverts commit 1843371641f5b3898893df91094412eaeedc8807.
* community.postgresql: Rename parameters to avoid deprecation warnings.Guilhem Moulin2025-05-221
| | | | | [DEPRECATION WARNING]: Alias 'db' is deprecated. See the module docs for more information. This feature will be removed from collection 'community.postgresql' version 5.0.0. [DEPRECATION WARNING]: Alias 'database' is deprecated. See the module docs for more information. This feature will be removed from collection 'community.postgresql' version 5.0.0.
* HTTPd: Use `Content-Type: application/x-protobuf` for .pbf tiles.Guilhem Moulin2025-05-221
| | | | | | | | application/protobuf and application/vnd.google.protobuf might be valid types too, cf. https://stackoverflow.com/questions/30505408/what-is-the-correct-protobuf-content-type But we use application/x-protobuf since it appears more common. That's what cloudflare lists at least: https://developers.cloudflare.com/speed/optimization/content/compression/
* HTTPd: Use `Content-Type: application/x-empty` for 404 error pages.Guilhem Moulin2025-05-212
| | | | | This matches PHP's finfo_file() behavior for empty files, cf. https://stackoverflow.com/questions/24015038/why-does-php-file-info-return-inode-x-empty-for-empty-text-files
* Rename _webmap-import user to _webmap.Guilhem Moulin2025-05-213
|
* Update webmap task.Guilhem Moulin2025-05-214
|
* webmap-download: Use --lockdir=%t/lock/webmap/cacheGuilhem Moulin2025-05-212
|
* Update submodule commit ID.Guilhem Moulin2025-05-211
|
* Tune PostgreSQL.Guilhem Moulin2024-11-062
| | | | Cf. https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
* Also install libnss-myhostname.Guilhem Moulin2024-11-061
| | | | Cf. nss-myhostname(8).
* Adjust nginx config to serve compressed tiles.Guilhem Moulin2024-10-202
|
* Also import and publish custom layers.Guilhem Moulin2024-10-193
|
* Add layers from Svenska Kraftnät (SvK) and copy custom layers to the ↵Guilhem Moulin2024-10-193
| | | | production machine.
* Add layers for Naturvårdsverkets and Länsstyrelserns Riksintressen.Guilhem Moulin2024-10-182
|
* ansible.cfg: Bump max_diff_size to 512k from 102k.Guilhem Moulin2024-10-171
|
* systemd: Improve description of unit files.Guilhem Moulin2024-09-264
|
* webmap: Copy administrative-codes.json*.Guilhem Moulin2024-09-261
|
* group variables: Rename ‘st’ layer group to ‘ren’.Guilhem Moulin2024-09-262
| | | | Cf. 256b69ea36959f84bde51279e4720f27daf54c4f in the submodule.
* Create an empty /etc/apt/sources.list.Guilhem Moulin2024-09-251
| | | | | Something keeps recreating (without content) it if we delete it, so we leave it instead but ensure it's empty instead.
* Copy webmap-publish.Guilhem Moulin2024-09-259
| | | | | | | | We also replace persistent/shared RuntimeDirectory settings with directories defined as tmpfiles.d(5) entries. This gives more control over access control. We also change static compression from gzip to brotli on the HTTPd.
* Copy webmap-import.Guilhem Moulin2024-09-253
|
* webmap-download: Use a dedicated system group.Guilhem Moulin2024-09-202
| | | | | It will be shared between _webmap-* system users, which will be handy to share lock files.
* Install PostgreSQL and PostGIS.Guilhem Moulin2024-06-123
|
* setup.yml: Add tags.Guilhem Moulin2024-06-121
|
* Install unzip.Guilhem Moulin2024-06-101
|
* tasks/base.yml: Install acl package.Guilhem Moulin2024-06-101
| | | | | This is needed for unprivileged ‘become_user’, cf. https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html#risks-of-becoming-an-unprivileged-user
* tasks/base.yml: Reorder packages.Guilhem Moulin2024-06-101
|
* webmap-update@.timer: Set AccuracySec=1s and reduce RandomizedDelaySec by 1s.Guilhem Moulin2024-06-041
|
* webmap-update@.timer: Reschedule at 1am from 2am.Guilhem Moulin2024-06-041
| | | | | This ensures the unit won't be skipped during DST transition, see `systemd-analyze calendar --iterations=365 "*-*-* 02:00:00"`.
* Add webmap task.Guilhem Moulin2024-06-038
|
* tasks/base.yml: Also install tig(1) and jq(1).Guilhem Moulin2024-06-031
|
* tasks/httpd.yml: Create /etc/nginx/sites-enabled/webmap as a symlink.Guilhem Moulin2024-06-012
|
* Postfix: Use relay-smtps as relayhost transport.Guilhem Moulin2024-02-154
|
* HTTPd: Set vhost karta.klimatanalysnorr.se.Guilhem Moulin2024-02-154
|
* HTTPd: Add security and cache headers.Guilhem Moulin2024-01-311
|
* Install nginx.Guilhem Moulin2024-01-317
|
* tasks/network.yml: Add flush_handlers tasks.Guilhem Moulin2024-01-041
|
* resolved.conf(5): Disable LLMNR.Guilhem Moulin2024-01-041
| | | | Link-Local Multicast Name Resolution is only useful in LANs.
* Fix timezone setting.Guilhem Moulin2024-01-041
| | | | | Use community.general.timezone, cf. https://docs.ansible.com/ansible/latest/collections/community/general/timezone_module.html#ansible-collections-community-general-timezone-module
* Install postfix and configure it as a nullmailer.Guilhem Moulin2024-01-045
|
* Base system.Guilhem Moulin2024-01-0418
|
* Initial commit.Guilhem Moulin2024-01-041