- name: Install gdal-bin apt: pkg=gdal-bin install-recommends=true - name: Install unzip apt: pkg=unzip - name: Install python dependencies apt: pkg={{ packages }} vars: packages: - python3 - python3-brotli - python3-gdal - python3-requests - python3-systemd - python3-tqdm - python3-urllib3 - python3-xdg - python3-yaml - name: Create directory /etc/geodata file: path=/etc/geodata state=directory owner=root group=root mode=0755 - name: Copy /etc/geodata/config.yml copy: src=webmap-tools/config.yml dest=/etc/geodata/config.yml owner=root group=root mode=0644 - name: Create directory /usr/local/share/geodata file: path=/usr/local/share/geodata state=directory owner=root group=root mode=0755 - name: Copy /usr/local/share/geodata/*.py modules copy: src=webmap-tools/{{ item }} dest=/usr/local/share/geodata/{{ item }} owner=root group=root mode=0644 with_items: # TODO these should be compiled - common.py - common_gdal.py - import_source.py - export_mvt.py - export_raster.py - rename_exchange.py - name: Copy geodata-update@.target copy: src=etc/systemd/system/geodata-update@.target dest=/etc/systemd/system/geodata-update@.target owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Copy geodata-update@.timer copy: src=etc/systemd/system/geodata-update@.timer dest=/etc/systemd/system/geodata-update@.timer owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Create directory /etc/systemd/system/geodata-update@*.timer.d file: path=/etc/systemd/system/geodata-update@{{ item }}.timer.d state=directory owner=root group=root mode=0755 with_items: "{{ geodata_layer_groups_update_calendar.keys() | list }}" - name: Copy /etc/systemd/system/geodata-update@*.timer.d/override.conf template: src=etc/systemd/system/geodata-update@.timer.d/override.conf.j2 dest=/etc/systemd/system/geodata-update@{{ item }}.timer.d/override.conf owner=root group=root mode=0644 with_items: "{{ geodata_layer_groups_update_calendar.keys() | list }}" notify: - systemctl daemon-reload - name: Enable geodata-update.timer service: name=geodata-update@{{ item }}.timer state=started enabled=true with_items: "{{ geodata_layer_groups | union(geodata_raster) }}" - meta: flush_handlers - name: Create system group '_geodata' group: name=_geodata system=true state=present - name: Create system user '_geodata-download' user: name=_geodata-download system=true group=_geodata createhome=false home=/nonexistent shell=/usr/sbin/nologin comment="geodata update (download)" password="!" state=present - name: Copy /usr/local/share/geodata/download.py copy: src=webmap-tools/geodata-download dest=/usr/local/share/geodata/download.py owner=root group=root mode=0755 - name: Create /usr/local/bin/geodata-download file: src=../share/geodata/download.py dest=/usr/local/bin/geodata-download owner=root group=root state=link force=yes - name: Create directory /var/cache/geodata file: path=/var/cache/geodata state=directory owner=_geodata-download group=root mode=0755 - name: Create directory /var/cache/geodata/custom file: path=/var/cache/geodata/custom state=directory owner=root group=root mode=0755 - name: Copy custom layers into /var/cache/geodata/custom copy: src=webmap-tools/layers/custom/ dest=/var/cache/geodata/custom/ owner=root group=root mode=0644 directory_mode=0755 - name: Copy geodata-download@.service copy: src=etc/systemd/system/geodata-download@.service dest=/etc/systemd/system/geodata-download@.service owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Enable geodata-download@.service service: name=geodata-download@{{ item }}.service enabled=true with_items: "{{ geodata_layer_groups | union(geodata_raster) | difference(geodata_layer_groups_nodownload) }}" - name: Disable some geodata-download@.service service: name=geodata-download@{{ item }}.service enabled=false with_items: "{{ geodata_layer_groups_nodownload }}" - meta: flush_handlers - name: Copy /etc/tmpfiles.d/geodata.conf copy: src=etc/tmpfiles.d/geodata.conf dest=/etc/tmpfiles.d/geodata.conf owner=root group=root mode=0644 notify: - systemd-tmpfiles --create - meta: flush_handlers - name: Create system user '_geodata' user: name=_geodata system=true group=_geodata createhome=false home=/nonexistent shell=/usr/sbin/nologin comment="geodata update (extract/import)" password="!" state=present - name: Copy /usr/local/share/geodata/import.py copy: src=webmap-tools/geodata-import dest=/usr/local/share/geodata/import.py owner=root group=root mode=0755 - name: Create /usr/local/bin/geodata-import file: src=../share/geodata/import.py dest=/usr/local/bin/geodata-import owner=root group=root state=link force=yes - name: Copy geodata-import@.service copy: src=etc/systemd/system/geodata-import@.service dest=/etc/systemd/system/geodata-import@.service owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Enable geodata-import@.service service: name=geodata-import@{{ item }}.service enabled=true with_items: "{{ geodata_layer_groups }}" - name: Copy geodata-raster@.service copy: src=etc/systemd/system/geodata-raster@.service dest=/etc/systemd/system/geodata-raster@.service owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Enable geodata-raster@.service service: name=geodata-raster@{{ item }}.service enabled=true with_items: "{{ geodata_raster }}"