diff --git a/Vagrantfile b/Vagrantfile index 96b5b19b..718068b0 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -52,7 +52,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision :ansible do |ansible| ansible.playbook = "playbook.yml" ansible.galaxy_role_file = "requirements.yml" - ansible.galaxy_command = "ansible-galaxy install --role-file=%{role_file} --roles-path=roles/external --force" + ansible.galaxy_command = "ansible-galaxy install --role-file=%{role_file} --roles-path=roles/external" ansible.limit = "all" ansible.inventory_path = "inventory/vagrant" ansible.host_vars = { diff --git a/crayfish.yml b/crayfish.yml index d4ab23ee..13633fae 100644 --- a/crayfish.yml +++ b/crayfish.yml @@ -4,8 +4,9 @@ become: yes roles: - - apache - - php - - git - - composer - - crayfish \ No newline at end of file + - geerlingguy.apache + - geerlingguy.php + - geerlingguy.git + - geerlingguy.composer + - Islandora-Devops.crayfish + diff --git a/database.yml b/database.yml index 9439f3da..d6609af2 100644 --- a/database.yml +++ b/database.yml @@ -9,7 +9,7 @@ when: claw_db is not defined roles: - - role: mysql + - role: geerlingguy.mysql when: claw_db == 'mysql' - - role: postgresql + - role: geerlingguy.postgresql when: claw_db == 'pgsql' diff --git a/karaf.yml b/karaf.yml index 9efb1352..1068ae77 100644 --- a/karaf.yml +++ b/karaf.yml @@ -4,6 +4,6 @@ become: yes roles: - - karaf - - apix - - alpaca + - Islandora-Devops.karaf + - Islandora-Devops.apix + - Islandora-Devops.alpaca diff --git a/requirements.yml b/requirements.yml index 0bac5bbf..67337347 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,43 +1,88 @@ - src: geerlingguy.apache - name: apache version: 2.1.1 - src: geerlingguy.php - name: php version: 3.5.0 - src: geerlingguy.composer - name: composer version: 1.6.1 - src: geerlingguy.git - name: git version: 1.4.0 - src: geerlingguy.mysql - name: mysql version: 2.8.0 - src: geerlingguy.postgresql - name: postgresql version: 1.3.1 - src: geerlingguy.solr - name: solr version: 3.6.3 - src: geerlingguy.java - name: java version: 1.7.4 - src: geerlingguy.drupal - name: drupal version: 2.4.0 - src: geerlingguy.drush - name: drush version: 2.0.1 - src: geerlingguy.drupal-console - name: drupal-console version: 1.1.0 + +- src: https://github.com/Islandora-Devops/ansible-role-activemq + name: Islandora-Devops.activemq + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-alpaca + name: Islandora-Devops.alpaca + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-apix + name: Islandora-Devops.apix + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-blazegraph + name: Islandora-Devops.blazegraph + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-cantaloupe + name: Islandora-Devops.cantaloupe + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-crayfish + name: Islandora-Devops.crayfish + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-drupal-openseadragon + name: Islandora-Devops.drupal-openseadragon + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-fcrepo + name: Islandora-Devops.fcrepo + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-fcrepo-syn + name: Islandora-Devops.fcrepo-syn + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-tomcat8 + name: Islandora-Devops.tomcat8 + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-fits + name: Islandora-Devops.fits + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-grok + name: Islandora-Devops.grok + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-karaf + name: Islandora-Devops.karaf + version: 0.0.1 + +- src: https://github.com/Islandora-Devops/ansible-role-keymaster + name: Islandora-Devops.keymaster + version: 0.0.1 diff --git a/roles/internal/activemq/defaults/main.yml b/roles/internal/activemq/defaults/main.yml deleted file mode 100644 index 90a837b9..00000000 --- a/roles/internal/activemq/defaults/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -activemq_version: 5.14.5 -activemq_install_root: /opt -activemq_user: activemq -activemq_create_user: yes diff --git a/roles/internal/activemq/meta/main.yml b/roles/internal/activemq/meta/main.yml deleted file mode 100644 index 4d8b82b4..00000000 --- a/roles/internal/activemq/meta/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -galaxy_info: - description: "Installs Activemq" - license: "license (GPLv3)" - min_ansible_version: 2.0 - platforms: - - name: EL - versions: - - 6 - - 7 - - name: Ubuntu - versions: - - trusty - - utopic - - xenial - galaxy_tags: - - message:queues - - messaging -dependencies: [] diff --git a/roles/internal/activemq/tasks/install.yml b/roles/internal/activemq/tasks/install.yml deleted file mode 100644 index dd523e87..00000000 --- a/roles/internal/activemq/tasks/install.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- - -- name: Download and unarchive - unarchive: - remote_src: yes - src: http://archive.apache.org/dist/activemq/{{ activemq_version }}/apache-activemq-{{ activemq_version }}-bin.tar.gz - dest: "{{ activemq_install_root }}" - owner: "{{ activemq_user }}" - creates: "{{ activemq_install_root }}/activemq" - -- name: Move activemq - command: mv "{{ activemq_install_root }}/apache-activemq-{{ activemq_version }}" "{{ activemq_install_root }}/activemq" - args: - creates: "{{ activemq_install_root }}/activemq" - -# Transitional removal of old-style init.d symlink -# This task can be removed in the future. -- name: Remove init.d symlink - file: - path: /etc/init.d/activemq - state: absent - -- name: Create systemd unit - template: - src: activemq.service.j2 - dest: /etc/systemd/system/activemq.service - -- name: Reload systemd - systemd: - daemon-reload: yes - enabled: yes - state: started - name: activemq diff --git a/roles/internal/activemq/tasks/main.yml b/roles/internal/activemq/tasks/main.yml deleted file mode 100644 index c0dcd991..00000000 --- a/roles/internal/activemq/tasks/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- - -- include: user.yml - tags: - - activemq - - activemq-user - -- include: install.yml - tags: - - activemq - - activemq-install - diff --git a/roles/internal/activemq/tasks/user.yml b/roles/internal/activemq/tasks/user.yml deleted file mode 100644 index e9fc420d..00000000 --- a/roles/internal/activemq/tasks/user.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Create ActiveMQ system user - user: - name: "{{ activemq_user }}" - system: yes - state: present - when: activemq_create_user diff --git a/roles/internal/activemq/templates/activemq.service.j2 b/roles/internal/activemq/templates/activemq.service.j2 deleted file mode 100644 index 254c8707..00000000 --- a/roles/internal/activemq/templates/activemq.service.j2 +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Apache ActiveMQ -After=network-online.target - -[Service] -Type=forking -PIDFile={{activemq_install_root}}/activemq/data/activemq.pid -WorkingDirectory={{activemq_install_root}}/activemq/bin -ExecStart={{activemq_install_root}}/activemq/bin/activemq start -ExecStop={{activemq_install_root}}/activemq/bin/activemq stop -Restart=on-abort -User={{activemq_user}} - -[Install] -WantedBy=multi-user.target diff --git a/roles/internal/alpaca/defaults/main.yml b/roles/internal/alpaca/defaults/main.yml deleted file mode 100644 index ccfba19b..00000000 --- a/roles/internal/alpaca/defaults/main.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- - -alpaca_from_source: no - -alpaca_version: master -alpaca_clone_directory: /opt/alpaca - -alpaca_karaf_repos: - - mvn:ca.islandora.alpaca/islandora-karaf/LATEST/xml/features - -alpaca_features: - - islandora-http-client - - islandora-connector-broadcast - - islandora-indexing-triplestore - - islandora-indexing-fcrepo - -alpaca_karaf_dir: /opt/karaf -alpaca_karaf_etc_dir: "{{ alpaca_karaf_dir }}/etc" -alpaca_karaf_user: karaf -alpaca_local_mvn_path: /opt/maven/repo - -alpaca_settings: - - pid: ca.islandora.alpaca.connector.broadcast - settings: - input.stream: activemq:queue:islandora-connector-broadcast - - pid: ca.islandora.alpaca.indexing.triplestore - settings: - error.maxRedeliveries: 10 - input.stream: activemq:queue:islandora-indexing-triplestore - triplestore.baseUrl: http://localhost:8080/bigdata/namespace/islandora/sparql diff --git a/roles/internal/alpaca/tasks/compile.yml b/roles/internal/alpaca/tasks/compile.yml deleted file mode 100644 index 30507d4f..00000000 --- a/roles/internal/alpaca/tasks/compile.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- - -- name: Create maven repository directory - file: - state: directory - path: "{{ alpaca_local_mvn_path }}" - -- name: Create maven repository directory - file: - state: directory - path: "~/.m2" - -- name: Drop in templated Maven settings - template: - src: maven.xml.j2 - dest: "~/.m2/settings.xml" - -- name: Clone CLAW Alpaca - git: - repo: https://github.com/Islandora-CLAW/Alpaca.git - dest: "{{ alpaca_clone_directory }}" - version: "{{ alpaca_version }}" - register: alpaca_git - -- name: Install Alpaca via Gradle - command: ./gradlew install - args: - chdir: "{{ alpaca_clone_directory }}" - when: alpaca_git.changed - -- name: Make sure karaf has permissions to directory - file: - state: directory - path: "{{ alpaca_local_mvn_path }}" - recurse: yes - owner: "{{ alpaca_karaf_user }}" - group: "{{ alpaca_karaf_user }}" - -- name: Add local maven repository to karaf - lineinfile: - state: present - path: "{{alpaca_karaf_dir}}/etc/org.ops4j.pax.url.mvn.cfg" - insertafter: ^#org\.ops4j\.pax\.url\.mvn\.localRepository=$ - line: org.ops4j.pax.url.mvn.localRepository={{ alpaca_local_mvn_path }} - regexp: ^org\.ops4j\.pax\.url\.mvn\.localRepository= diff --git a/roles/internal/alpaca/tasks/config.yml b/roles/internal/alpaca/tasks/config.yml deleted file mode 100644 index de71510f..00000000 --- a/roles/internal/alpaca/tasks/config.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: Template settings - template: - src: alpaca.cfg.j2 - dest: "{{ alpaca_karaf_etc_dir }}/{{ item.pid }}.cfg" - with_items: "{{ alpaca_settings }}" diff --git a/roles/internal/alpaca/tasks/deploy.yml b/roles/internal/alpaca/tasks/deploy.yml deleted file mode 100644 index 3462fa84..00000000 --- a/roles/internal/alpaca/tasks/deploy.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- - -- name: Add Alpaca Repos (source) - karaf_repo: - state: present - name: file:{{ alpaca_clone_directory }}/karaf/build/resources/main/features.xml - when: alpaca_from_source - -- name: Add Alpaca Repos (package) - karaf_repo: - state: present - name: "{{ item }}" - with_items: "{{ alpaca_karaf_repos }}" - when: not alpaca_from_source - -- name: Add Alpaca Features - karaf_feature: - state: present - name: "{{ item }}" - with_items: "{{ alpaca_features }}" diff --git a/roles/internal/alpaca/tasks/main.yml b/roles/internal/alpaca/tasks/main.yml deleted file mode 100644 index 25113caa..00000000 --- a/roles/internal/alpaca/tasks/main.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- include: compile.yml - tags: - - alpaca - - alpaca-compile - when: alpaca_from_source - -- include: deploy.yml - tags: - - alpaca - - alpaca-deploy - -- include: config.yml - tags: - - alpaca - - alpaca-config diff --git a/roles/internal/alpaca/templates/alpaca.cfg.j2 b/roles/internal/alpaca/templates/alpaca.cfg.j2 deleted file mode 100644 index d17690e0..00000000 --- a/roles/internal/alpaca/templates/alpaca.cfg.j2 +++ /dev/null @@ -1,4 +0,0 @@ -# managed by ansible -{% for key, value in item.settings.items() %} -{{ key }}={{ value }} -{% endfor %} diff --git a/roles/internal/alpaca/templates/maven.xml.j2 b/roles/internal/alpaca/templates/maven.xml.j2 deleted file mode 100644 index 92fc00bc..00000000 --- a/roles/internal/alpaca/templates/maven.xml.j2 +++ /dev/null @@ -1,6 +0,0 @@ - - {{ alpaca_local_mvn_path }} - diff --git a/roles/internal/apix/defaults/main.yml b/roles/internal/apix/defaults/main.yml deleted file mode 100644 index 45e786f7..00000000 --- a/roles/internal/apix/defaults/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- - -apix_feature_repo: mvn:org.fcrepo.apix/fcrepo-api-x-karaf/LATEST/xml/features -apix_feature: - - fcrepo-api-x - - fcrepo-indexing-triplestore - - fcrepo-service-camel - -apix_karaf_etc_dir: "{{ karaf_install_symlink }}/etc" - -apix_config: - - pid: org.fcrepo.apix.registry.http - settings: - timeout.socket.ms: 1000 - - pid: org.fcrepo.camel.indexing.triplestore - settings: - input.stream: activemq:topic:fedora - triplestore.reindex.stream: activemq:queue:triplestore.reindex - triplestore.baseUrl: http://localhost:8080/bigdata/namespace/islandora/sparql diff --git a/roles/internal/apix/tasks/config.yml b/roles/internal/apix/tasks/config.yml deleted file mode 100644 index 2d8b9247..00000000 --- a/roles/internal/apix/tasks/config.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: Template settings - template: - src: apix.cfg.j2 - dest: "{{ apix_karaf_etc_dir }}/{{ item.pid }}.cfg" - with_items: "{{ apix_config }}" diff --git a/roles/internal/apix/tasks/deploy.yml b/roles/internal/apix/tasks/deploy.yml deleted file mode 100644 index 2c1307c7..00000000 --- a/roles/internal/apix/tasks/deploy.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- - -- name: Add API-X Repos - karaf_repo: - state: present - name: "{{ item }}" - with_items: "{{ apix_feature_repo }}" - -- name: Add API-X Features - karaf_feature: - state: present - name: "{{ item }}" - with_items: "{{ apix_feature }}" diff --git a/roles/internal/apix/tasks/main.yml b/roles/internal/apix/tasks/main.yml deleted file mode 100644 index 01111bf9..00000000 --- a/roles/internal/apix/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -- include: deploy.yml - tags: - - apix - - apix-deploy - -- include: config.yml - tags: - - apix - - apix-config diff --git a/roles/internal/apix/templates/apix.cfg.j2 b/roles/internal/apix/templates/apix.cfg.j2 deleted file mode 100644 index d17690e0..00000000 --- a/roles/internal/apix/templates/apix.cfg.j2 +++ /dev/null @@ -1,4 +0,0 @@ -# managed by ansible -{% for key, value in item.settings.items() %} -{{ key }}={{ value }} -{% endfor %} diff --git a/roles/internal/blazegraph/defaults/main.yml b/roles/internal/blazegraph/defaults/main.yml deleted file mode 100644 index 33fd41bd..00000000 --- a/roles/internal/blazegraph/defaults/main.yml +++ /dev/null @@ -1,54 +0,0 @@ -blazegraph_version: 2.1.4 -blazegraph_user: tomcat8 -blazegraph_home_dir: /opt/blazegraph -blazegraph_war_path: "{{ tomcat8_home }}/webapps/bigdata.war" -blazegraph_log4j_template: log4j.properties -blazegraph_log_dir: /var/log/tomcat8/blazegraph -blazegraph_log4j_path: "{{ tomcat8_home }}/webapps/bigdata/WEB-INF/classes/log4j.properties" - -# -- All of these are properties that go into RWStore.properties -## -## Journal options. -## - -# The backing file. This contains all your data. You want to put this someplace -# safe. The default locator will wind up in the directory from which you start -# your servlet container. -blazegraph_config_journal_AbstractJournal_file: "{{ blazegraph_home_dir }}/data/blazegraph.jnl" - -# The persistence engine_ Use 'Disk' for the WORM or 'DiskRW' for the RWStore_ -blazegraph_config_journal_AbstractJournal_bufferMode: "DiskRW" - -# Setup for the RWStore recycler rather than session protection_ -blazegraph_config_service_AbstractTransactionService_minReleaseAge: "1" - -# Enable group commit_ See http://wiki_blazegraph_com/wiki/index_php/GroupCommit -blazegraph_config_journal_Journal_groupCommit: "false" - -blazegraph_config_btree_writeRetentionQueue_capacity: "4000" -blazegraph_config_btree_BTree_branchingFactor: "128" - -# 200M initial extent_ -blazegraph_config_journal_AbstractJournal_initialExtent: "209715200" -blazegraph_config_journal_AbstractJournal_maximumExtent: "209715200" - -## -## Setup for QUADS mode without the full text index_ -## -blazegraph_config_rdf_sail_truthMaintenance: "false" -blazegraph_config_rdf_store_AbstractTripleStore_quads: "true" -blazegraph_config_rdf_store_AbstractTripleStore_statementIdentifiers: "false" -blazegraph_config_rdf_store_AbstractTripleStore_textIndex: "false" -blazegraph_config_rdf_store_AbstractTripleStore_axiomsClass: "com.bigdata.rdf.axioms.NoAxioms" - -# Bump up the branching factor for the lexicon indices on the default kb_ -blazegraph_config_namespace_kb_lex_blazegraph_config_btree_BTree_branchingFactor: "400" - -# Bump up the branching factor for the statement indices on the default kb_ -blazegraph_config_namespace_kb_spo_blazegraph_config_btree_BTree_branchingFactor: "1024" - -# Uncomment to enable collection of OS level performance counters_ When -# collected they will be self-reported through the /counters servlet and -# the workbench "Performance" tab_ -# -blazegraph_config_journal_Journal_collectPlatformStatistics: "false" diff --git a/roles/internal/blazegraph/files/blazegraph.properties b/roles/internal/blazegraph/files/blazegraph.properties deleted file mode 100644 index f8a3bcbe..00000000 --- a/roles/internal/blazegraph/files/blazegraph.properties +++ /dev/null @@ -1,13 +0,0 @@ -com.bigdata.rdf.store.AbstractTripleStore.textIndex=false -com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.OwlAxioms -com.bigdata.rdf.sail.isolatableIndices=false -com.bigdata.rdf.store.AbstractTripleStore.justify=true -com.bigdata.rdf.sail.truthMaintenance=true -com.bigdata.rdf.sail.namespace=islandora -com.bigdata.rdf.store.AbstractTripleStore.quads=false -com.bigdata.namespace.islandora.lex.com.bigdata.btree.BTree.branchingFactor=400 -com.bigdata.journal.Journal.groupCommit=false -com.bigdata.namespace.islandora.spo.com.bigdata.btree.BTree.branchingFactor=1024 -com.bigdata.rdf.store.AbstractTripleStore.geoSpatial=false -com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false - diff --git a/roles/internal/blazegraph/files/inference.nt b/roles/internal/blazegraph/files/inference.nt deleted file mode 100644 index 63d99341..00000000 --- a/roles/internal/blazegraph/files/inference.nt +++ /dev/null @@ -1,2 +0,0 @@ - . - . diff --git a/roles/internal/blazegraph/tasks/config.yml b/roles/internal/blazegraph/tasks/config.yml deleted file mode 100644 index 0b8302db..00000000 --- a/roles/internal/blazegraph/tasks/config.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- - -- name: Copy templated blazegraph config files - template: - src: "{{ item }}" - dest: "{{ blazegraph_home_dir }}/conf/{{ item }}" - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - with_items: - - RWStore.properties - notify: restart tomcat8 - -- name: Copy blazegraph config files - copy: - src: "{{ item }}" - dest: "{{ blazegraph_home_dir }}/conf/{{ item }}" - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - with_items: - - blazegraph.properties - - inference.nt - notify: restart tomcat8 diff --git a/roles/internal/blazegraph/tasks/download.yml b/roles/internal/blazegraph/tasks/download.yml deleted file mode 100644 index 196b2ba9..00000000 --- a/roles/internal/blazegraph/tasks/download.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: Download blazegraph war - get_url: - url: http://repo1.maven.org/maven2/com/blazegraph/bigdata-war/{{ blazegraph_version }}/bigdata-war-{{ blazegraph_version }}.war - dest: "{{ blazegraph_war_path }}" - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - register: blazegraph_war_download diff --git a/roles/internal/blazegraph/tasks/install.yml b/roles/internal/blazegraph/tasks/install.yml deleted file mode 100644 index 39617295..00000000 --- a/roles/internal/blazegraph/tasks/install.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- - -- name: Create blazegraph home directory - file: - path: "{{ blazegraph_home_dir }}" - state: directory - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - -- name: Create blazegraph conf directory - file: - path: "{{ blazegraph_home_dir }}/conf" - state: directory - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - -- name: Create blazegraph data directory - file: - path: "{{ blazegraph_home_dir }}/data" - state: directory - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" diff --git a/roles/internal/blazegraph/tasks/logging.yml b/roles/internal/blazegraph/tasks/logging.yml deleted file mode 100644 index 76038314..00000000 --- a/roles/internal/blazegraph/tasks/logging.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- - -- name: Wait for blazegraph to expand - wait_for: - path: "{{blazegraph_log4j_path}}" - state: present - -- name: Copy the templated log4j config - template: - src: "{{ blazegraph_log4j_template }}" - dest: "{{blazegraph_log4j_path}}" - owner: "{{ blazegraph_user }}" - group: "{{ blazegraph_user }}" - notify: restart tomcat8 diff --git a/roles/internal/blazegraph/tasks/main.yml b/roles/internal/blazegraph/tasks/main.yml deleted file mode 100644 index 42f75fc3..00000000 --- a/roles/internal/blazegraph/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- - -- include: install.yml - tags: - - blazegraph - - blazegraph-install - -- include: config.yml - tags: - - blazegraph - - blazegraph-config - -- include: download.yml - tags: - - blazegraph - - blazegraph-download - -- include: logging.yml - tags: - - blazegraph - - blazegraph-logging - -- include: namespace.yml - tags: - - blazegraph - - blazegraph-namespace diff --git a/roles/internal/blazegraph/tasks/namespace.yml b/roles/internal/blazegraph/tasks/namespace.yml deleted file mode 100644 index 81ca2d36..00000000 --- a/roles/internal/blazegraph/tasks/namespace.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- - -# Need to make sure Blazegraph is up and running before applying config changes -- debug: msg="restart Tomcat" - notify: restart tomcat8 - changed_when: true - -# By default, ansible will run handlers at the end, here we are forcing ansible to restart tomcat -- meta: flush_handlers - -- name: "Wait for Blazegraph to come up" - uri: - url: "http://localhost:8080/bigdata/#namespaces" - status_code: 200 - timeout: 5 - register: result - until: result.status == 200 - retries: 60 - delay: 5 - -- name: Setup namespace in blazegraph - uri: - url: http://localhost:8080/bigdata/namespace - method: POST - body: "{{ lookup('file', 'blazegraph.properties') }}" - status_code: 201 - headers: - Content-Type: "text/plain" - when: blazegraph_war_download.changed is defined and blazegraph_war_download.changed - -- name: Setup inference in blazegraph - uri: - url: http://localhost:8080/bigdata/namespace/islandora/sparql - method: POST - body: "{{ lookup('file', 'inference.nt') }}" - status_code: 200 - headers: - Content-Type: "text/plain" - when: blazegraph_war_download.changed is defined and blazegraph_war_download.changed diff --git a/roles/internal/blazegraph/templates/RWStore.properties b/roles/internal/blazegraph/templates/RWStore.properties deleted file mode 100644 index 98693844..00000000 --- a/roles/internal/blazegraph/templates/RWStore.properties +++ /dev/null @@ -1,20 +0,0 @@ -# -# Note: This file is managed with Ansible -# - -com.bigdata.journal.AbstractJournal.file={{blazegraph_config_journal_AbstractJournal_file}} -com.bigdata.journal.AbstractJournal.bufferMode={{blazegraph_config_journal_AbstractJournal_bufferMode}} -com.bigdata.service.AbstractTransactionService.minReleaseAge={{blazegraph_config_service_AbstractTransactionService_minReleaseAge}} -com.bigdata.journal.Journal.groupCommit={{blazegraph_config_journal_Journal_groupCommit}} -com.bigdata.btree.writeRetentionQueue.capacity={{blazegraph_config_btree_writeRetentionQueue_capacity}} -com.bigdata.btree.BTree.branchingFactor={{blazegraph_config_btree_BTree_branchingFactor}} -com.bigdata.journal.AbstractJournal.initialExtent={{blazegraph_config_journal_AbstractJournal_initialExtent}} -com.bigdata.journal.AbstractJournal.maximumExtent={{blazegraph_config_journal_AbstractJournal_maximumExtent}} -com.bigdata.rdf.sail.truthMaintenance={{blazegraph_config_rdf_sail_truthMaintenance}} -com.bigdata.rdf.store.AbstractTripleStore.quads={{blazegraph_config_rdf_store_AbstractTripleStore_quads}} -com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers={{blazegraph_config_rdf_store_AbstractTripleStore_statementIdentifiers}} -com.bigdata.rdf.store.AbstractTripleStore.textIndex={{blazegraph_config_rdf_store_AbstractTripleStore_textIndex}} -com.bigdata.rdf.store.AbstractTripleStore.axiomsClass={{blazegraph_config_rdf_store_AbstractTripleStore_axiomsClass}} -com.bigdata.namespace.kb.lex.com.bigdata.btree.BTree.branchingFactor={{blazegraph_config_namespace_kb_lex_blazegraph_config_btree_BTree_branchingFactor}} -com.bigdata.namespace.kb.spo.com.bigdata.btree.BTree.branchingFactor={{blazegraph_config_namespace_kb_spo_blazegraph_config_btree_BTree_branchingFactor}} -com.bigdata.journal.Journal.collectPlatformStatistics={{blazegraph_config_journal_Journal_collectPlatformStatistics}} diff --git a/roles/internal/blazegraph/templates/log4j.properties b/roles/internal/blazegraph/templates/log4j.properties deleted file mode 100644 index 410f3437..00000000 --- a/roles/internal/blazegraph/templates/log4j.properties +++ /dev/null @@ -1,113 +0,0 @@ -# Default log4j configuration. See the individual classes for the -# specific loggers, but generally they are named for the class in -# which they are defined. - -# Default log4j configuration for testing purposes. -# -# You probably want to set the default log level to ERROR. -# -log4j.rootCategory=WARN, dest1 -#log4j.rootCategory=WARN, dest2 - -# Loggers. -# Note: logging here at INFO or DEBUG will significantly impact throughput! -log4j.logger.com.bigdata=WARN -log4j.logger.com.bigdata.btree=WARN - -# Normal data loader (single threaded). -#log4j.logger.com.bigdata.rdf.store.DataLoader=INFO - -# dest1 -log4j.appender.dest1=org.apache.log4j.ConsoleAppender -log4j.appender.dest1.layout=org.apache.log4j.PatternLayout -log4j.appender.dest1.layout.ConversionPattern=%-5p: %F:%L: %m%n -#log4j.appender.dest1.layout.ConversionPattern=%-5p: %r %l: %m%n -#log4j.appender.dest1.layout.ConversionPattern=%-5p: %m%n -#log4j.appender.dest1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n -#log4j.appender.dest1.layout.ConversionPattern=%-4r(%d) [%t] %-5p %c(%l:%M) %x - %m%n - -# dest2 includes the thread name and elapsed milliseconds. -# Note: %r is elapsed milliseconds. -# Note: %t is the thread name. -# See http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html -log4j.appender.dest2=org.apache.log4j.ConsoleAppender -log4j.appender.dest2.layout=org.apache.log4j.PatternLayout -log4j.appender.dest2.layout.ConversionPattern=%-5p: %r %X{hostname} %X{serviceUUID} %X{taskname} %X{timestamp} %X{resources} %t %l: %m%n - -## -# Rule execution log. This is a formatted log file (comma delimited). -log4j.logger.com.bigdata.relation.rule.eval.RuleLog=INFO,ruleLog -log4j.additivity.com.bigdata.relation.rule.eval.RuleLog=false -log4j.appender.ruleLog=org.apache.log4j.FileAppender -log4j.appender.ruleLog.Threshold=ALL -log4j.appender.ruleLog.File={{blazegraph_log_dir}}/rules.log -log4j.appender.ruleLog.Append=true -# I find that it is nicer to have this unbuffered since you can see what -# is going on and to make sure that I have complete rule evaluation logs -# on shutdown. -log4j.appender.ruleLog.BufferedIO=false -log4j.appender.ruleLog.layout=org.apache.log4j.PatternLayout -log4j.appender.ruleLog.layout.ConversionPattern=%m - -## -# Summary query evaluation log (tab delimited file). Uncomment the next line to enable. -#log4j.logger.com.bigdata.bop.engine.QueryLog=INFO,queryLog -log4j.additivity.com.bigdata.bop.engine.QueryLog=false -log4j.appender.queryLog=org.apache.log4j.FileAppender -log4j.appender.queryLog.Threshold=ALL -log4j.appender.queryLog.File=queryLog.csv -log4j.appender.queryLog.Append=true -# I find that it is nicer to have this unbuffered since you can see what -# is going on and to make sure that I have complete rule evaluation logs -# on shutdown. -log4j.appender.queryLog.BufferedIO=false -log4j.appender.queryLog.layout=org.apache.log4j.PatternLayout -log4j.appender.queryLog.layout.ConversionPattern=%m - -## -# BOp run state trace (tab delimited file). Uncomment the next line to enable. -#log4j.logger.com.bigdata.bop.engine.RunState$TableLog=INFO,queryRunStateLog -log4j.additivity.com.bigdata.bop.engine.RunState$TableLog=false -log4j.appender.queryRunStateLog=org.apache.log4j.FileAppender -log4j.appender.queryRunStateLog.Threshold=ALL -log4j.appender.queryRunStateLog.File=queryRunState.log -log4j.appender.queryRunStateLog.Append=true -# I find that it is nicer to have this unbuffered since you can see what -# is going on and to make sure that I have complete rule evaluation logs -# on shutdown. -log4j.appender.queryRunStateLog.BufferedIO=false -log4j.appender.queryRunStateLog.layout=org.apache.log4j.PatternLayout -log4j.appender.queryRunStateLog.layout.ConversionPattern=%m - -## -# Solutions trace (tab delimited file). Uncomment the next line to enable. -#log4j.logger.com.bigdata.bop.engine.SolutionsLog=INFO,solutionsLog -log4j.additivity.com.bigdata.bop.engine.SolutionsLog=false -log4j.appender.solutionsLog=org.apache.log4j.ConsoleAppender -#log4j.appender.solutionsLog=org.apache.log4j.FileAppender -log4j.appender.solutionsLog.Threshold=ALL -log4j.appender.solutionsLog.File=solutions.csv -log4j.appender.solutionsLog.Append=true -# I find that it is nicer to have this unbuffered since you can see what -# is going on and to make sure that I have complete rule evaluation logs -# on shutdown. -log4j.appender.solutionsLog.BufferedIO=false -log4j.appender.solutionsLog.layout=org.apache.log4j.PatternLayout -log4j.appender.solutionsLog.layout.ConversionPattern=SOLUTION:\t%m - -## -# SPARQL query trace (plain text file). Uncomment 2nd line to enable. -log4j.logger.com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper=WARN -#log4j.logger.com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper=INFO,sparqlLog -log4j.additivity.com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper=false -log4j.appender.sparqlLog=org.apache.log4j.ConsoleAppender -#log4j.appender.sparqlLog=org.apache.log4j.FileAppender -log4j.appender.sparqlLog.Threshold=ALL -log4j.appender.sparqlLog.File=sparql.txt -log4j.appender.sparqlLog.Append=true -# I find that it is nicer to have this unbuffered since you can see what -# is going on and to make sure that I have complete rule evaluation logs -# on shutdown. -log4j.appender.sparqlLog.BufferedIO=false -log4j.appender.sparqlLog.layout=org.apache.log4j.PatternLayout -log4j.appender.sparqlLog.layout.ConversionPattern=#----------%d-----------tx=%X{tx}\n%m\n diff --git a/roles/internal/cantaloupe/defaults/main.yml b/roles/internal/cantaloupe/defaults/main.yml deleted file mode 100644 index d2932d22..00000000 --- a/roles/internal/cantaloupe/defaults/main.yml +++ /dev/null @@ -1,610 +0,0 @@ ---- - -cantaloupe_version: 3.3.1 -cantaloupe_install_root: /opt -cantaloupe_symlink: /opt/cantaloupe -cantaloupe_log_path: /var/log/cantaloupe -cantaloupe_user: cantaloupe -cantaloupe_group: cantaloupe - -cantaloupe_deploy_war: no -cantaloupe_deploy_war_path: /path/to/tomcat/webapps -cantaloupe_deploy_war_filename: cantaloupe - -cantaloupe_create_FilesystemCache_dir: no - -########################################################################### -# Cantaloupe.properties config -########################################################################### - -# !! Whether to enable HTTP access (http://), and on what host interface -# and TCP port. (Applies in standalone mode only.) -cantaloupe_http_enabled: "true" -cantaloupe_http_host: 0.0.0.0 -cantaloupe_http_port: 8182 - -# !! Whether to enable HTTPS access (https://), and on what host interface -# and TCP port. (Applies in standalone mode only.) -cantaloupe_https_enabled: "false" -cantaloupe_https_host: 0.0.0.0 -cantaloupe_https_port: 8183 - -# !! Available values are `JKS` and `PKCS12`. (Standalone mode only.) -cantaloupe_https_key_store_type: JKS -cantaloupe_https_key_store_password: myPassword -cantaloupe_https_key_store_path: /path/to/keystore.jks -cantaloupe_https_key_password: myPassword - -# !! Configures HTTP Basic authentication. -cantaloupe_auth_basic_enabled: "false" -cantaloupe_auth_basic_username: myself -cantaloupe_auth_basic_secret: mypassword - -# Enables the Control Panel, at /admin. -cantaloupe_admin_enabled: "false" -# Password to access the Control Panel. (The username is "admin".) -cantaloupe_admin_password: - -# Base URI to use for internal links, such as Link headers and JSON-LD @id -# values, in a reverse-proxy context. This should only be used when -# X-Forwarded-* headers cannot be used instead (see the user manual). -cantaloupe_base_uri: - -# Normally, slashes in a URI path component must be percent-encoded as -# "%2F". If your proxy is incapable of passing these through without -# decoding them, you can define an alternate character or character -# sequence to substitute for a slash. Supply the non-percent-encoded -# version here, and use the percent-encoded version in URLs. -cantaloupe_slash_substitute: - -# Maximum number of pixels to return in a response, to prevent overloading -# the server. Requests for more pixels than this will receive an error -# response. Set to 0 for no maximum. -cantaloupe_max_pixels: 400000000 - -# Sometimes helpful. -cantaloupe_print_stack_trace_on_error_pages: "true" - -########################################################################### -# DELEGATE SCRIPT -########################################################################### - -# !! Enables the delegate script: a Ruby script containing various delegate -# methods. (See the user manual.) -cantaloupe_delegate_script_enabled: "false" - -# !! This can be an absolute path, or a filename; if only a -# filename is specified, it will be searched for in the same folder as this -# file, and then the current working directory. -cantaloupe_delegate_script_pathname: delegates.rb - -# Enables the invocation cache, which caches method invocations and -# return values in memory. See the user manual for more information. -cantaloupe_delegate_script_cache_enabled: "false" - -########################################################################### -# ENDPOINTS -########################################################################### - -cantaloupe_endpoint_iiif_1_enabled: "true" - -cantaloupe_endpoint_iiif_2_enabled: "true" - -# Controls the response Content-Disposition header for images. Allowed -# values are `inline`, `attachment`, and `none`. -cantaloupe_endpoint_iiif_content_disposition: inline - -# Minimum size that will be used in info.json "tiles" keys. See the user -# manual for an explanation of how these are calculated. -cantaloupe_endpoint_iiif_min_tile_size: 1024 - -# If "true", requests for sizes other than those specified in an info.json -# response will be denied. -cantaloupe_endpoint_iiif_2_restrict_to_sizes: "false" - -# Enables the administrative REST API. (See the user manual.) -cantaloupe_endpoint_api_enabled: "false" - -# HTTP Basic credentials to access the REST API. -cantaloupe_endpoint_api_username: -cantaloupe_endpoint_api_secret: - -########################################################################### -# RESOLVERS -########################################################################### - -# Specifies one resolver to translate the identifier in the URL to an image -# source for all requests. Available values are `FilesystemResolver`, -# `HttpResolver`, `JdbcResolver`, `AmazonS3Resolver`, and -# `AzureStorageResolver`. -cantaloupe_resolver_static: FilesystemResolver - -# If "true", `resolver_static` will be overridden, and the -# `get_resolver(identifier)` delegate script method will be used to select -# a resolver per-request. -cantaloupe_resolver_delegate: "false" - -#---------------------------------------- -# FilesystemResolver -#---------------------------------------- - -# Tells FilesystemResolver how to look up files. Allowed values are -# `BasicLookupStrategy` and `ScriptLookupStrategy`. ScriptLookupStrategy -# uses the delegate script for dynamic lookups; see the user manual for -# details. -cantaloupe_FilesystemResolver_lookup_strategy: BasicLookupStrategy - -# Server-side path that will be prefixed to the identifier in the URL. -# Trailing slash is important. -cantaloupe_FilesystemResolver_BasicLookupStrategy_path_prefix: /home/myself/images/ - - -# Server-side path or extension that will be suffixed to the identifier in -# the URL. -cantaloupe_FilesystemResolver_BasicLookupStrategy_path_suffix: - -#---------------------------------------- -# HttpResolver -#---------------------------------------- - -# Tells HttpResolver how to look up resources. Allowed values are -# `BasicLookupStrategy` and `ScriptLookupStrategy`. ScriptLookupStrategy -# uses the delegate script for dynamic lookups; see the user manual for -# details. -cantaloupe_HttpResolver_lookup_strategy: BasicLookupStrategy - -# URL that will be prefixed to the identifier in the request URL. Trailing -# slash is important. -cantaloupe_HttpResolver_BasicLookupStrategy_url_prefix: http://localhost/images/ - -# Path, extension, query string, etc. that will be suffixed to the -# identifier in the request URL. -cantaloupe_HttpResolver_BasicLookupStrategy_url_suffix: - -# Used for HTTP Basic authentication. -cantaloupe_HttpResolver_auth_basic_username: -cantaloupe_HttpResolver_auth_basic_secret: - -#---------------------------------------- -# JdbcResolver -#---------------------------------------- - -# Note: JdbcResolver requires some delegate methods to be implemented in -# addition to the configuration here; see the user manual. - -# !! -cantaloupe_JdbcResolver_url: jdbc:postgresql://localhost:5432/my_database -# !! -cantaloupe_JdbcResolver_user: postgres -# !! -cantaloupe_JdbcResolver_password: postgres - -# !! Connection timeout in seconds. -cantaloupe_JdbcResolver_connection_timeout: 10 - -#---------------------------------------- -# AmazonS3Resolver -#---------------------------------------- - -# !! Access key ID and secret key associated with your AWS account. -# See: http://aws.amazon.com/security-credentials -cantaloupe_AmazonS3Resolver_access_key_id: -cantaloupe_AmazonS3Resolver_secret_key: - -# !! Name of the bucket containing images to be served. -cantaloupe_AmazonS3Resolver_bucket_name: - -# !! Can be left blank. -# See: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region -cantaloupe_AmazonS3Resolver_bucket_region: - -# Tells AmazonS3Resolver how to look up objects. Allowed values are -# `BasicLookupStrategy` and `ScriptLookupStrategy`. ScriptLookupStrategy -# uses the delegate script for dynamic lookups; see the user manual for -# details. -cantaloupe_AmazonS3Resolver_lookup_strategy: BasicLookupStrategy - -#---------------------------------------- -# AzureStorageResolver -#---------------------------------------- - -# !! Name of your Azure account. -cantaloupe_AzureStorageResolver_account_name: - -# !! Key of your Azure account. -cantaloupe_AzureStorageResolver_account_key: - -# !! Name of the container containing images to be served. -cantaloupe_AzureStorageResolver_container_name: - -# Tells AzureStorageResolver how to look up objects. Allowed values are -# `BasicLookupStrategy` and `ScriptLookupStrategy`. ScriptLookupStrategy -# uses the delegate script for dynamic lookups; see the user manual for -# details. -cantaloupe_AzureStorageResolver_lookup_strategy: BasicLookupStrategy - -########################################################################### -# PROCESSORS -########################################################################### - -#---------------------------------------- -# Processor Selection -#---------------------------------------- - -# Image processors to use for various source formats. Available values are -# `Java2dProcessor`, `GraphicsMagickProcessor`, `ImageMagickProcessor`, -# `KakaduProcessor`, `OpenJpegProcessor`, `JaiProcessor`, `PdfBoxProcessor`, -# and `FfmpegProcessor`. - -# These extension-specific definitions are optional. -cantaloupe_processor_avi: FfmpegProcessor -cantaloupe_processor_bmp: -cantaloupe_processor_dcm: -cantaloupe_processor_gif: -cantaloupe_processor_jp2: KakaduProcessor -cantaloupe_processor_jpg: -cantaloupe_processor_mov: FfmpegProcessor -cantaloupe_processor_mp4: FfmpegProcessor -cantaloupe_processor_mpg: FfmpegProcessor -cantaloupe_processor_pdf: PdfBoxProcessor -cantaloupe_processor_png: -cantaloupe_processor_tif: -cantaloupe_processor_webm: FfmpegProcessor -cantaloupe_processor_webp: ImageMagickProcessor - -# Fall back to this processor for any formats not assigned above. -cantaloupe_processor_fallback: Java2dProcessor - -#---------------------------------------- -# Global Processor Configuration -#---------------------------------------- - -# Expands contrast to utilize available dynamic range. This forces the entire -# source image to be read into memory, so can be slow with large images. -cantaloupe_processor_normalize: "false" - -# Color of the background when an image is rotated. Only affects output -# formats that do not support transparency. -cantaloupe_processor_background_color: black - -# Available values are `bell`, `bspline`, `bicubic`, `box`, `hermite`, -# `lanczos3`, `mitchell`, `triangle`. -# These are used only by FfmpegProcessor, Java2dProcessor, OpenJpegProcessor, -# and PdfBoxProcessor. -cantaloupe_processor_downscale_filter: bicubic -cantaloupe_processor_upscale_filter: bicubic - -# Intensity of an unsharp mask from 0 to 1. -cantaloupe_processor_sharpen: 0 - -# Progressive JPEGs are generally more space-efficient. -cantaloupe_processor_jpg_progressive: "true" - -# JPEG output quality (1-100). -cantaloupe_processor_jpg_quality: 80 - -# TIFF output compression type. Available values are `Deflate`, `JPEG`, -# `LZW`, and `RLE`. Leave blank for no compression. -cantaloupe_processor_tif_compression: LZW - -# Available values are `StreamStrategy` and `CacheStrategy`. StreamStrategy -# will try to stream source images from non-filesystem resolvers, when this -# is possible; CacheStrategy will first download them into the source cache -# using FilesystemCache, which must also be configured. -cantaloupe_StreamProcessor_retrieval_strategy: StreamStrategy - -#---------------------------------------- -# FfmpegProcessor -#---------------------------------------- - -# Optional absolute path of the directory containing the FFmpeg binaries. -# Overrides the PATH. -cantaloupe_FfmpegProcessor_path_to_binaries: - -#---------------------------------------- -# GraphicsMagickProcessor -#---------------------------------------- - -# !! Optional absolute path of the directory containing the GraphicsMagick -# binary. Overrides the PATH. -cantaloupe_GraphicsMagickProcessor_path_to_binaries: - -#---------------------------------------- -# ImageMagickProcessor -#---------------------------------------- - -# !! Optional absolute path of the directory containing the ImageMagick -# binaries. Overrides the PATH. -cantaloupe_ImageMagickProcessor_path_to_binaries: - -#---------------------------------------- -# KakaduProcessor -#---------------------------------------- - -# Optional absolute path of the directory containing the Kakadu binaries. -# Overrides the PATH. -cantaloupe_KakaduProcessor_path_to_binaries: - -#---------------------------------------- -# OpenJpegProcessor -#---------------------------------------- - -# Optional absolute path of the directory containing the OpenJPEG binaries. -# Overrides the PATH. -cantaloupe_OpenJpegProcessor_path_to_binaries: - -#---------------------------------------- -# PdfBoxProcessor -#---------------------------------------- - -# Resolution of the PDF rasterization at a scale of 1. Requests for -# scales less than 0.5 or larger than 2 will automatically use a lower or -# higher factor of this. -cantaloupe_PdfBoxProcessor_dpi: 150 - -########################################################################### -# CLIENT-SIDE CACHING -########################################################################### - -# Whether to enable the response Cache-Control header. -cantaloupe_cache_client_enabled: "true" - -cantaloupe_cache_client_max_age: 2592000 -cantaloupe_cache_client_shared_max_age: -cantaloupe_cache_client_public: "true" -cantaloupe_cache_client_private: "false" -cantaloupe_cache_client_no_cache: "false" -cantaloupe_cache_client_no_store: "false" -cantaloupe_cache_client_must_revalidate: "false" -cantaloupe_cache_client_proxy_revalidate: "false" -cantaloupe_cache_client_no_transform: "true" - -########################################################################### -# SERVER-SIDE CACHING -########################################################################### - -# Enables the source cache. The only available value is `FilesystemCache`. -# Set blank to disable source image caching. -# Note that source images will only be cached when a FileProcessor is used -# with a StreamResolver, or when a StreamProcessor is used with -# `StreamProcessor.retrieval_strategy` set to `CacheStrategy`. -cantaloupe_cache_source: - -# Enables the derivative (processed image) cache. Available values are -# `FilesystemCache`, `JdbcCache`, `AmazonS3Cache`, and `AzureStorageCache`. -# Set blank to disable derivative caching. -cantaloupe_cache_derivative: - -# Time before a cached image becomes stale and needs to be reloaded. Set to -# blank or 0 for infinite. -cantaloupe_cache_server_ttl_seconds: 2592000 - -# If "true", when a resolver reports that the requested source image has gone -# missing, all cached information relating to it (if any) will be deleted. -# (This is effectively always "false" when cache.server.resolve_first is also -# "false".) -cantaloupe_cache_server_purge_missing: "false" - -# If "true", the source image will be confirmed to exist before a cached copy -# is returned. If "false", the cached copy will be returned without any -# checking. Resolving first is slower but safer. -cantaloupe_cache_server_resolve_first: "false" - -# !! Enables the cache worker, which periodically purges expired cache -# items in the background. -cantaloupe_cache_server_worker_enabled: "false" - -# !! The cache worker will wait this many seconds between purgings. -cantaloupe_cache_server_worker_interval: 86400 - -#---------------------------------------- -# FilesystemCache -#---------------------------------------- - -# If this directory does not exist, it will be created automatically. -cantaloupe_FilesystemCache_pathname: /var/cache/cantaloupe - -# Levels of folder hierarchy in which to store cached images. Deeper depth -# results in fewer files per directory. Set to 0 to disable subfolders. -# Purge the cache after changing this. -cantaloupe_FilesystemCache_dir_depth: 3 - -# Number of characters in hierarchy directory names. Should be set to -# 16^n < (max number of directory entries your filesystem can deal with). -# Purge the cache after changing this. -cantaloupe_FilesystemCache_dir_name_length: 2 - -#---------------------------------------- -# JdbcCache -#---------------------------------------- - -# !! -cantaloupe_JdbcCache_url: jdbc:postgresql://localhost:5432/cantaloupe -# !! -cantaloupe_JdbcCache_user: postgres -# !! -cantaloupe_JdbcCache_password: - -# !! Connection timeout in seconds. -cantaloupe_JdbcCache_connection_timeout: 10 - -# These must be created manually; see the user manual. -cantaloupe_JdbcCache_derivative_image_table: derivative_cache -cantaloupe_JdbcCache_info_table: info_cache - -#---------------------------------------- -# AmazonS3Cache -#---------------------------------------- - -# !! Access key ID and secret key associated with your AWS account. -# See: http://aws.amazon.com/security-credentials -cantaloupe_AmazonS3Cache_access_key_id: -cantaloupe_AmazonS3Cache_secret_key: - -# !! Name of a bucket to use to hold cached data. -cantaloupe_AmazonS3Cache_bucket_name: - -# !! Can be left blank. -# See: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region -cantaloupe_AmazonS3Cache_bucket_region: - -# !! String that will be prefixed to object keys. -cantaloupe_AmazonS3Cache_object_key_prefix: - -#---------------------------------------- -# AzureStorageCache -#---------------------------------------- - -# !! Name of your Azure account. -cantaloupe_AzureStorageCache_account_name: - -# !! Key of your Azure account. -cantaloupe_AzureStorageCache_account_key: - -# !! Name of the container containing cached images. -cantaloupe_AzureStorageCache_container_name: - -# !! String that will be prefixed to object keys. -cantaloupe_AzureStorageCache_object_key_prefix: - -########################################################################### -# OVERLAYS -########################################################################### - -# Whether to enable overlays. -cantaloupe_overlays_enabled: "false" - -# Specifies how overlays are configured. `BasicStrategy` will use the -# `overlays.BasicStrategy.*` keys in this section. `ScriptStrategy` will -# use the `overlay` delegate method. See the user manual for more -# information. -cantaloupe_overlays_strategy: BasicStrategy - -# `image` or `string`. -cantaloupe_overlays_BasicStrategy_type: image - -# Absolute path or URL of the overlay image. Must be a PNG file. -cantaloupe_overlays_BasicStrategy_image: /path/to/overlay.png - -# Overlay text. -cantaloupe_overlays_BasicStrategy_string: Copyright \u00A9️ My Great Organization\nAll rights reserved. - -# For possible values, launch with the -Dcantaloupe.list_fonts option. -cantaloupe_overlays_BasicStrategy_string_font: Helvetica - -# Font size in points. -cantaloupe_overlays_BasicStrategy_string_font_size: 24 - -# If the string doesn't fit in the image at the above size, the largest size -# at which it does fit will be used, down to this. -cantaloupe_overlays_BasicStrategy_string_font_min_size: 18 - -# Font weight. 1 = regular, 2 = bold. Note that many fonts don't support -# fractional weights. -cantaloupe_overlays_BasicStrategy_string_font_weight: 1.0 - -# Point spacing between glyphs, typically between -0.1 and 0.1. -cantaloupe_overlays_BasicStrategy_string_glyph_spacing: 0.02 - -# CSS color syntax is supported. -cantaloupe_overlays_BasicStrategy_string_color: white - -# CSS color syntax is supported. -cantaloupe_overlays_BasicStrategy_string_stroke_color: black - -# Stroke width in pixels. -cantaloupe_overlays_BasicStrategy_string_stroke_width: 1 - -# Color of a background to draw under the string. -# CSS color syntax is supported. -cantaloupe_overlays_BasicStrategy_string_background_color: rgba(0, 0, 0, 100) - -# Allowed values: `top left`, `top center`, `top right`, `left center`, -# `center`, `right center`, `bottom left`, `bottom center`, `bottom right`. -cantaloupe_overlays_BasicStrategy_position: bottom right - -# Pixel margin between the overlay and the image edge. -cantaloupe_overlays_BasicStrategy_inset: 10 - -# Output images less than this many pixels wide will not receive an overlay. -# Set to 0 to add the overlay regardless. -cantaloupe_overlays_BasicStrategy_output_width_threshold: 400 - -# Output images less than this many pixels tall will not receive an overlay. -# Set to 0 to add the overlay regardless. -cantaloupe_overlays_BasicStrategy_output_height_threshold: 300 - -########################################################################### -# REDACTIONS -########################################################################### - -# Whether to enable redactions. See the user manual for information about -# how these work. -cantaloupe_redaction_enabled: "false" - -########################################################################### -# METADATA -########################################################################### - -# Whether to attempt to copy source image metadata (EXIF, IPTC, XMP) into -# derivative images. (This is not foolproof; see the user manual.) -cantaloupe_metadata_preserve: "false" - -# Whether to respect the EXIF "Orientation" field to auto-rotate images. -# The check for this field can impair performance slightly. -cantaloupe_metadata_respect_orientation: "false" - -########################################################################### -# LOGGING -########################################################################### - -#---------------------------------------- -# Application Log -#---------------------------------------- - -# `trace`, `debug`, `info`, `warn`, `error`, `all`, or `off` -cantaloupe_log_application_level: debug - -cantaloupe_log_application_ConsoleAppender_enabled: "true" - -cantaloupe_log_application_FileAppender_enabled: "false" -cantaloupe_log_application_FileAppender_pathname: /path/to/logs/application.log - -# RollingFileAppender is an alternative to using something like -# FileAppender + logrotate. -cantaloupe_log_application_RollingFileAppender_enabled: "false" -cantaloupe_log_application_RollingFileAppender_pathname: /path/to/logs/application.log -cantaloupe_log_application_RollingFileAppender_policy: TimeBasedRollingPolicy -cantaloupe_log_application_RollingFileAppender_TimeBasedRollingPolicy_filename_pattern: /path/to/logs/application-%d{yyyy-MM-dd}.log -cantaloupe_log_application_RollingFileAppender_TimeBasedRollingPolicy_max_history: 30 - -# See the "SyslogAppender" section for a list of facilities: -# http://logback.qos.ch/manual/appenders.html -cantaloupe_log_application_SyslogAppender_enabled: "false" -cantaloupe_log_application_SyslogAppender_host: -cantaloupe_log_application_SyslogAppender_port: 514 -cantaloupe_log_application_SyslogAppender_facility: LOCAL0 - -#---------------------------------------- -# Access Log -#---------------------------------------- - -cantaloupe_log_access_ConsoleAppender_enabled: "false" - -cantaloupe_log_access_FileAppender_enabled: "false" -cantaloupe_log_access_FileAppender_pathname: /path/to/logs/access.log - -# RollingFileAppender is an alternative to using something like -# FileAppender + logrotate. -cantaloupe_log_access_RollingFileAppender_enabled: "false" -cantaloupe_log_access_RollingFileAppender_pathname: /path/to/logs/access.log -cantaloupe_log_access_RollingFileAppender_policy: TimeBasedRollingPolicy -cantaloupe_log_access_RollingFileAppender_TimeBasedRollingPolicy_filename_pattern: /path/to/logs/access-%d{yyyy-MM-dd}.log -cantaloupe_log_access_RollingFileAppender_TimeBasedRollingPolicy_max_history: 30 - -# See the "SyslogAppender" section for a list of facilities: -# http://logback.qos.ch/manual/appenders.html -cantaloupe_log_access_SyslogAppender_enabled: "false" -cantaloupe_log_access_SyslogAppender_host: -cantaloupe_log_access_SyslogAppender_port: 514 -cantaloupe_log_access_SyslogAppender_facility: LOCAL0 diff --git a/roles/internal/cantaloupe/tasks/cache.yml b/roles/internal/cantaloupe/tasks/cache.yml deleted file mode 100644 index ecfd1c9b..00000000 --- a/roles/internal/cantaloupe/tasks/cache.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: create cantaloupe cache dir - file: - state: directory - path: "{{ cantaloupe_FilesystemCache_pathname }}" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" diff --git a/roles/internal/cantaloupe/tasks/config.yml b/roles/internal/cantaloupe/tasks/config.yml deleted file mode 100644 index 93d1b214..00000000 --- a/roles/internal/cantaloupe/tasks/config.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Template Cantaloupe Properties - template: - src: cantaloupe.properties.j2 - dest: "{{ cantaloupe_symlink }}/cantaloupe.properties" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" diff --git a/roles/internal/cantaloupe/tasks/install.yml b/roles/internal/cantaloupe/tasks/install.yml deleted file mode 100644 index fc080d65..00000000 --- a/roles/internal/cantaloupe/tasks/install.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- name: Install Cantaloupe - unarchive: - remote_src: yes - src: https://github.com/medusa-project/cantaloupe/releases/download/v{{ cantaloupe_version }}/Cantaloupe-{{ cantaloupe_version }}.zip - dest: "{{ cantaloupe_install_root }}" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" - creates: "{{ cantaloupe_install_root }}/Cantaloupe-{{ cantaloupe_version }}" - -- name: Create Cantaloupe symlink - file: - state: link - src: "{{ cantaloupe_install_root }}/Cantaloupe-{{ cantaloupe_version }}" - dest: "{{ cantaloupe_symlink }}" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" - -- name: Create Cantaloupe log path - file: - state: directory - path: "{{ cantaloupe_log_path }}" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" diff --git a/roles/internal/cantaloupe/tasks/main.yml b/roles/internal/cantaloupe/tasks/main.yml deleted file mode 100644 index 7f9123de..00000000 --- a/roles/internal/cantaloupe/tasks/main.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -- include: install.yml - tags: - - cantaloupe - - cantaloupe-install - -- include: config.yml - tags: - - cantaloupe - - cantaloupe-config - -- include: web.yml - tags: - - cantaloupe - - cantaloupe-web - when: cantaloupe_deploy_war - -- include: cache.yml - tags: - - cantaloupe - - cantaloupe-cache - when: cantaloupe_create_FilesystemCache_dir diff --git a/roles/internal/cantaloupe/tasks/web.yml b/roles/internal/cantaloupe/tasks/web.yml deleted file mode 100644 index 72ba6977..00000000 --- a/roles/internal/cantaloupe/tasks/web.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: Install Cantaloupe web service - copy: - remote_src: yes - src: /opt/Cantaloupe-{{ cantaloupe_version }}/Cantaloupe-{{ cantaloupe_version }}.war - dest: "{{ cantaloupe_deploy_war_path }}/{{ cantaloupe_deploy_war_filename }}.war" - owner: "{{ cantaloupe_user }}" - group: "{{ cantaloupe_group }}" diff --git a/roles/internal/cantaloupe/templates/cantaloupe.properties.j2 b/roles/internal/cantaloupe/templates/cantaloupe.properties.j2 deleted file mode 100644 index c69cc4ef..00000000 --- a/roles/internal/cantaloupe/templates/cantaloupe.properties.j2 +++ /dev/null @@ -1,315 +0,0 @@ -########################################################################### -# This file is managed by Ansible -########################################################################### - -########################################################################### -# GENERAL SETTINGS -########################################################################### - -http.enabled = {{ cantaloupe_http_enabled }} -http.host = {{ cantaloupe_http_host }} -http.port = {{ cantaloupe_http_port }} -https.enabled = {{ cantaloupe_https_enabled }} -https.host = {{ cantaloupe_https_host }} -https.port = {{ cantaloupe_https_port }} -https.key_store_type = {{ cantaloupe_https_key_store_type }} -https.key_store_password = {{ cantaloupe_https_key_store_password }} -https.key_store_path = {{ cantaloupe_https_key_store_path }} -https.key_password = {{ cantaloupe_https_key_password }} -auth.basic.enabled = {{ cantaloupe_auth_basic_enabled }} -auth.basic.username = {{ cantaloupe_auth_basic_username }} -auth.basic.secret = {{ cantaloupe_auth_basic_secret }} -admin.enabled = {{ cantaloupe_admin_enabled }} -admin.password = {{ cantaloupe_admin_password }} -base_uri = {{ cantaloupe_base_uri }} -slash_substitute = {{ cantaloupe_slash_substitute }} -max_pixels = {{ cantaloupe_max_pixels }} -print_stack_trace_on_error_pages = {{ cantaloupe_print_stack_trace_on_error_pages }} - -########################################################################### -# DELEGATE SCRIPT -########################################################################### - -delegate_script.enabled = {{ cantaloupe_delegate_script_enabled }} -delegate_script.pathname = {{ cantaloupe_delegate_script_pathname }} -delegate_script.cache.enabled = {{ cantaloupe_delegate_script_cache_enabled }} - -########################################################################### -# ENDPOINTS -########################################################################### - -endpoint.iiif.1.enabled = {{ cantaloupe_endpoint_iiif_1_enabled }} -endpoint.iiif.2.enabled = {{ cantaloupe_endpoint_iiif_2_enabled }} -endpoint.iiif.content_disposition = {{ cantaloupe_endpoint_iiif_content_disposition }} -endpoint.iiif.min_tile_size = {{ cantaloupe_endpoint_iiif_min_tile_size }} -endpoint.iiif.2.restrict_to_sizes = {{ cantaloupe_endpoint_iiif_2_restrict_to_sizes }} -endpoint.api.enabled = {{ cantaloupe_endpoint_api_enabled }} -endpoint.api.username = {{ cantaloupe_endpoint_api_username }} -endpoint.api.secret = {{ cantaloupe_endpoint_api_secret }} - -########################################################################### -# RESOLVERS -########################################################################### - -resolver.static = {{ cantaloupe_resolver_static }} -resolver.delegate = {{ cantaloupe_resolver_delegate }} - -#---------------------------------------- -# FilesystemResolver -#---------------------------------------- - -FilesystemResolver.lookup_strategy = {{ cantaloupe_FilesystemResolver_lookup_strategy }} -FilesystemResolver.BasicLookupStrategy.path_prefix = {{ cantaloupe_FilesystemResolver_BasicLookupStrategy_path_prefix }} -FilesystemResolver.BasicLookupStrategy.path_suffix = {{ cantaloupe_FilesystemResolver_BasicLookupStrategy_path_suffix }} - -#---------------------------------------- -# HttpResolver -#---------------------------------------- - -HttpResolver.lookup_strategy = {{ cantaloupe_HttpResolver_lookup_strategy }} -HttpResolver.BasicLookupStrategy.url_prefix = {{ cantaloupe_HttpResolver_BasicLookupStrategy_url_prefix }} -HttpResolver.BasicLookupStrategy.url_suffix = {{ cantaloupe_HttpResolver_BasicLookupStrategy_url_suffix }} -HttpResolver.auth.basic.username = {{ cantaloupe_HttpResolver_auth_basic_username }} -HttpResolver.auth.basic.secret = {{ cantaloupe_HttpResolver_auth_basic_secret }} - -#---------------------------------------- -# JdbcResolver -#---------------------------------------- - -JdbcResolver.url = {{ cantaloupe_JdbcResolver_url }} -JdbcResolver.user = {{ cantaloupe_JdbcResolver_user }} -JdbcResolver.password = {{ cantaloupe_JdbcResolver_password }} -JdbcResolver.connection_timeout = {{ cantaloupe_JdbcResolver_connection_timeout }} - -#---------------------------------------- -# AmazonS3Resolver -#---------------------------------------- - -AmazonS3Resolver.access_key_id = {{ cantaloupe_AmazonS3Resolver_access_key_id }} -AmazonS3Resolver.secret_key = {{ cantaloupe_AmazonS3Resolver_secret_key }} -AmazonS3Resolver.bucket.name = {{ cantaloupe_AmazonS3Resolver_bucket_name }} -AmazonS3Resolver.bucket.region = {{ cantaloupe_AmazonS3Resolver_bucket_region }} -AmazonS3Resolver.lookup_strategy = {{ cantaloupe_AmazonS3Resolver_lookup_strategy }} - -#---------------------------------------- -# AzureStorageResolver -#---------------------------------------- - -AzureStorageResolver.account_name = {{ cantaloupe_AzureStorageResolver_account_name }} -AzureStorageResolver.account_key = {{ cantaloupe_AzureStorageResolver_account_key }} -AzureStorageResolver.container_name = {{ cantaloupe_AzureStorageResolver_container_name }} -AzureStorageResolver.lookup_strategy = {{ cantaloupe_AzureStorageResolver_lookup_strategy }} - -########################################################################### -# PROCESSORS -########################################################################### - -#---------------------------------------- -# Processor Selection -#---------------------------------------- - -processor.avi = {{ cantaloupe_processor_avi }} -processor.bmp = {{ cantaloupe_processor_bmp }} -processor.dcm = {{ cantaloupe_processor_dcm }} -processor.gif = {{ cantaloupe_processor_gif }} -processor.jp2 = {{ cantaloupe_processor_jp2 }} -processor.jpg = {{ cantaloupe_processor_jpg }} -processor.mov = {{ cantaloupe_processor_mov }} -processor.mp4 = {{ cantaloupe_processor_mp4 }} -processor.mpg = {{ cantaloupe_processor_mpg }} -processor.pdf = {{ cantaloupe_processor_pdf }} -processor.png = {{ cantaloupe_processor_png }} -processor.tif = {{ cantaloupe_processor_tif }} -processor.webm = {{ cantaloupe_processor_webm }} -processor.webp = {{ cantaloupe_processor_webp }} -processor.fallback = {{ cantaloupe_processor_fallback }} - -#---------------------------------------- -# Global Processor Configuration -#---------------------------------------- - -processor.normalize = {{ cantaloupe_processor_normalize }} -processor.background_color = {{ cantaloupe_processor_background_color }} -processor.downscale_filter = {{ cantaloupe_processor_downscale_filter }} -processor.upscale_filter = {{ cantaloupe_processor_upscale_filter }} -processor.sharpen = {{ cantaloupe_processor_sharpen }} -processor.jpg.progressive = {{ cantaloupe_processor_jpg_progressive }} -processor.jpg.quality = {{ cantaloupe_processor_jpg_quality }} -processor.tif.compression = {{ cantaloupe_processor_tif_compression }} -StreamProcessor.retrieval_strategy = {{ cantaloupe_StreamProcessor_retrieval_strategy }} - -#---------------------------------------- -# FfmpegProcessor -#---------------------------------------- - -FfmpegProcessor.path_to_binaries = {{ cantaloupe_FfmpegProcessor_path_to_binaries }} - -#---------------------------------------- -# GraphicsMagickProcessor -#---------------------------------------- - -GraphicsMagickProcessor.path_to_binaries = {{ cantaloupe_GraphicsMagickProcessor_path_to_binaries }} - -#---------------------------------------- -# ImageMagickProcessor -#---------------------------------------- - -ImageMagickProcessor.path_to_binaries = {{ cantaloupe_ImageMagickProcessor_path_to_binaries }} - -#---------------------------------------- -# KakaduProcessor -#---------------------------------------- - -KakaduProcessor.path_to_binaries = {{ cantaloupe_KakaduProcessor_path_to_binaries }} - -#---------------------------------------- -# OpenJpegProcessor -#---------------------------------------- - -OpenJpegProcessor.path_to_binaries = {{ cantaloupe_OpenJpegProcessor_path_to_binaries }} - -#---------------------------------------- -# PdfBoxProcessor -#---------------------------------------- - -PdfBoxProcessor.dpi = {{ cantaloupe_PdfBoxProcessor_dpi }} - -########################################################################### -# CLIENT-SIDE CACHING -########################################################################### - -cache.client.enabled = {{ cantaloupe_cache_client_enabled }} -cache.client.max_age = {{ cantaloupe_cache_client_max_age }} -cache.client.shared_max_age = {{ cantaloupe_cache_client_shared_max_age }} -cache.client.public = {{ cantaloupe_cache_client_public }} -cache.client.private = {{ cantaloupe_cache_client_private }} -cache.client.no_cache = {{ cantaloupe_cache_client_no_cache }} -cache.client.no_store = {{ cantaloupe_cache_client_no_store }} -cache.client.must_revalidate = {{ cantaloupe_cache_client_must_revalidate }} -cache.client.proxy_revalidate = {{ cantaloupe_cache_client_proxy_revalidate }} -cache.client.no_transform = {{ cantaloupe_cache_client_no_transform }} - -########################################################################### -# SERVER-SIDE CACHING -########################################################################### - -cache.source = {{ cantaloupe_cache_source }} -cache.derivative = {{ cantaloupe_cache_derivative }} -cache.server.ttl_seconds = {{ cantaloupe_cache_server_ttl_seconds }} -cache.server.purge_missing = {{ cantaloupe_cache_server_purge_missing }} -cache.server.resolve_first = {{ cantaloupe_cache_server_resolve_first }} -cache.server.worker.enabled = {{ cantaloupe_cache_server_worker_enabled }} -cache.server.worker.interval = {{ cantaloupe_cache_server_worker_interval }} - -#---------------------------------------- -# FilesystemCache -#---------------------------------------- - -FilesystemCache.pathname = {{ cantaloupe_FilesystemCache_pathname }} -FilesystemCache.dir.depth = {{ cantaloupe_FilesystemCache_dir_depth }} -FilesystemCache.dir.name_length = {{ cantaloupe_FilesystemCache_dir_name_length }} - -#---------------------------------------- -# JdbcCache -#---------------------------------------- - -JdbcCache.url = {{ cantaloupe_JdbcCache_url }} -JdbcCache.user = {{ cantaloupe_JdbcCache_user }} -JdbcCache.password = {{ cantaloupe_JdbcCache_password }} -JdbcCache.connection_timeout = {{ cantaloupe_JdbcCache_connection_timeout }} -JdbcCache.derivative_image_table = {{ cantaloupe_JdbcCache_derivative_image_table }} -JdbcCache.info_table = {{ cantaloupe_JdbcCache_info_table }} - -#---------------------------------------- -# AmazonS3Cache -#---------------------------------------- - -AmazonS3Cache.access_key_id = {{ cantaloupe_AmazonS3Cache_access_key_id }} -AmazonS3Cache.secret_key = {{ cantaloupe_AmazonS3Cache_secret_key }} -AmazonS3Cache.bucket.name = {{ cantaloupe_AmazonS3Cache_bucket_name }} -AmazonS3Cache.bucket.region = {{ cantaloupe_AmazonS3Cache_bucket_region }} -AmazonS3Cache.object_key_prefix = {{ cantaloupe_AmazonS3Cache_object_key_prefix }} - -#---------------------------------------- -# AzureStorageCache -#---------------------------------------- - -AzureStorageCache.account_name = {{ cantaloupe_AzureStorageCache_account_name }} -AzureStorageCache.account_key = {{ cantaloupe_AzureStorageCache_account_key }} -AzureStorageCache.container_name = {{ cantaloupe_AzureStorageCache_container_name }} -AzureStorageCache.object_key_prefix = {{ cantaloupe_AzureStorageCache_object_key_prefix }} - -########################################################################### -# OVERLAYS -########################################################################### - -overlays.enabled = {{ cantaloupe_overlays_enabled }} -overlays.strategy = {{ cantaloupe_overlays_strategy }} -overlays.BasicStrategy.type = {{ cantaloupe_overlays_BasicStrategy_type }} -overlays.BasicStrategy.image = {{ cantaloupe_overlays_BasicStrategy_image }} -overlays.BasicStrategy.string = {{ cantaloupe_overlays_BasicStrategy_string }} -overlays.BasicStrategy.string.font = {{ cantaloupe_overlays_BasicStrategy_string_font }} -overlays.BasicStrategy.string.font.size = {{ cantaloupe_overlays_BasicStrategy_string_font_size }} -overlays.BasicStrategy.string.font.min_size = {{ cantaloupe_overlays_BasicStrategy_string_font_min_size }} -overlays.BasicStrategy.string.font.weight = {{ cantaloupe_overlays_BasicStrategy_string_font_weight }} -overlays.BasicStrategy.string.glyph_spacing = {{ cantaloupe_overlays_BasicStrategy_string_glyph_spacing }} -overlays.BasicStrategy.string.color = {{ cantaloupe_overlays_BasicStrategy_string_color }} -overlays.BasicStrategy.string.stroke.color = {{ cantaloupe_overlays_BasicStrategy_string_stroke_color }} -overlays.BasicStrategy.string.stroke.width = {{ cantaloupe_overlays_BasicStrategy_string_stroke_width }} -overlays.BasicStrategy.string.background.color = {{ cantaloupe_overlays_BasicStrategy_string_background_color }} -overlays.BasicStrategy.position = {{ cantaloupe_overlays_BasicStrategy_position }} -overlays.BasicStrategy.inset = {{ cantaloupe_overlays_BasicStrategy_inset }} -overlays.BasicStrategy.output_width_threshold = {{ cantaloupe_overlays_BasicStrategy_output_width_threshold }} -overlays.BasicStrategy.output_height_threshold = {{ cantaloupe_overlays_BasicStrategy_output_height_threshold }} - -########################################################################### -# REDACTIONS -########################################################################### - -redaction.enabled = {{ cantaloupe_redaction_enabled }} - -########################################################################### -# METADATA -########################################################################### - -metadata.preserve = {{ cantaloupe_metadata_preserve }} -metadata.respect_orientation = {{ cantaloupe_metadata_respect_orientation }} - -########################################################################### -# LOGGING -########################################################################### - -#---------------------------------------- -# Application Log -#---------------------------------------- - -log.application.level = {{ cantaloupe_log_application_level }} -log.application.ConsoleAppender.enabled = {{ cantaloupe_log_application_ConsoleAppender_enabled }} -log.application.FileAppender.enabled = {{ cantaloupe_log_application_FileAppender_enabled }} -log.application.FileAppender.pathname = {{ cantaloupe_log_application_FileAppender_pathname }} -log.application.RollingFileAppender.enabled = {{ cantaloupe_log_application_RollingFileAppender_enabled }} -log.application.RollingFileAppender.pathname = {{ cantaloupe_log_application_RollingFileAppender_pathname }} -log.application.RollingFileAppender.policy = {{ cantaloupe_log_application_RollingFileAppender_policy }} -log.application.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = {{ cantaloupe_log_application_RollingFileAppender_TimeBasedRollingPolicy_filename_pattern }} -log.application.RollingFileAppender.TimeBasedRollingPolicy.max_history = {{ cantaloupe_log_application_RollingFileAppender_TimeBasedRollingPolicy_max_history }} -log.application.SyslogAppender.enabled = {{ cantaloupe_log_application_SyslogAppender_enabled }} -log.application.SyslogAppender.host = {{ cantaloupe_log_application_SyslogAppender_host }} -log.application.SyslogAppender.port = {{ cantaloupe_log_application_SyslogAppender_port }} -log.application.SyslogAppender.facility = {{ cantaloupe_log_application_SyslogAppender_facility }} - -#---------------------------------------- -# Access Log -#---------------------------------------- - -log.access.ConsoleAppender.enabled = {{ cantaloupe_log_access_ConsoleAppender_enabled }} -log.access.FileAppender.enabled = {{ cantaloupe_log_access_FileAppender_enabled }} -log.access.FileAppender.pathname = {{ cantaloupe_log_access_FileAppender_pathname }} -log.access.RollingFileAppender.enabled = {{ cantaloupe_log_access_RollingFileAppender_enabled }} -log.access.RollingFileAppender.pathname = {{ cantaloupe_log_access_RollingFileAppender_pathname }} -log.access.RollingFileAppender.policy = {{ cantaloupe_log_access_RollingFileAppender_policy }} -log.access.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = {{ cantaloupe_log_access_RollingFileAppender_TimeBasedRollingPolicy_filename_pattern }} -log.access.RollingFileAppender.TimeBasedRollingPolicy.max_history = {{ cantaloupe_log_access_RollingFileAppender_TimeBasedRollingPolicy_max_history }}x -log.access.SyslogAppender.enabled = {{ cantaloupe_log_access_SyslogAppender_enabled }} -log.access.SyslogAppender.host = {{ cantaloupe_log_access_SyslogAppender_host }} -log.access.SyslogAppender.port = {{ cantaloupe_log_access_SyslogAppender_port }} -log.access.SyslogAppender.facility = {{ cantaloupe_log_access_SyslogAppender_facility }} diff --git a/roles/internal/crayfish/defaults/main.yml b/roles/internal/crayfish/defaults/main.yml deleted file mode 100644 index 2ccf9c03..00000000 --- a/roles/internal/crayfish/defaults/main.yml +++ /dev/null @@ -1,92 +0,0 @@ -crayfish_user: www-data -crayfish_version_tag: 0.0.8 - -crayfish_services: - - Gemini - - Houdini - - Milliner - - Hypercube - -crayfish_install_dir: /var/www/html/Crayfish - -crayfish_syn_token: islandora - -# possible options: mysql, pgsql -crayfish_db: mysql -crayfish_pgsql_user: postgres -crayfish_db_user: crayfish -crayfish_db_password: islandora -crayfish_db_name: gemini -crayfish_db_driver: "{% if crayfish_db == 'mysql' %}pdo_mysql{% elif crayfish_db == 'pgsql' %}pdo_pgsql{% endif %}" -crayfish_db_port: "{% if crayfish_db == 'mysql' %}3306{% elif crayfish_db == 'pgsql' %}5432{% endif %}" - -# Gemini default config -crayfish_gemini_log_file: /var/log/islandora/gemini.log -crayfish_gemini_log_level: DEBUG - -crayfish_gemini_debug: TRUE - -crayfish_gemini_fedora_base_url: http://localhost:8080/fcrepo/rest - -crayfish_gemini_jwt_enabled: TRUE -crayfish_gemini_jwt_config: ../syn-settings.xml - -crayfish_gemini_db_options: - driver: "{{ crayfish_db_driver }}" - host: 127.0.0.1 - port: "{{ crayfish_db_port }}" - dbname: "{{ crayfish_db_name }}" - user: "{{ crayfish_db_user }}" - password: "{{ crayfish_db_password }}" - -# Houdini default config -crayfish_houdini_log_file: /var/log/islandora/houdini.log -crayfish_houdini_log_level: DEBUG - -crayfish_houdini_jwt_enabled: TRUE -crayfish_houdini_jwt_config: ../syn-settings.xml - -crayfish_houdini_fedora_base_url: http://localhost:8080/fcrepo/rest - -crayfish_houdini_executable_config: - executable: convert - formats: - valid: - - image/jpeg - - image/png - - image/tiff - - image/jp2 - default: image/jpeg - -# Hypercube default config -crayfish_hypercube_log_file: /var/log/islandora/hypercube.log -crayfish_hypercube_log_level: DEBUG - -crayfish_hypercube_jwt_enabled: TRUE -crayfish_hypercube_jwt_config: ../syn-settings.xml - -crayfish_hypercube_fedora_base_url: http://localhost:8080/fcrepo/rest -crayfish_hypercube_executable: tesseract - -# Milliner default config -crayfish_milliner_log_file: /var/log/islandora/milliner.log -crayfish_milliner_log_level: DEBUG - -crayfish_milliner_jwt_enabled: TRUE -crayfish_milliner_jwt_config: ../syn-settings.xml - -crayfish_milliner_debug: TRUE - -crayfish_milliner_fedora_base_url: http://localhost:8080/fcrepo/rest -crayfish_milliner_drupal_base_url: http://localhost:8000 -crayfish_milliner_gemini_base_url: http://localhost:8000/gemini -crayfish_milliner_modified_date_predicate: http://schema.org/dateModified - -crayfish_milliner_db_options: - driver: "{{ crayfish_db_driver }}" - host: 127.0.0.1 - port: "{{ crayfish_db_port }}" - dbname: "{{ crayfish_db_name }}" - user: "{{ crayfish_db_user }}" - password: "{{ crayfish_db_password }}" - diff --git a/roles/internal/crayfish/tasks/db-mysql.yml b/roles/internal/crayfish/tasks/db-mysql.yml deleted file mode 100644 index 9c03f8b6..00000000 --- a/roles/internal/crayfish/tasks/db-mysql.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- - -- name: Create Gemini DB (mysql) - mysql_db: - name: "{{ crayfish_db_name }}" - state: present - register: gemini_db_exists - -- name: Create Gemini DB User (mysql) - mysql_user: - name: "{{ crayfish_db_user }}" - password: "{{ crayfish_db_password }}" - state: present - priv: "{{crayfish_db_name}}.*:ALL" - -- name: Grab Gemini db schema (mysql) - template: - src: "database/gemini-mysql.sql" - dest: "/tmp/gemini.sql" - when: gemini_db_exists.changed - -- name: Install Gemini db schema (mysql) - mysql_db: - state: import - name: all - target: "/tmp/gemini.sql" - when: gemini_db_exists.changed diff --git a/roles/internal/crayfish/tasks/db-pgsql.yml b/roles/internal/crayfish/tasks/db-pgsql.yml deleted file mode 100644 index 1c80fbd9..00000000 --- a/roles/internal/crayfish/tasks/db-pgsql.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -- name: Create Gemini DB User (pgsql) - postgresql_user: - name: "{{ crayfish_db_user }}" - password: "{{ crayfish_db_password }}" - -- name: Create Gemini DB (pgsql) - postgresql_db: - name: "{{ crayfish_db_name }}" - state: present - owner: "{{ crayfish_db_user }}" - register: gemini_db_exists - -- name: Grab Gemini db schema (pgsql) - template: - src: "database/gemini-pgsql.sql" - dest: "/tmp/gemini.sql" - when: gemini_db_exists.changed - -- name: Install Gemini db schema (pgsql) - command: psql -d {{ crayfish_db_name }} -f /tmp/gemini.sql - when: gemini_db_exists.changed diff --git a/roles/internal/crayfish/tasks/install.yml b/roles/internal/crayfish/tasks/install.yml deleted file mode 100644 index 770ad049..00000000 --- a/roles/internal/crayfish/tasks/install.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- - -- name: Install requisite package repositories - apt_repository: - repo: 'ppa:lyrasis/imagemagick-jp2' - -- name: Install requisite packages - apt: - name: "{{item}}" - state: present - with_items: - - tesseract-ocr - - imagemagick - -- name: Install crayfish code - git: - repo: https://github.com/Islandora-CLAW/Crayfish.git - dest: "{{ crayfish_install_dir }}" - version: "{{ crayfish_version_tag }}" - -- name: Build crayfish code including dependencies - composer: - command: install - working_dir: "{{ crayfish_install_dir }}/{{item}}" - with_items: "{{ crayfish_services }}" - -- name: Configure crayfish code - template: - src: "{{item}}.config.yaml.j2" - dest: "{{ crayfish_install_dir }}/{{item}}/cfg/config.yaml" - with_items: "{{ crayfish_services }}" - -- name: Get SSL keys - include_role: - name: keymaster - vars: - ssl_key_public_output_path: "{{ crayfish_install_dir }}/public.key" - -- name: Install auth config - template: - src: "syn-settings.xml.jp2" - dest: "{{ crayfish_install_dir }}/{{item}}/syn-settings.xml" - with_items: "{{ crayfish_services }}" - -- name: Create Islandora log dir - file: - path: /var/log/islandora - state: directory - owner: www-data - group: www-data - mode: "u+rwx,g+r,o-rwx" - -- name: Install crayfish httpd config file - template: - src: "httpd/{{item}}.conf.j2" - dest: "/etc/apache2/conf-available/{{item}}.conf" - owner: "{{ crayfish_user }}" - group: "{{ crayfish_user }}" - with_items: "{{ crayfish_services }}" - -- name: Symlink crayfish httpd config file into action - file: - src: "/etc/apache2/conf-available/{{item}}.conf" - dest: "/etc/apache2/conf-enabled/{{item}}.conf" - owner: "{{ crayfish_user }}" - group: "{{ crayfish_user }}" - state: link - with_items: "{{ crayfish_services }}" - notify: restart apache diff --git a/roles/internal/crayfish/tasks/main.yml b/roles/internal/crayfish/tasks/main.yml deleted file mode 100644 index 5e583b0f..00000000 --- a/roles/internal/crayfish/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- - -- include: db-mysql.yml - tags: - - crayfish - - crayfish-db - when: crayfish_db == 'mysql' - -- include: db-pgsql.yml - tags: - - crayfish - - crayfish-db - when: crayfish_db == 'pgsql' - become_user: "{{ crayfish_pgsql_user }}" - -- include: install.yml - tags: - - crayfish - - crayfish-install diff --git a/roles/internal/crayfish/templates/Gemini.config.yaml.j2 b/roles/internal/crayfish/templates/Gemini.config.yaml.j2 deleted file mode 100644 index 1cb2f82d..00000000 --- a/roles/internal/crayfish/templates/Gemini.config.yaml.j2 +++ /dev/null @@ -1,30 +0,0 @@ ---- - -# managed by Ansible - -fedora_base_url: {{ crayfish_gemini_fedora_base_url }} - -debug: {{ crayfish_gemini_debug }} - -db.options: - driver: {{ crayfish_gemini_db_options.driver }} - host: {{ crayfish_gemini_db_options.host }} - port: {{ crayfish_gemini_db_options.port }} - dbname: {{ crayfish_gemini_db_options.dbname }} - user: {{ crayfish_gemini_db_options.user }} - password: {{ crayfish_gemini_db_options.password }} - -log: - # Valid log levels are: - # DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY, NONE - # log level none won't open logfile - level: {{ crayfish_gemini_log_level }} - file: {{ crayfish_gemini_log_file }} - -syn: - # toggles JWT security for service - enable: {{ crayfish_gemini_jwt_enabled }} - # Path to the syn config file for authentication. - # example can be found here: - # https://github.com/Islandora-CLAW/Syn/blob/master/conf/syn-settings.example.xml - config: {{ crayfish_gemini_jwt_config }} diff --git a/roles/internal/crayfish/templates/Houdini.config.yaml.j2 b/roles/internal/crayfish/templates/Houdini.config.yaml.j2 deleted file mode 100644 index f952c0f3..00000000 --- a/roles/internal/crayfish/templates/Houdini.config.yaml.j2 +++ /dev/null @@ -1,31 +0,0 @@ ---- - -# managed by Ansible - -houdini: - # path to the convert executable - executable: {{ crayfish_houdini_executable_config.executable }} - formats: - valid: -{% for type in crayfish_houdini_executable_config.formats.valid %} - - {{ type }} -{% endfor %} - default: {{ crayfish_houdini_executable_config.formats.default }} - -fedora_resource: - base_url: {{ crayfish_houdini_fedora_base_url }} - -log: - # Valid log levels are: - # DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY, NONE - # log level none won't open logfile - level: {{ crayfish_houdini_log_level }} - file: {{ crayfish_houdini_log_file }} - -syn: - # toggles JWT security for service - enable: {{ crayfish_houdini_jwt_enabled }} - # Path to the syn config file for authentication. - # example can be found here: - # https://github.com/Islandora-CLAW/Syn/blob/master/conf/syn-settings.example.xml - config: {{ crayfish_houdini_jwt_config }} \ No newline at end of file diff --git a/roles/internal/crayfish/templates/Hypercube.config.yaml.j2 b/roles/internal/crayfish/templates/Hypercube.config.yaml.j2 deleted file mode 100644 index a0d7ada3..00000000 --- a/roles/internal/crayfish/templates/Hypercube.config.yaml.j2 +++ /dev/null @@ -1,25 +0,0 @@ ---- - -# managed by Ansible - -hypercube: - # path to the convert executable - executable: {{ crayfish_hypercube_executable }} - -fedora_resource: - base_url: {{ crayfish_hypercube_fedora_base_url }} - -log: - # Valid log levels are: - # DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY, NONE - # log level none won't open logfile - level: {{ crayfish_hypercube_log_level }} - file: {{ crayfish_hypercube_log_file }} - -syn: - # toggles JWT security for service - enable: {{ crayfish_hypercube_jwt_enabled }} - # Path to the syn config file for authentication. - # example can be found here: - # https://github.com/Islandora-CLAW/Syn/blob/master/conf/syn-settings.example.xml - config: {{ crayfish_hypercube_jwt_config }} \ No newline at end of file diff --git a/roles/internal/crayfish/templates/Milliner.config.yaml.j2 b/roles/internal/crayfish/templates/Milliner.config.yaml.j2 deleted file mode 100644 index 0b88fcd5..00000000 --- a/roles/internal/crayfish/templates/Milliner.config.yaml.j2 +++ /dev/null @@ -1,34 +0,0 @@ ---- - -# managed by Ansible - -fedora_base_url: {{ crayfish_milliner_fedora_base_url }} -drupal_base_url: {{ crayfish_milliner_drupal_base_url }} -gemini_base_url: {{ crayfish_milliner_gemini_base_url }} - -modified_date_predicate: {{ crayfish_milliner_modified_date_predicate }} - -debug: {{ crayfish_milliner_debug }} - -db.options: - driver: {{ crayfish_milliner_db_options.driver }} - host: {{ crayfish_milliner_db_options.host }} - port: {{ crayfish_milliner_db_options.port }} - dbname: {{ crayfish_milliner_db_options.dbname }} - user: {{ crayfish_milliner_db_options.user }} - password: {{ crayfish_milliner_db_options.password }} - -log: - # Valid log levels are: - # DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY, NONE - # log level none won't open logfile - level: "{{ crayfish_milliner_log_level }}" - file: "{{ crayfish_milliner_log_file }}" - -syn: - # toggles JWT security for service - enable: "{{ crayfish_milliner_jwt_enabled }}" - # Path to the syn config file for authentication. - # example can be found here: - # https://github.com/Islandora-CLAW/Syn/blob/master/conf/syn-settings.example.xml - config: "{{ crayfish_milliner_jwt_config }}" diff --git a/roles/internal/crayfish/templates/database/gemini-mysql.sql b/roles/internal/crayfish/templates/database/gemini-mysql.sql deleted file mode 100644 index d3c632ff..00000000 --- a/roles/internal/crayfish/templates/database/gemini-mysql.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE IF NOT EXISTS {{ crayfish_db_name }}.Gemini ( - id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, - uuid VARCHAR(36) NOT NULL UNIQUE, - drupal VARCHAR(2048) NOT NULL UNIQUE, - fedora VARCHAR(2048) NOT NULL UNIQUE -) ENGINE=InnoDB; diff --git a/roles/internal/crayfish/templates/database/gemini-pgsql.sql b/roles/internal/crayfish/templates/database/gemini-pgsql.sql deleted file mode 100644 index 8d54b15e..00000000 --- a/roles/internal/crayfish/templates/database/gemini-pgsql.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE TABLE Gemini ( - id SERIAL PRIMARY KEY, - uuid VARCHAR(36) NOT NULL UNIQUE, - drupal VARCHAR(2048) NOT NULL UNIQUE, - fedora VARCHAR(2048) NOT NULL UNIQUE -); -ALTER TABLE Gemini OWNER TO {{ crayfish_db_user }}; diff --git a/roles/internal/crayfish/templates/httpd/Gemini.conf.j2 b/roles/internal/crayfish/templates/httpd/Gemini.conf.j2 deleted file mode 100644 index e2256e70..00000000 --- a/roles/internal/crayfish/templates/httpd/Gemini.conf.j2 +++ /dev/null @@ -1,9 +0,0 @@ -# managed by Ansible - -Alias "/gemini" "/var/www/html/Crayfish/Gemini/src" - - FallbackResource /gemini/index.php - Require all granted - DirectoryIndex index.php - SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 - \ No newline at end of file diff --git a/roles/internal/crayfish/templates/httpd/Houdini.conf.j2 b/roles/internal/crayfish/templates/httpd/Houdini.conf.j2 deleted file mode 100644 index 39b72726..00000000 --- a/roles/internal/crayfish/templates/httpd/Houdini.conf.j2 +++ /dev/null @@ -1,9 +0,0 @@ -# managed by Ansible - -Alias "/houdini" "/var/www/html/Crayfish/Houdini/src" - - FallbackResource /houdini/index.php - Require all granted - DirectoryIndex index.php - SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 - diff --git a/roles/internal/crayfish/templates/httpd/Hypercube.conf.j2 b/roles/internal/crayfish/templates/httpd/Hypercube.conf.j2 deleted file mode 100644 index cc1ab2b2..00000000 --- a/roles/internal/crayfish/templates/httpd/Hypercube.conf.j2 +++ /dev/null @@ -1,9 +0,0 @@ -# managed by Ansible - -Alias "/hypercube" "/var/www/html/Crayfish/Hypercube/src" - - FallbackResource /hypercube/index.php - Require all granted - DirectoryIndex index.php - SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 - diff --git a/roles/internal/crayfish/templates/httpd/Milliner.conf.j2 b/roles/internal/crayfish/templates/httpd/Milliner.conf.j2 deleted file mode 100644 index b2f8913f..00000000 --- a/roles/internal/crayfish/templates/httpd/Milliner.conf.j2 +++ /dev/null @@ -1,9 +0,0 @@ -# managed by Ansible - -Alias "/milliner" "/var/www/html/Crayfish/Milliner/src" - - FallbackResource /milliner/index.php - Require all granted - DirectoryIndex index.php - SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 - diff --git a/roles/internal/crayfish/templates/syn-settings.xml.jp2 b/roles/internal/crayfish/templates/syn-settings.xml.jp2 deleted file mode 100644 index 65b04e35..00000000 --- a/roles/internal/crayfish/templates/syn-settings.xml.jp2 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - {{ crayfish_syn_token }} - - diff --git a/roles/internal/fcrepo-syn/defaults/main.yml b/roles/internal/fcrepo-syn/defaults/main.yml deleted file mode 100644 index 446e4e43..00000000 --- a/roles/internal/fcrepo-syn/defaults/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- - -fcrepo_syn_version: 0.1.0 -fcrepo_syn_folder: /opt/syn -fcrepo_syn_user: tomcat8 -fcrepo_syn_tomcat_home: /var/lib/tomcat8 -fcrepo_syn_default_public_key_path: /var/lib/tomcat8/conf/public.key -fcrepo_syn_sites: [] -# - url: -# algorithm: -# encoding: -# anonymous: -# default: -# path: -# key: -fcrepo_syn_tokens: [] -# - user: -# - roles: -# - token: diff --git a/roles/internal/fcrepo-syn/files/web.xml b/roles/internal/fcrepo-syn/files/web.xml deleted file mode 100644 index 7ca2409c..00000000 --- a/roles/internal/fcrepo-syn/files/web.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - Fedora 4 - - - contextConfigLocation - WEB-INF/classes/spring/master.xml - - - - org.fcrepo.http.commons.FedoraContextLoaderListener - - - - jersey-servlet - org.glassfish.jersey.servlet.ServletContainer - - - javax.ws.rs.Application - org.fcrepo.http.commons.FedoraApplication - - - 1 - - - - jersey-servlet - /rest/* - - - - - ETagFilter - org.springframework.web.filter.ShallowEtagHeaderFilter - - - - ETagFilter - /static/* - - - - - Fedora4 - /* - - - * - - - NONE - - - - islandora - - - BASIC - fcrepo - - - diff --git a/roles/internal/fcrepo-syn/tasks/config.yml b/roles/internal/fcrepo-syn/tasks/config.yml deleted file mode 100644 index a1a3d331..00000000 --- a/roles/internal/fcrepo-syn/tasks/config.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- - -- name: Get SSL keys - include_role: - name: keymaster - vars: - ssl_key_public_output_path: "{{ fcrepo_syn_default_public_key_path }}" - -- name: Copy templated syn-settings.xml - template: - src: syn-settings.xml - dest: "{{fcrepo_syn_tomcat_home}}/conf/syn-settings.xml" - owner: "{{fcrepo_syn_user}}" - group: "{{fcrepo_syn_user}}" diff --git a/roles/internal/fcrepo-syn/tasks/install.yml b/roles/internal/fcrepo-syn/tasks/install.yml deleted file mode 100644 index 03a7c631..00000000 --- a/roles/internal/fcrepo-syn/tasks/install.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- - -- name: Create syn home folder - file: - state: directory - path: "{{ fcrepo_syn_folder }}" - owner: "{{ fcrepo_syn_user }}" - group: "{{ fcrepo_syn_user }}" - -- name: Download syn jar file - get_url: - url: https://github.com/Islandora-CLAW/Syn/releases/download/v{{ fcrepo_syn_version }}/islandora-syn-{{ fcrepo_syn_version }}-all.jar - dest: "{{ fcrepo_syn_folder }}" - owner: "{{ fcrepo_syn_user }}" - group: "{{ fcrepo_syn_user }}" diff --git a/roles/internal/fcrepo-syn/tasks/main.yml b/roles/internal/fcrepo-syn/tasks/main.yml deleted file mode 100644 index 4234c911..00000000 --- a/roles/internal/fcrepo-syn/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -- include: install.yml - tags: - - fcrepo-syn - - fcrepo-syn-install - -- include: config.yml - tags: - - fcrepo-syn - - fcrepo-syn-config diff --git a/roles/internal/fcrepo-syn/templates/context.xml b/roles/internal/fcrepo-syn/templates/context.xml deleted file mode 100644 index 66e4110d..00000000 --- a/roles/internal/fcrepo-syn/templates/context.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/roles/internal/fcrepo-syn/templates/syn-settings.xml b/roles/internal/fcrepo-syn/templates/syn-settings.xml deleted file mode 100644 index 7416b33a..00000000 --- a/roles/internal/fcrepo-syn/templates/syn-settings.xml +++ /dev/null @@ -1,45 +0,0 @@ - - -{% for site in fcrepo_syn_sites %} - - {{ site.key }} - - {%- else %} -/> - {%- endif %} -{% endfor %} -{% for token in fcrepo_syn_tokens %} - - - {{token.token}} - -{%- endfor %} - - diff --git a/roles/internal/fcrepo/defaults/main.yml b/roles/internal/fcrepo/defaults/main.yml deleted file mode 100644 index 4ef64c08..00000000 --- a/roles/internal/fcrepo/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ -fcrepo_version: 4.7.2 -fcrepo_user: tomcat8 -fcrepo_data_dir: /var/lib/tomcat8/fcrepo4-data -fcrepo_war_path: "{{ tomcat8_home }}/webapps/fcrepo.war" -fcrepo_home_dir: /opt/fcrepo -fcrepo_activemq_template: activemq.xml.j2 -fcrepo_config_dir: "{{ fcrepo_home_dir }}/configs" diff --git a/roles/internal/fcrepo/tasks/config.yml b/roles/internal/fcrepo/tasks/config.yml deleted file mode 100644 index b8193468..00000000 --- a/roles/internal/fcrepo/tasks/config.yml +++ /dev/null @@ -1,18 +0,0 @@ -- name: Copy templated fcrepo config files - template: - src: "{{ item }}" - dest: "{{ fcrepo_home_dir }}/configs/{{ item }}" - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" - with_items: - - claw.cnd - - repository.json - notify: restart tomcat8 - -- name: Copy fedora activemq configuration - template: - src: "{{ fcrepo_activemq_template }}" - dest: "{{ fcrepo_config_dir }}/activemq.xml" - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" - notify: restart tomcat8 diff --git a/roles/internal/fcrepo/tasks/install.yml b/roles/internal/fcrepo/tasks/install.yml deleted file mode 100644 index ff894b94..00000000 --- a/roles/internal/fcrepo/tasks/install.yml +++ /dev/null @@ -1,27 +0,0 @@ -- name: Download fcrepo war - get_url: - url: https://github.com/fcrepo4-exts/fcrepo-webapp-plus/releases/download/fcrepo-webapp-plus-{{ fcrepo_version }}/fcrepo-webapp-plus-{{ fcrepo_version }}.war - dest: "{{ fcrepo_war_path }}" - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" - -- name: Create fcrepo data directory - file: - path: "{{ fcrepo_data_dir }}" - state: directory - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" - -- name: Create fcrepo home directory - file: - path: "{{ fcrepo_home_dir }}" - state: directory - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" - -- name: Create fcrepo config directory - file: - path: "{{ fcrepo_config_dir }}" - state: directory - owner: "{{ fcrepo_user }}" - group: "{{ fcrepo_user }}" diff --git a/roles/internal/fcrepo/tasks/main.yml b/roles/internal/fcrepo/tasks/main.yml deleted file mode 100644 index 6bb3a16a..00000000 --- a/roles/internal/fcrepo/tasks/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -- include: install.yml - tags: - - fcrepo - - fcrepo-install - -- include: config.yml - tags: - - fcrepo - - fcrepo-config diff --git a/roles/internal/fcrepo/templates/activemq.xml.j2 b/roles/internal/fcrepo/templates/activemq.xml.j2 deleted file mode 100644 index 50416894..00000000 --- a/roles/internal/fcrepo/templates/activemq.xml.j2 +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/roles/internal/fcrepo/templates/claw.cnd b/roles/internal/fcrepo/templates/claw.cnd deleted file mode 100644 index 404341f4..00000000 --- a/roles/internal/fcrepo/templates/claw.cnd +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Islandora CLAW namespaces - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/roles/internal/fcrepo/templates/repository.json b/roles/internal/fcrepo/templates/repository.json deleted file mode 100644 index 909021f8..00000000 --- a/roles/internal/fcrepo/templates/repository.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name" : "repo", - "jndiName" : "", - "workspaces" : { - "predefined" : ["default"], - "default" : "default", - "allowCreation" : true - }, - "storage" : { - "persistence": { - "type": "file", - "path" : "${fcrepo.object.directory:target/objects}" - }, - "binaryStorage" : { - "type" : "file", - "directory" : "${fcrepo.binary.directory:target/binaries}", - "minimumBinarySizeInBytes" : 4096 - } - }, - "security" : { - "anonymous" : { - "roles" : ["readonly","readwrite","admin"], - "useOnFailedLogin" : false - }, - "providers" : [ - { "classname" : "org.fcrepo.auth.common.BypassSecurityServletAuthenticationProvider" } - ] - }, - "node-types" : ["fedora-node-types.cnd", "file:/opt/fcrepo/configs/claw.cnd"] -} diff --git a/roles/internal/grok/defaults/main.yml b/roles/internal/grok/defaults/main.yml deleted file mode 100644 index 1c00fe6f..00000000 --- a/roles/internal/grok/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -grok_clone_directory: /opt/grok -grok_version_tag: v2.3.0 diff --git a/roles/internal/grok/tasks/install.yml b/roles/internal/grok/tasks/install.yml deleted file mode 100644 index 748b5f99..00000000 --- a/roles/internal/grok/tasks/install.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- - -- name: Install Grok dependencies - apt: - name: "{{ item }}" - with_items: - - cmake - - libpng16-dev - - libtiff-dev - - liblcms2-dev - -- name: Clone Grok - git: - repo: https://github.com/GrokImageCompression/grok.git - dest: "{{ grok_clone_directory }}" - version: "{{ grok_version_tag }}" - -- name: Make build directory - file: - path: "{{ grok_clone_directory }}/build" - state: directory - mode: "0755" - -- name: Cmake grok - command: cmake ../ - args: - chdir: "{{ grok_clone_directory }}/build" - creates: "{{ grok_clone_directory }}/build/*.cmake" - -- name: Make grok - command: make - args: - chdir: "{{ grok_clone_directory }}/build" - creates: "{{ grok_clone_directory }}/build/bin/opj_decompress" - -- name: Install grok - command: make install - args: - chdir: "{{ grok_clone_directory }}/build" - creates: /usr/local/bin/opj_decompress - register: grok_make_install - -- name: Update ldconfig - command: ldconfig - when: grok_make_install.changed diff --git a/roles/internal/grok/tasks/main.yml b/roles/internal/grok/tasks/main.yml deleted file mode 100644 index 00931482..00000000 --- a/roles/internal/grok/tasks/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -- include: install.yml - tags: - - grok - - grok-install diff --git a/roles/internal/karaf/defaults/main.yml b/roles/internal/karaf/defaults/main.yml deleted file mode 100644 index ec5d479d..00000000 --- a/roles/internal/karaf/defaults/main.yml +++ /dev/null @@ -1,22 +0,0 @@ -karaf_version: 4.0.8 -karaf_staging_folder: /usr/local/src -karaf_install_folder: /opt -karaf_install_symlink: /opt/karaf -karaf_user: karaf -karaf_create_user: yes -karaf_service_name: karaf - -karaf_log_root_level: INFO -karaf_log_camel_level: DEBUG -karaf_log_islandora_level: DEBUG -karaf_log_path: ${karaf.data}/log/ - -karaf_logging_template: org.ops4j.pax.logging.cfg - -karaf_java_home: /usr/lib/jvm/java-8-openjdk-amd64 - -karaf_java_packages: - - openjdk-8-jre - - openjdk-8-jdk - -karaf_systemd_template: karaf.service diff --git a/roles/internal/karaf/library/karaf_feature.py b/roles/internal/karaf/library/karaf_feature.py deleted file mode 100644 index f9b22b58..00000000 --- a/roles/internal/karaf/library/karaf_feature.py +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/python - -ANSIBLE_METADATA = { - 'metadata_version': '0.1', - 'status': ['preview'], - 'supported_by': 'community' -} - -DOCUMENTATION = ''' ---- -module: karaf_feature - -short_description: Manage features with karaf - -version_added: "2.3" - -description: - - Allows the idempotent addition and removal of features from karaf. - -options: - name: - description: - - The name of the feature - required: true - state: - description: - - If present the feature will be added to Karaf - - If absent the feature will be removed from Karaf - required: false - choices: [ present, absent ] - default: present - -author: - - Jonathan Green (@jonathangreen) -''' - -EXAMPLES = ''' -# Install karaf feature -- karaf_repo: - state: present - url: fcrepo-api-x - -# Uninstall karaf feature -- karaf_repo: - state: absent - url: fcrepo-api-x -''' - -RETURN = ''' -before: - description: The list of features before this command was run -before_raw: - description: The unparsed raw output of the list command -after: - description: The list of features after this command was run -after_raw: - description: The unparsed raw output of the list command -''' - -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.karaf_common import * - -def get_feature_list(module): - result = run_command(module, 'list', '-i --no-format') - return get_list(result, 6, 0) - -def add_remove_feature(module): - name = module.params['name'] - state = module.params['state'] - if state == 'present': - base = 'install' - elif state == 'absent': - base = 'uninstall' - return run_command(module, base, name) - -def main(): - module_args = dict( - name=dict(type='str', required=True), - state=dict(choices=['present', 'absent'], default='present'), - client_bin=dict(default="/opt/karaf/bin/client", type="path") - ) - - result = dict( - changed=False - ) - - module = AnsibleModule( - argument_spec=module_args, - supports_check_mode=True - ) - - state = module.params['state'] - name = module.params['name'] - feature_list, feature_stdout = get_feature_list(module) - - result['before'] = feature_list - result['before_raw'] = feature_stdout - result['changed'] = get_changed(state, name, feature_list) - result['params'] = module.params - - if not result['changed']: - module.exit_json(**result) - - if module.check_mode: - if module._diff: - result['diff'] = check_diff_output(state, feature_list, name) - module.exit_json(**result) - - result['result'] = add_remove_feature(module) - feature_list, feature_stdout = get_feature_list(module) - result['after'] = feature_list - result['after_raw'] = feature_stdout - - if module._diff: - result['diff'] = diff_output(result['before'], result['after']) - - module.exit_json(**result) - -if __name__ == '__main__': - main() diff --git a/roles/internal/karaf/library/karaf_repo.py b/roles/internal/karaf/library/karaf_repo.py deleted file mode 100644 index b57bae35..00000000 --- a/roles/internal/karaf/library/karaf_repo.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/python - -ANSIBLE_METADATA = { - 'metadata_version': '0.1', - 'status': ['preview'], - 'supported_by': 'community' -} - -DOCUMENTATION = ''' ---- -module: karaf_repo - -short_description: Manage repos with karaf - -version_added: "2.3" - -description: - - Allows the idempotent addition and removal of repositories from karaf. - -options: - name: - description: - - The URL of the repository - required: true - state: - description: - - If present the repository will be added to Karaf - - If absent the repository will be removed from Karaf - required: false - choices: [ present, absent ] - default: present - -author: - - Jonathan Green (@jonathangreen) -''' - -EXAMPLES = ''' -# Install karaf repo -- karaf_repo: - state: present - url: mvn:org.apache.camel.karaf/apache-camel/2.18.1/xml/features - -# Uninstall karaf repo -- karaf_repo: - state: absent - url: mvn:org.apache.camel.karaf/apache-camel/2.18.1/xml/features -''' - -RETURN = ''' -original_repos: - description: The list of repos before this command was run -repos: - description: The list of repos after this command was run -''' - -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.karaf_common import * - -def get_repo_list(module): - result = run_command(module, 'repo-list', '--no-format') - return get_list(result,2,1) - -def add_remove_repo(module): - name = module.params['name'] - state = module.params['state'] - if state == 'present': - base = 'repo-add' - elif state == 'absent': - base = 'repo-remove' - return run_command(module, base, name) - -def main(): - module_args = dict( - name=dict(type='str', required=True), - state=dict(choices=['present', 'absent'], default='present'), - client_bin=dict(default="/opt/karaf/bin/client", type="path") - ) - - result = dict( - changed=False - ) - - module = AnsibleModule( - argument_spec=module_args, - supports_check_mode=True - ) - - state = module.params['state'] - name = module.params['name'] - repo_list, repo_stdout = get_repo_list(module) - - result['before'] = repo_list - result['before_raw'] = repo_stdout - result['changed'] = get_changed(state, name, repo_list) - result['params'] = module.params - - if not result['changed']: - module.exit_json(**result) - - if module.check_mode: - if module._diff: - result['diff'] = check_diff_output(state, repo_list, name) - module.exit_json(**result) - - result['result'] = add_remove_repo(module) - repo_list, repo_stdout = get_repo_list(module) - result['after'] = repo_list - result['after_raw'] = repo_stdout - - if module._diff: - result['diff'] = diff_output(result['before'], result['after']) - - module.exit_json(**result) - -if __name__ == '__main__': - main() diff --git a/roles/internal/karaf/module_utils/karaf_common.py b/roles/internal/karaf/module_utils/karaf_common.py deleted file mode 100644 index 8901c0e0..00000000 --- a/roles/internal/karaf/module_utils/karaf_common.py +++ /dev/null @@ -1,52 +0,0 @@ - -# Run a karaf command -def run_command(module, base, args): - client_bin = module.params['client_bin'] - command = "{0} 'feature:{1} {2}'".format(client_bin, base, args) - rc, out, err = module.run_command(command) - result = {'rc' : rc, 'stdout' : out, 'stderr' : err} - if rc != 0: - module.fail_json(msg=result['stdout']) - return result - -# Get a list of items from karaf -def get_list(result, size, index): - items = []; - for line in result['stdout'].splitlines(): - item = line.split("\t") - if len(item) == size: - items.append(item[index].strip()) - return items, result['stdout'] - -# Format a list so we can show a nice diff -def format_diff(items): - return "\n".join(items) + "\n" - -# Decide if anything will change this invocation -def get_changed(state, name, items): - if state == 'present': - if name in items: - return False - else: - return True - elif state == 'absent': - if name not in items: - return False - else: - return True - -# Create a diff for check diff -def check_diff_output(state, items, name): - if state == 'present': - after = items + [name] - elif state == 'absent': - after = [item for item in items if item != name] - return diff_output(items,after) - -# Creat a diff output -def diff_output(before, after): - diff = dict( - before=format_diff(before), - after=format_diff(after) - ) - return diff diff --git a/roles/internal/karaf/tasks/download.yml b/roles/internal/karaf/tasks/download.yml deleted file mode 100644 index 5b9ebe88..00000000 --- a/roles/internal/karaf/tasks/download.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Download Karaf - get_url: - url: http://archive.apache.org/dist/karaf/{{ karaf_version }}/apache-karaf-{{ karaf_version }}.tar.gz - dest: "{{ karaf_staging_folder }}" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" diff --git a/roles/internal/karaf/tasks/install.yml b/roles/internal/karaf/tasks/install.yml deleted file mode 100644 index f876f1d2..00000000 --- a/roles/internal/karaf/tasks/install.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- - -- name: Make sure java packages are installed - apt: - name: "{{ karaf_java_packages|join(',') }}" - state: present - update_cache: yes - -- name: Expand Karaf Tarball - unarchive: - src: "{{ karaf_staging_folder }}/apache-karaf-{{ karaf_version }}.tar.gz" - dest: "{{ karaf_install_folder }}" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" - remote_src: yes - creates: "{{ karaf_install_folder }}/apache-karaf-{{ karaf_version }}" - -- name: Set Karaf Permissions - file: - state: directory - path: "{{ karaf_install_folder }}/apache-karaf-{{ karaf_version }}" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" - -- name: Make Karaf Symlink - file: - state: link - src: "{{ karaf_install_folder }}/apache-karaf-{{ karaf_version }}" - dest: "{{ karaf_install_symlink }}" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" - diff --git a/roles/internal/karaf/tasks/logging.yml b/roles/internal/karaf/tasks/logging.yml deleted file mode 100644 index cb38a620..00000000 --- a/roles/internal/karaf/tasks/logging.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Copy templated Karaf logging config - template: - src: "{{ karaf_logging_template }}" - dest: "{{ karaf_install_symlink }}/etc" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" diff --git a/roles/internal/karaf/tasks/main.yml b/roles/internal/karaf/tasks/main.yml deleted file mode 100644 index e2d0dbef..00000000 --- a/roles/internal/karaf/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- - -- include: user.yml - tags: - - karaf - - karaf-user - -- include: download.yml - tags: - - karaf - - karaf-download - -- include: install.yml - tags: - - karaf - - karaf-install - -- include: logging.yml - tags: - - karaf - - karaf-logging - -- include: service.yml - tags: - - karaf - - karaf-service diff --git a/roles/internal/karaf/tasks/service.yml b/roles/internal/karaf/tasks/service.yml deleted file mode 100644 index 2af614cc..00000000 --- a/roles/internal/karaf/tasks/service.yml +++ /dev/null @@ -1,64 +0,0 @@ ---- - -- name: Start Karaf - shell: > - JAVA_HOME={{ karaf_java_home }} - KARAF_HOME={{ karaf_install_symlink }} - {{ karaf_install_symlink }}/bin/start && sleep 5 - args: - chdir: "{{ karaf_install_symlink }}/bin" - creates: "{{ karaf_install_symlink }}/bin/karaf-wrapper" - become_user: "{{ karaf_user }}" - register: karaf_service_install - -- name: Wait for Karaf to start - wait_for: - port: 8101 - when: karaf_service_install.changed is defined and karaf_service_install.changed - -- name: Install wrapper feature - command: ./client feature:install wrapper - args: - chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" - when: karaf_service_install.changed is defined and karaf_service_install.changed - -- name: Install wrapper - command: ./client wrapper:install - args: - chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" - when: karaf_service_install.changed is defined and karaf_service_install.changed - -- name: Stop Karaf - shell: > - JAVA_HOME={{ karaf_java_home }} - KARAF_HOME={{ karaf_install_symlink }} - {{ karaf_install_symlink }}/bin/stop && sleep 1 - args: - chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" - when: karaf_service_install.changed is defined and karaf_service_install.changed - -- name: Copy templated Karaf definition - template: - src: "{{ karaf_systemd_template }}" - dest: "{{ karaf_install_symlink }}/bin/karaf.service" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" - -- name: Install Karaf service in systemd - command: systemctl enable {{ karaf_install_symlink }}/bin/karaf.service - args: - creates: /etc/systemd/system/karaf - -- name: Start Karaf service - service: - name: karaf - state: started - register: karaf_start_karaf - -- name: Wait for Karaf to start - wait_for: - port: 8101 - when: karaf_start_karaf.changed diff --git a/roles/internal/karaf/tasks/user.yml b/roles/internal/karaf/tasks/user.yml deleted file mode 100644 index dd000a59..00000000 --- a/roles/internal/karaf/tasks/user.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: Create Karaf system user - user: - name: "{{ karaf_user }}" - system: yes - state: present - when: karaf_create_user diff --git a/roles/internal/karaf/templates/karaf.service b/roles/internal/karaf/templates/karaf.service deleted file mode 100644 index 9f1ac1c4..00000000 --- a/roles/internal/karaf/templates/karaf.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=karaf - -[Service] -User={{ karaf_user }} -Type=forking -PIDFile={{ karaf_install_symlink }}/data/karaf.pid -ExecStart={{ karaf_install_symlink }}/bin/karaf-service start -ExecReload={{ karaf_install_symlink }}/bin/karaf-service restart -ExecStop={{ karaf_install_symlink }}/bin/karaf-service stop - -[Install] -Alias=karaf -WantedBy=default.target diff --git a/roles/internal/karaf/templates/org.ops4j.pax.logging.cfg b/roles/internal/karaf/templates/org.ops4j.pax.logging.cfg deleted file mode 100644 index b58dd326..00000000 --- a/roles/internal/karaf/templates/org.ops4j.pax.logging.cfg +++ /dev/null @@ -1,34 +0,0 @@ -# Root logger -log4j.rootLogger={{ karaf_log_root_level }}, out, osgi:* -log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer - -# File appender -log4j.appender.out=org.apache.log4j.RollingFileAppender -log4j.appender.out.layout=org.apache.log4j.PatternLayout -log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n -log4j.appender.out.file={{karaf_log_path}}/karaf.log -log4j.appender.out.append=true -log4j.appender.out.maxFileSize=1MB -log4j.appender.out.maxBackupIndex=10 - -# Camel Logger -log4j.appender.camel=org.apache.log4j.RollingFileAppender -log4j.appender.camel.layout=org.apache.log4j.PatternLayout -log4j.appender.camel.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n -log4j.appender.camel.file={{karaf_log_path}}/camel.log -log4j.appender.camel.append=false -log4j.appender.camel.maxFileSize=1MB -log4j.appender.camel.maxBackupIndex=10 - -log4j.logger.org.apache.camel={{karaf_log_camel_level}}, camel - -# Islamdora Logger -log4j.appender.islandora=org.apache.log4j.RollingFileAppender -log4j.appender.islandora.layout=org.apache.log4j.PatternLayout -log4j.appender.islandora.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n -log4j.appender.islandora.file={{karaf_log_path}}/islandora.log -log4j.appender.islandora.append=false -log4j.appender.islandora.maxFileSize=1MB -log4j.appender.islandora.maxBackupIndex=10 - -log4j.logger.ca.islandora.camel={{karaf_log_islandora_level}}, islandora diff --git a/roles/internal/keymaster/defaults/main.yml b/roles/internal/keymaster/defaults/main.yml deleted file mode 100644 index 11e67b02..00000000 --- a/roles/internal/keymaster/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -ssl_key_directory: /opt/keys/claw -ssl_key_public_file: public.key -ssl_key_private_file: private.key -ssl_key_private_output_path: /tmp/private.key -ssl_key_public_output_path: /tmp/public.key diff --git a/roles/internal/keymaster/tasks/main.yml b/roles/internal/keymaster/tasks/main.yml deleted file mode 100644 index d5a7c897..00000000 --- a/roles/internal/keymaster/tasks/main.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- - -- name: Create JWT Key Path - file: - state: directory - path: "{{ ssl_key_directory }}" - -- name: Create JWT Private Key - command: openssl genrsa -out "{{ ssl_key_directory }}/{{ ssl_key_private_file }}" 2048 - args: - creates: "{{ ssl_key_directory }}/{{ ssl_key_private_file }}" - -- name: Create JWT Public Key - command: openssl rsa -pubout -in "{{ ssl_key_directory }}/{{ ssl_key_private_file }}" -out "{{ ssl_key_directory }}/{{ ssl_key_public_file }}" - args: - creates: "{{ ssl_key_directory }}/{{ ssl_key_public_file }}" - -- name: Copy public key out - copy: - src: "{{ ssl_key_directory }}/{{ ssl_key_public_file }}" - dest: "{{ ssl_key_public_output_path }}" - mode: 0644 - remote_src: yes - -- name: Copy private key out - copy: - src: "{{ ssl_key_directory }}/{{ ssl_key_private_file }}" - dest: "{{ ssl_key_private_output_path }}" - mode: 0644 - remote_src: true diff --git a/roles/internal/openseadragon/defaults/main.yml b/roles/internal/openseadragon/defaults/main.yml deleted file mode 100644 index ceaa891b..00000000 --- a/roles/internal/openseadragon/defaults/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -openseadragon_composer_item: "islandora/openseadragon:dev-8.x-1.x" -openseadragon_composer_root: "/var/www/html/drupal" -openseadragon_sites: - - default -openseadragon_version: 2.2.1 -openseadragon_temp_folder: /tmp - -openseadragon_iiiv_set_var: false -openseadragon_iiiv_server: diff --git a/roles/internal/openseadragon/tasks/config.yml b/roles/internal/openseadragon/tasks/config.yml deleted file mode 100644 index 02f67df3..00000000 --- a/roles/internal/openseadragon/tasks/config.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- - -- name: Check if modules are enabled - shell: drush pm-info openseadragon --format=json - args: - chdir: "{{ openseadragon_composer_root }}/web" - register: openseadragon_enable_module_status - changed_when: False - check_mode: no - -- name: Enable modules - shell: drush -y -u 1 en openseadragon - args: - chdir: "{{ openseadragon_composer_root }}/web" - when: (openseadragon_enable_module_status.stdout|from_json).openseadragon.status != 'enabled' - -- name: Copy openseadragon library definition to correct location. - copy: - remote_src: yes - src: "{{ openseadragon_composer_root }}/web/modules/contrib/openseadragon/openseadragon.json" - dest: "{{ openseadragon_composer_root }}/web/sites/{{ item }}/files/library-definitions" - with_items: "{{ openseadragon_sites }}" - -- name: Check IIIF URL - command: - drush cget openseadragon.settings iiif_server --format=json - args: - chdir: "{{ openseadragon_composer_root }}/web" - when: openseadragon_iiiv_set_var - changed_when: false - failed_when: false - register: openseadragon_iiiv_status - -- name: Set IIIF URL - command: - drush cset openseadragon.settings iiif_server {{ openseadragon_iiiv_server }} --yes - args: - chdir: "{{ openseadragon_composer_root }}/web" - when: > - not openseadragon_iiiv_status.skipped|default(false) and - (openseadragon_iiiv_status.rc == 1 or - (openseadragon_iiiv_status.stdout|from_json)['openseadragon.settings:iiif_server'] != openseadragon_iiiv_server) diff --git a/roles/internal/openseadragon/tasks/install.yml b/roles/internal/openseadragon/tasks/install.yml deleted file mode 100644 index 8637aba0..00000000 --- a/roles/internal/openseadragon/tasks/install.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- - -- name: Install Openseadragon with composer - composer: - command: require - arguments: "{{ openseadragon_composer_item }}" - working_dir: "{{ openseadragon_composer_root }}" - become: no - -- name: Check if Seadragon Library Exists - stat: - path: "{{ openseadragon_composer_root }}/web/sites/all/assets/vendor/openseadragon" - register: openseadragon_library_dir - -- name: Create folder for library - file: - state: directory - path: "{{ openseadragon_composer_root }}/web/sites/all/assets/vendor" - when: not openseadragon_library_dir.stat.exists - -- name: Unarchive seadragon library - unarchive: - remote_src: yes - src: https://github.com/openseadragon/openseadragon/releases/download/v{{ openseadragon_version }}/openseadragon-bin-{{ openseadragon_version }}.tar.gz - dest: "{{ openseadragon_temp_folder }}" - when: not openseadragon_library_dir.stat.exists - -- name: Move library into place - command: mv {{ openseadragon_temp_folder }}/openseadragon-bin-{{ openseadragon_version }} {{ openseadragon_composer_root }}/web/sites/all/assets/vendor/openseadragon - when: not openseadragon_library_dir.stat.exists diff --git a/roles/internal/openseadragon/tasks/main.yml b/roles/internal/openseadragon/tasks/main.yml deleted file mode 100644 index 341b3530..00000000 --- a/roles/internal/openseadragon/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -- include: install.yml - tags: - - openseadragon - - openseadragon-install - -- include: config.yml - tags: - - openseadragon - - openseadragon-config diff --git a/roles/internal/tomcat8/defaults/main.yml b/roles/internal/tomcat8/defaults/main.yml deleted file mode 100644 index 70ebc686..00000000 --- a/roles/internal/tomcat8/defaults/main.yml +++ /dev/null @@ -1,48 +0,0 @@ -tomcat8_packages: - - tomcat8 -tomcat8_admin_packages: - - tomcat8-admin - -tomcat8_home: /var/lib/tomcat8 - -tomcat8_admin_install: yes - -tomcat8_roles: [] -tomcat8_users: [] - -tomcat8_server_user: tomcat8 -tomcat8_server_group: tomcat8 - -# The home directory of the Java development kit (JDK). You need at least -# JDK version 7. If JAVA_HOME is not set, some common directories for -# OpenJDK and the Oracle JDK are tried. -#tomcat8_java_home: - -# You may pass JVM startup parameters to Java here. If unset, the default -# options will be: -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -tomcat8_java_opts: - - -Djava.awt.headless=true - - -Xmx128m - - -XX:+UseConcMarkSweepGC - -# Java compiler to use for translating JavaServer Pages (JSPs). You can use all -# compilers that are accepted by Ant's build.compiler property. -#tomcat8_jsp_compiler: javac - -# Use the Java security manager? (yes/no, default: no) -#tomcat8_tomcat8_security: "no" - -# Number of days to keep logfiles in /var/log/tomcat8. Default is 14 days. -#tomcat8_logfile_days: 14 - -# Whether to compress logfiles older than today's -#tomcat8_logfile_compress: 1 - -# Location of the JVM temporary directory -# WARNING: This directory will be destroyed and recreated at every startup ! -#tomcat8_jvm_tmp: /tmp/tomcat8-temp - -# If you run Tomcat on port numbers that are all higher than 1023, then you -# do not need authbind. It is used for binding Tomcat to lower port numbers. -# (yes/no, default: no) -#tomcat8_authbind: no diff --git a/roles/internal/tomcat8/handlers/main.yml b/roles/internal/tomcat8/handlers/main.yml deleted file mode 100644 index 82521863..00000000 --- a/roles/internal/tomcat8/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: tomcat8 restart tomcat8 - service: - name: tomcat8 - state: restarted - listen: "restart tomcat8" diff --git a/roles/internal/tomcat8/tasks/config.yml b/roles/internal/tomcat8/tasks/config.yml deleted file mode 100644 index 59c765d2..00000000 --- a/roles/internal/tomcat8/tasks/config.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- - -- name: template tomcat-users.xml - template: - src: tomcat-users.xml.j2 - dest: /etc/tomcat8/tomcat-users.xml - owner: "root" - group: "{{ tomcat8_server_group }}" - mode: "640" - notify: restart tomcat8 - -- name: template /etc/default/tomcat8 - template: - src: tomcat-defaults.j2 - dest: /etc/default/tomcat8 - notify: restart tomcat8 diff --git a/roles/internal/tomcat8/tasks/install.yml b/roles/internal/tomcat8/tasks/install.yml deleted file mode 100644 index fa40fa96..00000000 --- a/roles/internal/tomcat8/tasks/install.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- - -- name: install tomcat8 - apt: - name: "{{ item }}" - state: present - cache_valid_time: 3600 - with_items: "{{ tomcat8_packages }}" - -- name: install tomcat8 admin - apt: - name: "{{ item }}" - state: present - cache_valid_time: 3600 - with_items: "{{ tomcat8_admin_packages }}" - when: tomcat8_admin_install diff --git a/roles/internal/tomcat8/tasks/main.yml b/roles/internal/tomcat8/tasks/main.yml deleted file mode 100644 index ae5e3c28..00000000 --- a/roles/internal/tomcat8/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -- include: install.yml - tags: - - tomcat8 - - tomcat8-install - -- include: config.yml - tags: - - tomcat8 - - tomcat8-config diff --git a/roles/internal/tomcat8/templates/tomcat-defaults.j2 b/roles/internal/tomcat8/templates/tomcat-defaults.j2 deleted file mode 100644 index 410832cb..00000000 --- a/roles/internal/tomcat8/templates/tomcat-defaults.j2 +++ /dev/null @@ -1,24 +0,0 @@ -TOMCAT8_USER={{tomcat8_server_user}} -TOMCAT8_GROUP={{tomcat8_server_group}} -{% if tomcat8_java_home is defined %} -JAVA_HOME="{{tomcat8_java_home}}" -{% endif %} -JAVA_OPTS="{{tomcat8_java_opts|join(' ')}}" -{% if tomcat8_jsp_compiler is defined %} -JSP_COMPILER="{{tomcat8_jsp_compiler}}" -{% endif %} -{% if tomcat8_tomcat8_security is defined %} -TOMCAT8_SECURITY="{{tomcat8_tomcat8_security}}" -{% endif %} -{% if tomcat8_logfile_days is defined %} -LOGFILE_DAYS="{{tomcat8_logfile_days}}" -{% endif %} -{% if tomcat8_logfile_compress is defined %} -LOGFILE_COMPRESS="{{tomcat8_logfile_compress}}" -{% endif %} -{% if tomcat8_jvm_tmp is defined %} -JVM_TMP="{{tomcat8_jvm_tmp}}" -{% endif %} -{% if tomcat8_authbind is defined %} -AUTHBIND="{{tomcat8_authbind}}" -{% endif %} diff --git a/roles/internal/tomcat8/templates/tomcat-users.xml.j2 b/roles/internal/tomcat8/templates/tomcat-users.xml.j2 deleted file mode 100644 index b958c8af..00000000 --- a/roles/internal/tomcat8/templates/tomcat-users.xml.j2 +++ /dev/null @@ -1,12 +0,0 @@ - - -{% for role in tomcat8_roles %} - -{% endfor %} -{% for user in tomcat8_users %} - -{% endfor %} - diff --git a/roles/internal/webserver-app/meta/main.yml b/roles/internal/webserver-app/meta/main.yml index d9fccc42..792e9932 100644 --- a/roles/internal/webserver-app/meta/main.yml +++ b/roles/internal/webserver-app/meta/main.yml @@ -1,3 +1,3 @@ --- dependencies: -- role: solr + - geerlingguy.solr diff --git a/roles/internal/webserver-app/tasks/jwt.yml b/roles/internal/webserver-app/tasks/jwt.yml index d0308559..2177527a 100644 --- a/roles/internal/webserver-app/tasks/jwt.yml +++ b/roles/internal/webserver-app/tasks/jwt.yml @@ -9,7 +9,7 @@ - name: Get SSL keys include_role: - name: keymaster + name: Islandora-Devops.keymaster vars: ssl_key_private_output_path: "{{ webserver_app_jwt_key_path }}/private.key" diff --git a/solr.yml b/solr.yml index 50e075f2..3583169d 100644 --- a/solr.yml +++ b/solr.yml @@ -4,12 +4,12 @@ become: yes roles: - - role: java + - role: geerlingguy.java when: "ansible_os_family == 'Debian'" java_packages: - openjdk-8-jdk - - role: java + - role: geerlingguy.java when: "ansible_os_family == 'RedHat'" java_packages: - java-1.8.0-openjdk - - solr + - geerlingguy.solr diff --git a/tomcat.yml b/tomcat.yml index ec7c9275..884fdf6c 100644 --- a/tomcat.yml +++ b/tomcat.yml @@ -4,10 +4,10 @@ become: yes roles: - - tomcat8 - - fcrepo - - fcrepo-syn - - blazegraph - - grok - - cantaloupe - - activemq + - Islandora-Devops.tomcat8 + - Islandora-Devops.fcrepo + - Islandora-Devops.fcrepo-syn + - Islandora-Devops.blazegraph + - Islandora-Devops.grok + - Islandora-Devops.cantaloupe + - Islandora-Devops.activemq diff --git a/webserver.yml b/webserver.yml index 84ea9cb5..7752a5bb 100644 --- a/webserver.yml +++ b/webserver.yml @@ -4,12 +4,12 @@ become: yes roles: - - apache - - php - - git - - composer - - drush - - drupal-console - - drupal - - openseadragon + - geerlingguy.apache + - geerlingguy.php + - geerlingguy.git + - geerlingguy.composer + - geerlingguy.drush + - geerlingguy.drupal-console + - geerlingguy.drupal + - Islandora-Devops.drupal-openseadragon - webserver-app