7 changed files with 200 additions and 54 deletions
@ -1,2 +1,38 @@
|
||||
--- |
||||
# defaults file for ansible-role-template |
||||
geoserver_install: True |
||||
geoserver_major_version: '2.10' |
||||
geoserver_minor_version: 5 |
||||
geoserver_app_name: GeoServer |
||||
geoserver_version: '{{ geoserver_major_version }}.{{ geoserver_minor_version }}' |
||||
geoserver_download_url: 'http://sourceforge.net/projects/geoserver/files/GeoServer/{{ geoserver_version }}/geoserver-{{ geoserver_version }}-war.zip' |
||||
|
||||
geoserver_additional_jars: False |
||||
|
||||
geoserver_download_directory: /srv/geoserver |
||||
geoserver_create_data_dir: True |
||||
geoserver_data_directory: /srv/geoserver_data |
||||
geoserver_log_directory: /var/log/geoserver |
||||
geoserver_instance_path: '{{ tomcat_m_instances_base_path }}/{{ tomcat_m_instances_port }}' |
||||
|
||||
geoserver_spatial_install: False |
||||
geoserver_spatial_url: 'http://ares.boundlessgeo.com/geoserver/{{ geoserver_major_version }}.x/community-latest/geoserver-{{ geoserver_major_version }}-SNAPSHOT-spatialite-plugin.zip' |
||||
|
||||
geoserver_spatial_dpkg_requirements: |
||||
- libgeos-c1 |
||||
- libproj0 |
||||
- proj-bin |
||||
- libspatialite5 |
||||
|
||||
geoserver_spatial_db_dir: /srv/geoserver_spatialite/data |
||||
|
||||
geoserver_marlin_renderer: False |
||||
geoserver_marlin_renderer_tag: '0_9_4_3' |
||||
geoserver_marlin_renderer_version: '0.9.4.3' |
||||
geoserver_marlin_jar_name: 'marlin-{{ geoserver_marlin_renderer_version }}-Unsafe.jar' |
||||
geoserver_marlin_java2d_jar_name: 'marlin-{{ geoserver_marlin_renderer_version }}-Unsafe-sun-java2d.jar' |
||||
geoserver_marlin_renderer_github_base: "https://github.com/bourgesl/marlin-renderer/releases/tag/v{{ geoserver_marlin_renderer_tag }}" |
||||
geoserver_marlin_renderer_github_java2d_url: "https://github-production-release-asset-2e65be.s3.amazonaws.com/16202089/ee528f80-35f1-11ea-969e-f87a9c66a2ee?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201126%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201126T132733Z&X-Amz-Expires=300&X-Amz-Signature=e4b6e69f3b23c16387976a747c9838358acb15ba68ddf0e382f8e22bffef1412&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=16202089&response-content-disposition=attachment%3B%20filename%3Dmarlin-0.9.4.3-Unsafe-sun-java2d.jar&response-content-type=application%2Foctet-stream" |
||||
geoserver_marlin_renderer_github_url: "https://github-production-release-asset-2e65be.s3.amazonaws.com/16202089/edb9f900-35f1-11ea-91e8-52082b939e33?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201126%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201126T132427Z&X-Amz-Expires=300&X-Amz-Signature=811102c4311fa0008fb3904f60c383378b5877b06a099bafb1c8919cf5cf0cbd&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=16202089&response-content-disposition=attachment%3B%20filename%3Dmarlin-0.9.4.3-Unsafe.jar&response-content-type=application%2Foctet-stream" |
||||
geoserver_marlin_renderer_java_options: "-Xbootclasspath/a:{{ geoserver_instance_path }}/webapps/geoserver/WEB-INF/lib/marlin*.jar -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine" |
||||
|
||||
# |
@ -1,46 +1,28 @@
|
||||
galaxy_info: |
||||
author: your name |
||||
description: your description |
||||
company: your company (optional) |
||||
author: Andrea Dell'Amico |
||||
description: Systems Architect |
||||
company: ISTI-CNR |
||||
|
||||
# If the issue tracker for your role is not on github, uncomment the |
||||
# next line and provide a value |
||||
issue_tracker_url: https://support.d4science.org/projects/automatic-provisioning/issues |
||||
issue_tracker_url: https://redmine-s2i2s.isti.cnr.it/projects/provisioning |
||||
|
||||
license: EUPL-1.2 |
||||
license: EUPL 1.2+ |
||||
|
||||
min_ansible_version: 2.8 |
||||
|
||||
# If this a Container Enabled role, provide the minimum Ansible Container version. |
||||
# min_ansible_container_version: |
||||
|
||||
# Optionally specify the branch Galaxy will use when accessing the GitHub |
||||
# repo for this role. During role install, if no tags are available, |
||||
# Galaxy will use this branch. During import Galaxy will access files on |
||||
# this branch. If Travis integration is configured, only notifications for this |
||||
# branch will be accepted. Otherwise, in all cases, the repo's default branch |
||||
# (usually master) will be used. |
||||
#github_branch: |
||||
|
||||
# |
||||
# Provide a list of supported platforms, and for each platform a list of versions. |
||||
# If you don't wish to enumerate all versions for a particular platform, use 'all'. |
||||
# To view available platforms and versions (or releases), visit: |
||||
# https://galaxy.ansible.com/api/v1/platforms/ |
||||
# |
||||
platforms: |
||||
- name: Ubuntu |
||||
versions: |
||||
- bionic |
||||
- name: Ubuntu |
||||
versions: |
||||
- bionic |
||||
|
||||
galaxy_tags: |
||||
- geoserver |
||||
|
||||
galaxy_tags: [] |
||||
# List tags for your role here, one per line. A tag is a keyword that describes |
||||
# and categorizes the role. Users find roles by searching for tags. Be sure to |
||||
# remove the '[]' above, if you add tags to this list. |
||||
# |
||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters. |
||||
# Maximum 20 tags per role. |
||||
dependencies: |
||||
- src: git+https://gitea-s2i2s.isti.cnr.it/ISTI-ansible-roles/ansible-role-tomcat-multiple-instances.git |
||||
version: master |
||||
name: tomcat-multiple-instances |
||||
state: latest |
||||
|
||||
dependencies: [] |
||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above, |
||||
# if you add dependencies to this list. |
@ -0,0 +1,25 @@
|
||||
--- |
||||
- block: |
||||
- name: Install the PROJ.4 deb packages required by the Geoserver spatialite extension |
||||
apt: pkg={{ geoserver_spatial_dpkg_requirements }} state=present update_cache=yes cache_valid_time=3600 |
||||
|
||||
- name: Download and unpack the Geoserver spatialite extension |
||||
unarchive: copy=no src={{ geoserver_spatial_url }} dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/ creates={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/spatialite-jdbc-3.7.2-2.4.jar owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
notify: tomcat instances restart |
||||
|
||||
- name: Create the data directory where sqlite will store its files |
||||
file: dest={{ geoserver_spatial_db_dir }} state=directory owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
|
||||
when: geoserver_spatial_install |
||||
tags: [ 'geoserver', 'spatialite' ] |
||||
|
||||
- block: |
||||
- name: Remove the Geoserver spatialite data directory |
||||
file: path={{ item }} state=absent |
||||
with_items: |
||||
- '{{ geoserver_spatial_db_dir }}' |
||||
|
||||
when: not geoserver_spatial_install |
||||
tags: [ 'geoserver', 'spatialite' ] |
@ -0,0 +1,79 @@
|
||||
--- |
||||
- block: |
||||
- name: Create the Geoserver download directory |
||||
file: path={{ geoserver_download_directory }} state=directory |
||||
|
||||
- name: Create the Geoserver webapp directory |
||||
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=directory owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
|
||||
- name: Create the Geoserver data directory |
||||
file: path={{ geoserver_data_directory }} state=directory owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
when: geoserver_create_data_dir |
||||
|
||||
- name: Create the Geoserver log directory |
||||
file: path={{ geoserver_log_directory }} state=directory owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
|
||||
- name: Download the Geoserver file distribution |
||||
get_url: url={{ geoserver_download_url }} dest={{ geoserver_download_directory }} validate_certs=False |
||||
register: geoserver_download |
||||
|
||||
- name: Remove the old geoserver war files |
||||
file: dest={{ geoserver_download_directory }}/{{ item }} state=absent |
||||
with_items: |
||||
- geoserver.war |
||||
- target |
||||
when: geoserver_download is changed |
||||
|
||||
- name: Unpack the Geoserver zip file |
||||
unarchive: copy=no src={{ geoserver_download_directory }}/geoserver-{{ geoserver_version }}-war.zip dest={{ geoserver_download_directory }} creates={{ geoserver_download_directory }}/geoserver.war |
||||
|
||||
- name: Remove the old geoserver instance if it is present |
||||
file: dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=absent |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
when: geoserver_download is changed |
||||
|
||||
- name: Create the Geoserver webapp directory |
||||
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=directory owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
|
||||
- name: Unpack the Geoserver war file |
||||
unarchive: copy=no src={{ geoserver_download_directory }}/geoserver.war dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} creates={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib owner={{ item.user }} group={{ item.user }} |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
notify: tomcat instances restart |
||||
|
||||
- name: Remove the postgres jdbc driver when we want a JNDI profile |
||||
shell: rm -f {{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/postgresql*.jdbc*.jar |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
when: tomcat_install_pg_jdbc |
||||
notify: tomcat instances restart |
||||
|
||||
- name: Download newer jar files when needed |
||||
get_url: url={{ item.1.url }} dest={{ item.0.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/{{ item.1.file }} owner={{ item.0.user }} group={{ item.0.user }} force=yes |
||||
with_together: |
||||
- '{{ tomcat_m_instances }}' |
||||
- '{{ geoserver_patches_data | default (omit) }}' |
||||
when: geoserver_additional_jars |
||||
notify: tomcat instances restart |
||||
tags: [ 'geoserver', 'geopatch' ] |
||||
|
||||
when: geoserver_install |
||||
tags: geoserver |
||||
|
||||
- block: |
||||
- name: Remove the Geoserver webapp directory |
||||
file: path={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }} state=absent |
||||
with_items: '{{ tomcat_m_instances }}' |
||||
notify: tomcat instances restart |
||||
|
||||
- name: Remove the Geoserver download and data directories |
||||
file: path={{ item }} state=absent |
||||
with_items: |
||||
- '{{ geoserver_download_directory }}' |
||||
- '{{ geoserver_data_directory }}' |
||||
|
||||
when: not geoserver_install |
||||
tags: geoserver |
||||
|
@ -1,2 +1,8 @@
|
||||
--- |
||||
# tasks file for ansible-role-template |
||||
- import_tasks: geoserver.yml |
||||
- import_tasks: geoserver-spatialite.yml |
||||
when: geoserver_spatial_install |
||||
- import_tasks: marlin-renderer.yml |
||||
when: geoserver_marlin_renderer |
||||
|
||||
|
||||
|
@ -0,0 +1,27 @@
|
||||
--- |
||||
- name: Manage the marlin renderer |
||||
block: |
||||
- set_fact: |
||||
ansible_python_interpreter: /usr/bin/python3.6 |
||||
when: ansible_distribution_release == "trusty" |
||||
|
||||
- name: Download the marlin renderer jar file |
||||
get_url: url={{ geoserver_marlin_renderer_github_url }} dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/{{ geoserver_marlin_jar_name }} owner={{ item.user }} group={{ item.user }} force=yes |
||||
with_items: |
||||
- '{{ tomcat_m_instances }}' |
||||
notify: tomcat instances restart |
||||
|
||||
- name: Download the marlin renderer jar java2d file |
||||
get_url: url={{ geoserver_marlin_renderer_github_java2d_url }} dest={{ item.instance_path }}/webapps/{{ geoserver_app_name | lower }}/WEB-INF/lib/{{ geoserver_marlin_java2d_jar_name }} owner={{ item.user }} group={{ item.user }} force=yes |
||||
with_items: |
||||
- '{{ tomcat_m_instances }}' |
||||
notify: tomcat instances restart |
||||
|
||||
- set_fact: |
||||
ansible_python_interpreter: /usr/bin/python |
||||
when: ansible_distribution_release == "trusty" |
||||
|
||||
when: |
||||
- geoserver_install |
||||
- geoserver_marlin_renderer |
||||
tags: [ 'geoserver', 'geoserver_marlin' ] |
Loading…
Reference in new issue