TLS sdc-be-init: truststore & keystore handling
[sdc.git] / catalog-be / sdc-backend-init / chef-repo / cookbooks / sdc-catalog-be-setup / recipes / 3_import_Normatives.rb
index e9e44c0..cb36ffd 100644 (file)
@@ -1,34 +1,43 @@
+require 'base64'
 be_ip=node['Nodes'][:BE]
 
 if node['disableHttp']
   protocol = "https"
   be_port = node['BE']['https_port']
   param="-i #{be_ip} -p #{be_port} --https"
+  if node['BE-init']['tls_cert'] && node['BE-init']['tls_key']
+    tls_key = "--tls_key " + node['BE-init']['tls_key']
+    tls_cert = "--tls_cert " + node['BE-init']['tls_cert']
+    if node['BE-init']['tls_password']
+      tls_key_pw = "--tls_key_pw " + node['BE-init']['tls_password']
+    end
+  end
+  if node['BE-init']['ca_cert']
+    ca_cert =  "--ca_cert " + node['BE-init']['ca_cert']
+  end
 else
   protocol = "http"
   be_port = node['BE']['http_port']
   param="-i #{be_ip} -p #{be_port}"
 end
 
+if node['basic_auth']
+  basic_auth_enabled = node['basic_auth']['enabled']
+  basic_auth_user = node['basic_auth']['user_name']
+  basic_auth_pass = node['basic_auth']['user_pass']
+  if basic_auth_enabled
+    basic_auth_config = "--header " + Base64.strict_encode64(basic_auth_user + ":" + basic_auth_pass)
+  else
+    # set default user configuration file
+    basic_auth_config = ""
+  end
+end
 cookbook_file "/var/tmp/normatives.tar.gz" do
   source "normatives.tar.gz"
 end
 
-bash "executing-import_Normatives" do
-  code <<-EOH
-    set -ex
-
-    cd /var/tmp/
-    tar -xvf normatives.tar.gz
-    
-    # executing the normatives
-    # add --debug to the sdcinit command to enable debug
-
-    cd /var/tmp/normatives/import/tosca
-    sdcinit #{param} > /var/lib/jetty/logs/init.log
-    rc=$?
-    if [[ $rc != 0 ]]; then exit $rc; fi
-
-  EOH
-  returns [0]
+execute "create-jetty-modules" do
+  command "set -ex && tar -xvf normatives.tar.gz && cd /var/tmp/normatives/import/tosca && sdcinit #{param} #{basic_auth_config} #{tls_cert} #{tls_key} #{tls_key_pw} #{ca_cert} > #{ENV['ONAP_LOG']}/init.log"
+  cwd "/var/tmp/"
+  action :run
 end