You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/07/14 05:26:56 UTC
[airavata-data-lake] branch master updated: Ansibles to deploy MFT
distribution
This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git
The following commit(s) were added to refs/heads/master by this push:
new 367e981 Ansibles to deploy MFT distribution
367e981 is described below
commit 367e98183375223617ae05b7703716c917eefab9
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Wed Jul 14 01:26:35 2021 -0400
Ansibles to deploy MFT distribution
---
ansible/datalake.yml | 3 +-
ansible/inventories/test/group_vars/all/vars.yml | 45 +++++++-
ansible/inventories/test/group_vars/all/vault.yml | 14 +++
ansible/roles/consul/handlers/main.yml | 8 ++
ansible/roles/consul/tasks/main.yml | 43 ++++++++
ansible/roles/consul/templates/consul.config.j2 | 14 +++
ansible/roles/consul/templates/consul.service.j2 | 10 ++
ansible/roles/data_lake/tasks/main.yml | 33 ++++++
ansible/roles/env_setup/tasks/main.yml | 38 +------
ansible/roles/mft/tasks/main.yml | 113 +++++++++++++++++++++
.../mft/templates/agent/application.properties.j2 | 33 ++++++
.../api-service/application.properties.j2 | 27 +++++
.../templates/controller/application.properties.j2 | 18 ++++
.../resource-service/application.properties.j2 | 33 ++++++
.../resource-service/applicationContext.xml.j2 | 11 ++
.../secret-service/application.properties.j2 | 32 ++++++
.../secret-service/applicationContext.xml.j2 | 14 +++
.../mft/templates/secret-service/secrets.json.j2 | 35 +++++++
.../src/main/resources/config.yml | 4 +-
19 files changed, 484 insertions(+), 44 deletions(-)
diff --git a/ansible/datalake.yml b/ansible/datalake.yml
index 5651602..0673e59 100644
--- a/ansible/datalake.yml
+++ b/ansible/datalake.yml
@@ -21,5 +21,4 @@
---
- hosts: data-lake
roles:
- - env_setup
- - data_lake
\ No newline at end of file
+ - mft
\ No newline at end of file
diff --git a/ansible/inventories/test/group_vars/all/vars.yml b/ansible/inventories/test/group_vars/all/vars.yml
index 2a9830a..7ed3c10 100644
--- a/ansible/inventories/test/group_vars/all/vars.yml
+++ b/ansible/inventories/test/group_vars/all/vars.yml
@@ -26,7 +26,44 @@ group: airavata
user_home: "/home/{{ user }}"
# deployment related variables
-deployment_dir: "{{ user_home }}/data-lake-deployment"
-airavata_source_dir: "{{ user_home }}/data-lake-source"
-airavata_repo: "https://github.com/apache/airavata-data-lake.git"
-git_branch: master
+datalake_deployment_dir: "{{ user_home }}/data-lake-deployment"
+datalake_source_dir: "{{ user_home }}/data-lake-source"
+datalake_repo: "https://github.com/apache/airavata-data-lake.git"
+datalake_git_branch: master
+
+mft_deployment_dir: "{{ user_home }}/mft-deployment"
+mft_source_dir: "{{ user_home }}/mft-source"
+mft_repo: "https://github.com/apache/airavata-mft.git"
+mft_git_branch: develop
+mft_distribution_version: 0.01
+
+mft_default_agent_id: agent0
+mft_default_agent_host: 149.165.157.235
+mft_default_agent_port: 3333
+
+mft_api_service_http_port: 8088
+mft_api_service_grpc_port: 7004
+mft_api_service_id: 0
+
+mft_resource_service_host: localhost
+mft_resource_service_http_port: 8089
+mft_resource_service_grpc_port: 7002
+mft_resource_service_backend: org.apache.airavata.mft.resource.server.backend.datalake.DatalakeResourceBackend
+mft_resource_service_custos_client_id: "{{ vault_mft_resource_service_custos_client_id }}"
+mft_resource_service_custos_client_secret: "{{ vault_mft_resource_service_custos_client_secret }}"
+
+mft_secret_service_host: localhost
+mft_secret_service_http_port: 8081
+mft_secret_service_grpc_port: 7003
+mft_secret_service_backend: org.apache.airavata.mft.secret.server.backend.file.FileBasedSecretBackend
+
+mft_consul_host: localhost
+mft_consul_port: 8500
+consul_version: 1.7.1
+consul_zip_file: consul_{{ consul_version }}_linux_amd64.zip
+consul_install_dir: /usr/local/bin
+consul_config_dir: /etc/consul
+consul_data_dir: /var/data
+
+datalake_drms_host: localhost
+datalake_drms_grpc_port: 7070
\ No newline at end of file
diff --git a/ansible/inventories/test/group_vars/all/vault.yml b/ansible/inventories/test/group_vars/all/vault.yml
new file mode 100644
index 0000000..bd5ff07
--- /dev/null
+++ b/ansible/inventories/test/group_vars/all/vault.yml
@@ -0,0 +1,14 @@
+$ANSIBLE_VAULT;1.1;AES256
+65656438633938663065663236323133366632333430643938643039316430383463313534396666
+3436653732343937656161356661373230336238386635340a333635343033666363303265393666
+30633336333035373030383762656661303964356433653563373066613939333663636661643862
+6430313933353633620a306162613765376461613064303163383934636337623964343634316163
+62613134386265343666626364353331616364383735353333633538366566663635316662353434
+62623234336638343265326437323266646238663437323436303836666130663533663266356635
+64313330303762623434316636383965396338616361646539633866636633393536366666326662
+63613830353839346437333737313038373736653036383638353937393031666630653664343536
+38353464353564623437623632613966333738396566363239336166636466333833396261386230
+37623233363131626631393832383361643030663661656165393261653836366131326564643037
+36643234373833346632613366313262663434313937383665613734636631613934343961633561
+32663666303431336664343463656237336332393264613132323266633765316532373434636264
+3536
diff --git a/ansible/roles/consul/handlers/main.yml b/ansible/roles/consul/handlers/main.yml
new file mode 100644
index 0000000..e2a7c01
--- /dev/null
+++ b/ansible/roles/consul/handlers/main.yml
@@ -0,0 +1,8 @@
+---
+# handlers file for consul-server
+- name: restart consul
+ systemd:
+ name: consul.service
+ daemon_reload: yes
+ state: restarted
+ become: yes
diff --git a/ansible/roles/consul/tasks/main.yml b/ansible/roles/consul/tasks/main.yml
new file mode 100644
index 0000000..c217be7
--- /dev/null
+++ b/ansible/roles/consul/tasks/main.yml
@@ -0,0 +1,43 @@
+- name: get consul zip
+ get_url:
+ dest: "/etc/{{ consul_zip_file }}"
+ url: "https://releases.hashicorp.com/consul/{{ consul_version }}/{{ consul_zip_file }}"
+ become: yes
+
+- name: ensure unzip present
+ apt:
+ name: unzip
+ update_cache: yes
+ become: yes
+
+- name: place unzipped consul on path
+ unarchive:
+ src: "/etc/{{ consul_zip_file }}"
+ dest: "{{ consul_install_dir }}"
+ remote_src: yes
+ become: yes
+
+- name: ensure directories for data and config exists
+ file:
+ path: "{{ item }}"
+ state: directory
+ with_items:
+ - "{{ consul_config_dir }}"
+ - "{{ consul_data_dir }}"
+ become: yes
+
+- name: send consul configuration file
+ template:
+ dest: "{{ consul_config_dir }}/config.json"
+ src: consul.config.j2
+ notify: restart consul
+ become: yes
+
+- name: ensure consul service file exists
+ template:
+ dest: /etc/systemd/system/consul.service
+ src: consul.service.j2
+ force: yes
+ mode: 0644
+ notify: restart consul
+ become: yes
\ No newline at end of file
diff --git a/ansible/roles/consul/templates/consul.config.j2 b/ansible/roles/consul/templates/consul.config.j2
new file mode 100644
index 0000000..aba8195
--- /dev/null
+++ b/ansible/roles/consul/templates/consul.config.j2
@@ -0,0 +1,14 @@
+{
+ "node_name": "example",
+ "addresses": {
+ "http": "{{ ansible_facts['all_ipv4_addresses'] | last }} 127.0.0.1"
+ },
+ "server": true,
+ "advertise_addr": "{{ ansible_facts['all_ipv4_addresses'] | last }}",
+ "client_addr": "127.0.0.1 {{ ansible_facts['all_ipv4_addresses'] | last }}",
+ "connect": {
+ "enabled": true
+ },
+ "data_dir": "{{ consul_data_dir }}",
+ "bootstrap": true
+}
\ No newline at end of file
diff --git a/ansible/roles/consul/templates/consul.service.j2 b/ansible/roles/consul/templates/consul.service.j2
new file mode 100644
index 0000000..b0a4e39
--- /dev/null
+++ b/ansible/roles/consul/templates/consul.service.j2
@@ -0,0 +1,10 @@
+[Unit]
+Description=solo consul server example
+
+[Service]
+WorkingDirectory={{ consul_config_dir }}
+User=root
+ExecStart={{ consul_install_dir }}/consul agent -config-dir={{ consul_config_dir }}
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/ansible/roles/data_lake/tasks/main.yml b/ansible/roles/data_lake/tasks/main.yml
index 442324e..69943eb 100644
--- a/ansible/roles/data_lake/tasks/main.yml
+++ b/ansible/roles/data_lake/tasks/main.yml
@@ -28,4 +28,37 @@
zone=public permanent=true state=enabled immediate=yes
become: yes
+- name: Create Datalake deployment directory {{ datalake_deployment_dir }}
+ become: yes
+ file: path={{ datalake_deployment_dir }}
+ state=directory
+ mode=0755
+ owner={{ user }}
+ group={{ group }}
+
+- name: Create Datalake source directory
+ become: yes
+ file: path={{datalake_source_dir}}
+ state=directory
+ mode=0755
+ owner={{ user }}
+ group={{ group }}
+
+- name: git checkout from Datalake github repo {{ datalake_repo }} branch {{ datalake_git_branch }}
+ git: repo="{{ datalake_repo }}"
+ dest="{{ datalake_source_dir }}"
+ version="{{ datalake_git_branch }}"
+ register: checkout
+ tags: update
+ become: yes
+ become_user: "{{ user }}"
+
+- name: Run Datalake maven build
+ command: mvn clean install -Dmaven.test.skip=true chdir="{{ datalake_source_dir }}/"
+ environment:
+ MAVEN_OPTS: "-Xmx2048m"
+ register: build
+ tags: update
+ become: yes
+ become_user: "{{ user }}"
diff --git a/ansible/roles/env_setup/tasks/main.yml b/ansible/roles/env_setup/tasks/main.yml
index 85a8715..40c709a 100644
--- a/ansible/roles/env_setup/tasks/main.yml
+++ b/ansible/roles/env_setup/tasks/main.yml
@@ -58,7 +58,7 @@
zone=public permanent=true state=enabled immediate=yes
become: yes
-- name: Install Airavata pre-requireties (RedHat)
+- name: Install Datalake pre-requireties (RedHat)
yum: name={{ item }} state=latest update_cache=yes
with_items:
- git
@@ -66,45 +66,11 @@
become: yes
when: ansible_os_family == "RedHat"
-- name: Install Airavata pre-requireties (Debian)
+- name: Install Datalake pre-requireties (Debian)
apt: name={{ item }} state=latest update_cache=yes
with_items:
- git
- maven
become: yes
when: ansible_os_family == "Debian"
-
-- name: Create deployment directory {{ deployment_dir }}
- become: yes
- file: path={{ deployment_dir }}
- state=directory
- mode=0755
- owner={{ user }}
- group={{ group }}
-
-- name: Create source directory
- become: yes
- file: path={{airavata_source_dir}}
- state=directory
- mode=0755
- owner={{ user }}
- group={{ group }}
-
-- name: git checkout from airavata github repo {{ airavata_repo }} branch {{ git_branch }}
- git: repo="{{ airavata_repo }}"
- dest="{{ airavata_source_dir }}"
- version="{{ git_branch }}"
- register: checkout
- tags: update
- become: yes
- become_user: "{{ user }}"
-
-- name: Run maven build
- command: mvn clean install -Dmaven.test.skip=true chdir="{{ airavata_source_dir }}/"
- environment:
- MAVEN_OPTS: "-Xmx2048m"
- register: build
- tags: update
- become: yes
- become_user: "{{ user }}"
...
diff --git a/ansible/roles/mft/tasks/main.yml b/ansible/roles/mft/tasks/main.yml
new file mode 100644
index 0000000..896c30d
--- /dev/null
+++ b/ansible/roles/mft/tasks/main.yml
@@ -0,0 +1,113 @@
+- name: Create MFT deployment directory {{ mft_deployment_dir }}
+ become: yes
+ file: path={{ mft_deployment_dir }}
+ state=directory
+ mode=0755
+ owner={{ user }}
+ group={{ group }}
+
+- name: Create MFT source directory
+ become: yes
+ file: path={{mft_source_dir}}
+ state=directory
+ mode=0755
+ owner={{ user }}
+ group={{ group }}
+
+- name: open firewall ports for MFT
+ firewalld: port="{{ item }}/tcp"
+ zone=public permanent=true state=enabled immediate=yes
+ with_items:
+ - "{{ mft_default_agent_port }}"
+ - "{{ mft_consul_port }}"
+ - "{{ mft_resource_service_grpc_port }}"
+ - "{{ mft_secret_service_grpc_port }}"
+ become: yes
+
+#- name: git checkout from MFT github repo {{ mft_repo }} branch {{ mft_git_branch }}
+# git: repo="{{ mft_repo }}"
+# dest="{{ mft_source_dir }}"
+# version="{{ mft_git_branch }}"
+# register: checkout
+# tags: update
+# become: yes
+# become_user: "{{ user }}"
+
+#- name: Run MFT maven build
+# command: mvn clean install -Dmaven.test.skip=true chdir="{{ mft_source_dir }}/"
+# environment:
+# MAVEN_OPTS: "-Xmx2048m"
+# register: build
+# tags: update
+# become: yes
+# become_user: "{{ user }}"
+
+- name: Stop daemons if running
+ command: "{{ item.command }} chdir={{ mft_deployment_dir }}/{{ item.dir }}/"
+ with_items:
+ - { command: ./bin/controller-daemon.sh stop, dir: "MFT-Controller-{{mft_distribution_version}}" }
+ - { command: ./bin/agent-daemon.sh stop, dir: "MFT-Agent-{{mft_distribution_version}}" }
+ - { command: ./bin/api-service-daemon.sh stop, dir: "API-Service-{{mft_distribution_version}}" }
+ - { command: ./bin/resource-service-daemon.sh stop, dir: "Resource-Service-{{mft_distribution_version}}" }
+ - { command: ./bin/secret-service-daemon.sh stop, dir: "Secret-Service-{{mft_distribution_version}}" }
+ ignore_errors: yes
+ become: yes
+ become_user: "{{ user }}"
+
+- name: Copy MFT distributions to MFT deployment directory
+ unarchive: "src={{ mft_source_dir }}/{{ item }}
+ dest={{ mft_deployment_dir }}/ copy=no"
+ with_items:
+ - "agent/target/MFT-Agent-{{mft_distribution_version}}-bin.zip"
+ - "api/service/target/API-Service-{{mft_distribution_version}}-bin.zip"
+ - "controller/target/MFT-Controller-{{mft_distribution_version}}-bin.zip"
+ - "services/resource-service/server/target/Resource-Service-{{mft_distribution_version}}-bin.zip"
+ - "services/secret-service/server/target/Secret-Service-{{mft_distribution_version}}-bin.zip"
+ become: yes
+ become_user: "{{ user }}"
+
+- name: Copy MFT property files
+ template: "src={{ item.name }}
+ dest={{ mft_deployment_dir }}/{{ item.dir }}/conf/{{ item.target }}
+ owner={{ user }}
+ group={{ group }}
+ mode=\"u=rw,g=r,o=r\""
+ with_items:
+ - { name: agent/application.properties.j2,
+ dir: "MFT-Agent-{{mft_distribution_version}}",
+ target: application.properties}
+ - { name: api-service/application.properties.j2,
+ dir: "API-Service-{{mft_distribution_version}}",
+ target: application.properties}
+ - { name: resource-service/application.properties.j2,
+ dir: "Resource-Service-{{mft_distribution_version}}",
+ target: application.properties}
+ - { name: resource-service/applicationContext.xml.j2,
+ dir: "Resource-Service-{{mft_distribution_version}}",
+ target: applicationContext.xml}
+ - { name: secret-service/application.properties.j2,
+ dir: "Secret-Service-{{mft_distribution_version}}",
+ target: application.properties }
+ - { name: secret-service/applicationContext.xml.j2,
+ dir: "Secret-Service-{{mft_distribution_version}}",
+ target: applicationContext.xml }
+ - { name: secret-service/secrets.json.j2,
+ dir: "Secret-Service-{{mft_distribution_version}}",
+ target: secrets.json }
+ - { name: agent/application.properties.j2,
+ dir: "MFT-Controller-{{mft_distribution_version}}",
+ target: application.properties }
+ become: yes
+ become_user: "{{ user }}"
+
+
+- name: Start MFT daemons
+ command: "{{ item.command }} chdir={{ mft_deployment_dir }}/{{ item.dir }}/"
+ with_items:
+ - { command: ./bin/controller-daemon.sh start, dir: "MFT-Controller-{{mft_distribution_version}}" }
+ - { command: ./bin/agent-daemon.sh start, dir: "MFT-Agent-{{mft_distribution_version}}" }
+ - { command: ./bin/api-service-daemon.sh start, dir: "API-Service-{{mft_distribution_version}}" }
+ - { command: ./bin/resource-service-daemon.sh start, dir: "Resource-Service-{{mft_distribution_version}}" }
+ - { command: ./bin/secret-service-daemon.sh start, dir: "Secret-Service-{{mft_distribution_version}}" }
+ become: yes
+ become_user: "{{ user }}"
diff --git a/ansible/roles/mft/templates/agent/application.properties.j2 b/ansible/roles/mft/templates/agent/application.properties.j2
new file mode 100644
index 0000000..b6a5260
--- /dev/null
+++ b/ansible/roles/mft/templates/agent/application.properties.j2
@@ -0,0 +1,33 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+spring.main.web-application-type=NONE
+agent.id={{ mft_default_agent_id }}
+agent.secret=CHANGE_ME
+agent.host={{ mft_default_agent_host }}
+agent.user=CHANGE_ME
+agent.http.port={{ mft_default_agent_port }}
+agent.https.enabled=false
+agent.supported.protocols=SCP,LOCAL,FTP
+
+consul.host={{ mft_consul_host }}
+consul.port={{ mft_consul_port }}
+
+resource.service.host={{ mft_resource_service_host }}
+resource.service.port={{ mft_resource_service_grpc_port }}
+secret.service.host={{ mft_secret_service_host }}
+secret.service.port={{ mft_secret_service_grpc_port }}
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/api-service/application.properties.j2 b/ansible/roles/mft/templates/api-service/application.properties.j2
new file mode 100644
index 0000000..65b6d5e
--- /dev/null
+++ b/ansible/roles/mft/templates/api-service/application.properties.j2
@@ -0,0 +1,27 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+server.port={{ mft_api_service_http_port }}
+grpc.port={{ mft_api_service_grpc_port }}
+consul.host={{ mft_consul_host }}
+consul.port={{ mft_consul_port }}
+api.id={{ mft_api_service_id }}
+
+resource.service.host={{ mft_resource_service_host }}
+resource.service.port={{ mft_resource_service_grpc_port }}
+secret.service.host={{ mft_secret_service_host }}
+secret.service.port={{ mft_secret_service_grpc_port }}
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/controller/application.properties.j2 b/ansible/roles/mft/templates/controller/application.properties.j2
new file mode 100644
index 0000000..ae22d1b
--- /dev/null
+++ b/ansible/roles/mft/templates/controller/application.properties.j2
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+consul.host={{ mft_consul_host }}
+consul.port={{ mft_consul_port }}
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/resource-service/application.properties.j2 b/ansible/roles/mft/templates/resource-service/application.properties.j2
new file mode 100644
index 0000000..c15b4fe
--- /dev/null
+++ b/ansible/roles/mft/templates/resource-service/application.properties.j2
@@ -0,0 +1,33 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+server.port={{ mft_resource_service_http_port }}
+grpc.port={{ mft_resource_service_grpc_port }}
+grpc.enableReflection=true
+
+# Configurations for Airavata Backend
+airavata.backend.registry.server.host=localhost
+airavata.backend.registry.server.port=8970
+
+# Configurations for File Backend
+file.backend.resource.file=resources.json
+file.backend.storage.file=storages.json
+
+datalake.backend.drms.host={{ datalake_drms_host }}
+datalake.backend.drms.port={{ datalake_drms_grpc_port }}
+datalake.backend.custos.client.id={{ mft_resource_service_custos_client_id }}
+datalake.backend.custos.client.secret={{ mft_resource_service_custos_client_secret }}
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/resource-service/applicationContext.xml.j2 b/ansible/roles/mft/templates/resource-service/applicationContext.xml.j2
new file mode 100644
index 0000000..201d501
--- /dev/null
+++ b/ansible/roles/mft/templates/resource-service/applicationContext.xml.j2
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd">
+
+ <bean id="resourceBackend" class="{{ mft_resource_service_backend }}"
+ init-method="init" destroy-method="destroy"></bean>
+</beans>
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/secret-service/application.properties.j2 b/ansible/roles/mft/templates/secret-service/application.properties.j2
new file mode 100644
index 0000000..332b2bb
--- /dev/null
+++ b/ansible/roles/mft/templates/secret-service/application.properties.j2
@@ -0,0 +1,32 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+server.port={{ mft_secret_service_http_port }}
+grpc.port={{ mft_secret_service_grpc_port }}
+
+# Configurations for Airavata Backend
+airavata.backend.credential.server.host=149.165.170.103
+airavata.backend.credential.server.port=8960
+
+# Configurations for file Backend
+file.backend.secret.file=secrets.json
+
+# Configurations for Custos Backend
+custos.host=custos.scigap.org
+custos.port=31499
+custos.id=CHANGE_ME
+custos.secret=CHANGE_ME
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/secret-service/applicationContext.xml.j2 b/ansible/roles/mft/templates/secret-service/applicationContext.xml.j2
new file mode 100644
index 0000000..29b8079
--- /dev/null
+++ b/ansible/roles/mft/templates/secret-service/applicationContext.xml.j2
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd">
+
+<!-- <bean id="resourceBackend" class="org.apache.airavata.mft.secret.server.backend.file.FileBasedSecretBackend"-->
+<!-- init-method="init" destroy-method="destroy"></bean>-->
+ <bean id="resourceBackend" class="{{ mft_secret_service_backend }}"
+ init-method="init" destroy-method="destroy"></bean>
+
+</beans>
\ No newline at end of file
diff --git a/ansible/roles/mft/templates/secret-service/secrets.json.j2 b/ansible/roles/mft/templates/secret-service/secrets.json.j2
new file mode 100644
index 0000000..3e9435f
--- /dev/null
+++ b/ansible/roles/mft/templates/secret-service/secrets.json.j2
@@ -0,0 +1,35 @@
+[
+ {
+ "type": "SCP",
+ "secretId": "local-ssh-cred",
+ "privateKey": "",
+ "publicKey": "",
+ "passphrase": ""
+ },
+ {
+ "type": "S3",
+ "secretId": "s3-cred",
+ "accessKey": "",
+ "secretKey": ""
+ },
+ {
+ "type": "BOX",
+ "secretId": "box-cred",
+ "accessToken": ""
+ },
+ {
+ "type": "AZURE",
+ "secretId": "azure-cred",
+ "connectionString": "azure-con"
+ },
+ {
+ "type": "GCS",
+ "secretId": "gcs-cred",
+ "credentialsJson": ""
+ },
+ {
+ "type": "DROPBOX",
+ "secretId": "dropbox-cred",
+ "accessToken": ""
+ }
+]
\ No newline at end of file
diff --git a/data-resource-management-service/drms-custos-synchronizer/src/main/resources/config.yml b/data-resource-management-service/drms-custos-synchronizer/src/main/resources/config.yml
index 1387395..621ecc6 100644
--- a/data-resource-management-service/drms-custos-synchronizer/src/main/resources/config.yml
+++ b/data-resource-management-service/drms-custos-synchronizer/src/main/resources/config.yml
@@ -1,8 +1,8 @@
pollingInterval: 60
dataResourceManagementService:
- dbURI: "bolt://149.165.156.173:7687"
+ dbURI: "bolt://192.168.0.14:7687"
dbUser: "neo4j"
- dbPassword: "blastcovid19"
+ dbPassword: "123456"
custos:
host: "custos.scigap.org"
port: 31499