From 4d01403a90c53a632aac12bb7aa042468fa09d34 Mon Sep 17 00:00:00 2001 From: gnsuryan Date: Mon, 5 Jul 2021 12:31:54 +0530 Subject: [PATCH 1/3] security changes for weblogic cluster offer --- .../src/main/arm/mainTemplate.json | 4 +- .../addnode/src/main/arm/mainTemplate.json | 6 +- .../addnode/src/main/scripts/addnode.sh | 118 +- .../src/main/arm/mainTemplate.json | 2 +- .../_keyvaultAdapterTemplate.json | 4 +- .../_keyvaultSSLConfigTemplate.json | 8 +- .../nestedtemplates/aadNestedTemplate.json | 6 +- .../appGatewayNestedTemplate.json | 4 +- .../clusterCustomSSLTemplate.json | 1446 ++++++++--------- .../nestedtemplates/coherenceTemplate.json | 20 +- .../src/main/scripts/aadIntegration.sh | 70 +- .../main/scripts/datasourceConfig-oracle.sh | 26 +- .../scripts/datasourceConfig-postgresql.sh | 32 +- .../scripts/datasourceConfig-sqlserver.sh | 26 +- .../src/main/scripts/elkIntegration.sh | 52 +- .../main/scripts/setupApplicationGateway.sh | 8 +- .../src/main/scripts/setupClusterDomain.sh | 128 +- .../src/main/scripts/setupCoherence.sh | 104 +- .../src/main/scripts/updateDNSZones.sh | 22 +- .../cli-scripts/custom-dns-alias-cli.sh | 12 +- .../src/main/scripts/deletenode-cli.sh | 2 +- .../deletenode/src/main/scripts/deletenode.sh | 24 +- .../test/data/parameters-test.json | 2 +- .../test/scripts/gen-parameters-aad-ag.sh | 3 + .../test/scripts/gen-parameters-aad.sh | 3 + .../test/scripts/gen-parameters-ag.sh | 3 + .../test/scripts/gen-parameters-coherence.sh | 3 + .../test/scripts/gen-parameters-db-aad-ag.sh | 3 + .../test/scripts/gen-parameters-db-aad.sh | 3 + .../test/scripts/gen-parameters-db-ag.sh | 3 + .../test/scripts/gen-parameters-db.sh | 3 + ...gen-parameters-deploy-addnode-coherence.sh | 3 + .../scripts/gen-parameters-deploy-addnode.sh | 3 + .../gen-parameters-deploy-coherence.sh | 3 + .../test/scripts/gen-parameters-elk.sh | 3 + .../test/scripts/gen-parameters.sh | 3 + .../test/scripts/verify-servers-lifecycle.sh | 2 +- .../test/scripts/verify-services.sh | 2 +- 38 files changed, 1102 insertions(+), 1067 deletions(-) diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode-coherence/src/main/arm/mainTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode-coherence/src/main/arm/mainTemplate.json index eb9313dac..ce1232d94 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode-coherence/src/main/arm/mainTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode-coherence/src/main/arm/mainTemplate.json @@ -55,7 +55,7 @@ } }, "elkSettings": { - "type": "object", + "type": "secureObject", "defaultValue": { "enable": false, "elasticsearchEndpoint": "null", @@ -165,7 +165,7 @@ } }, "customSSLSettings": { - "type": "object", + "type": "secureObject", "defaultValue": { "enable": false, "customIdentityKeyStoreBase64String": "null", diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/arm/mainTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/arm/mainTemplate.json index 09dc1c196..a49bd315e 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/arm/mainTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/arm/mainTemplate.json @@ -17,7 +17,7 @@ "defaultValue": "" }, "aadsSettings": { - "type": "object", + "type": "secureObject", "defaultValue": { "enable": false, "publicIP": "null", @@ -48,7 +48,7 @@ } }, "appGatewaySettings": { - "type": "object", + "type": "secureObject", "defaultValue": { "enable": false, "publicIPName": "null", @@ -187,7 +187,7 @@ } }, "customSSLSettings": { - "type": "object", + "type": "secureObject", "defaultValue": { "enable": false, "customIdentityKeyStoreBase64String": "null", diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/scripts/addnode.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/scripts/addnode.sh index 74e100156..b4e4932da 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/scripts/addnode.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/addnode/src/main/scripts/addnode.sh @@ -62,7 +62,7 @@ function validateInput() echo_stderr "serverIndex is required. " fi - export wlsServerName=${managedServerPrefix}${serverIndex} + wlsServerName=${managedServerPrefix}${serverIndex} if [ -z "$wlsAdminURL" ]; then @@ -350,7 +350,7 @@ function wait_for_admin() { #wait for admin to start count=1 -export CHECK_URL="http://$wlsAdminURL/weblogic/ready" +CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=`curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}` echo "Waiting for admin server to start" while [[ "$status" != "200" ]] @@ -602,7 +602,7 @@ function parseLDAPCertificate() done openssl base64 -d -in ${SCRIPT_PWD}/security/AzureADLDAPCerBase64String.txt -out ${SCRIPT_PWD}/security/AzureADTrust.cer - export addsCertificate=${SCRIPT_PWD}/security/AzureADTrust.cer + addsCertificate=${SCRIPT_PWD}/security/AzureADTrust.cer } function importAADCertificate() @@ -688,7 +688,7 @@ function parseAndSaveCustomSSLKeyStoreData() echo "$customIdentityKeyStoreBase64String" > ${KEYSTORE_PATH}/identityKeyStoreCerBase64String.txt cat ${KEYSTORE_PATH}/identityKeyStoreCerBase64String.txt | base64 -d > ${KEYSTORE_PATH}/identity.keystore - export customSSLIdentityKeyStoreFile=${KEYSTORE_PATH}/identity.keystore + customSSLIdentityKeyStoreFile=${KEYSTORE_PATH}/identity.keystore rm -rf ${KEYSTORE_PATH}/identityKeyStoreCerBase64String.txt @@ -697,7 +697,7 @@ function parseAndSaveCustomSSLKeyStoreData() echo "$customTrustKeyStoreBase64String" > ${KEYSTORE_PATH}/trustKeyStoreCerBase64String.txt cat ${KEYSTORE_PATH}/trustKeyStoreCerBase64String.txt | base64 -d > ${KEYSTORE_PATH}/trust.keystore - export customSSLTrustKeyStoreFile=${KEYSTORE_PATH}/trust.keystore + customSSLTrustKeyStoreFile=${KEYSTORE_PATH}/trust.keystore rm -rf ${KEYSTORE_PATH}/trustKeyStoreCerBase64String.txt @@ -707,7 +707,7 @@ function parseAndSaveCustomSSLKeyStoreData() #main script starts here -export SCRIPT_PWD=`pwd` +SCRIPT_PWD=`pwd` # store arguments in a special array args=("$@") @@ -716,9 +716,9 @@ ELEMENTS=${#args[@]} # echo each element in array # for loop -for (( i=0;i<$ELEMENTS;i++)); do - echo "ARG[${args[${i}]}]" -done +#for (( i=0;i<$ELEMENTS;i++)); do +# echo "ARG[${args[${i}]}]" +#done if [ $# -lt 23 ] then @@ -726,62 +726,62 @@ then exit 1 fi -export wlsDomainName=$1 -export wlsUserName=$2 -export wlsPassword=$3 -export managedServerPrefix=$4 -export serverIndex=$5 -export wlsAdminURL=$6 -export oracleHome=$7 -export wlsDomainPath=$8 -export storageAccountName=$9 -export storageAccountKey=${10} -export mountpointPath=${11} -export wlsADSSLCer="${12}" -export wlsLDAPPublicIP="${13}" -export adServerHost="${14}" -export appGWHostName=${15} -export enableELK=${16} -export elasticURI=${17} -export elasticUserName=${18} -export elasticPassword=${19} -export logsToIntegrate=${20} -export logIndex=${21} -export enableCoherence=${22} - -export isCustomSSLEnabled="${23}" +wlsDomainName=$1 +wlsUserName=$2 +wlsPassword=$3 +managedServerPrefix=$4 +serverIndex=$5 +wlsAdminURL=$6 +oracleHome=$7 +wlsDomainPath=$8 +storageAccountName=$9 +storageAccountKey=${10} +mountpointPath=${11} +wlsADSSLCer="${12}" +wlsLDAPPublicIP="${13}" +adServerHost="${14}" +appGWHostName=${15} +enableELK=${16} +elasticURI=${17} +elasticUserName=${18} +elasticPassword=${19} +logsToIntegrate=${20} +logIndex=${21} +enableCoherence=${22} + +isCustomSSLEnabled="${23}" isCustomSSLEnabled="${isCustomSSLEnabled,,}" if [ "${isCustomSSLEnabled,,}" == "true" ]; then - export customIdentityKeyStoreBase64String="${24}" - export customIdentityKeyStorePassPhrase="${25}" - export customIdentityKeyStoreType="${26}" - export customTrustKeyStoreBase64String="${27}" - export customTrustKeyStorePassPhrase="${28}" - export customTrustKeyStoreType="${29}" - export privateKeyAlias="${30}" - export privateKeyPassPhrase="${31}" + customIdentityKeyStoreBase64String="${24}" + customIdentityKeyStorePassPhrase="${25}" + customIdentityKeyStoreType="${26}" + customTrustKeyStoreBase64String="${27}" + customTrustKeyStorePassPhrase="${28}" + customTrustKeyStoreType="${29}" + privateKeyAlias="${30}" + privateKeyPassPhrase="${31}" fi -export coherenceListenPort=7574 -export coherenceLocalport=42000 -export coherenceLocalportAdjust=42200 -export enableAAD="false" -export wlsAdminPort=7001 -export wlsAdminChannelPort=7005 -export wlsManagedPort=8001 -export wlsClusterName="cluster1" -export nmHost=`hostname` -export nmPort=5556 -export channelPort=8501 -export AppGWHttpPort=80 -export AppGWHttpsPort=443 -export WEBLOGIC_DEPLOY_TOOL=https://github.com/oracle/weblogic-deploy-tooling/releases/download/weblogic-deploy-tooling-1.8.1/weblogic-deploy.zip -export username="oracle" -export groupname="oracle" - -export KEYSTORE_PATH="$wlsDomainPath/$wlsDomainName/keystores" +coherenceListenPort=7574 +coherenceLocalport=42000 +coherenceLocalportAdjust=42200 +enableAAD="false" +wlsAdminPort=7001 +wlsAdminChannelPort=7005 +wlsManagedPort=8001 +wlsClusterName="cluster1" +nmHost=`hostname` +nmPort=5556 +channelPort=8501 +AppGWHttpPort=80 +AppGWHttpsPort=443 +WEBLOGIC_DEPLOY_TOOL=https://github.com/oracle/weblogic-deploy-tooling/releases/download/weblogic-deploy-tooling-1.8.1/weblogic-deploy.zip +username="oracle" +groupname="oracle" + +KEYSTORE_PATH="$wlsDomainPath/$wlsDomainName/keystores" chmod ugo+x ${SCRIPT_PWD}/elkIntegration.sh diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/mainTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/mainTemplate.json index 4761326f1..d0560de7c 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/mainTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/mainTemplate.json @@ -77,7 +77,7 @@ }, "appGatewaySSLCertData": { "defaultValue": "", - "type": "string", + "type": "securestring", "metadata": { "description": "The one-line, base64 string of the SSL certificate data." } diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultAdapterTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultAdapterTemplate.json index 7d8bbd595..6297acb95 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultAdapterTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultAdapterTemplate.json @@ -16,13 +16,13 @@ } }, "certificateDataValue": { - "type": "string", + "type": "securestring", "metadata": { "description": "Certificate data to store in the secret" } }, "certificatePasswordValue": { - "type": "string", + "type": "securestring", "metadata": { "description": "Certificate password to store in the secret" } diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultSSLConfigTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultSSLConfigTemplate.json index 939121801..c83683205 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultSSLConfigTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/_keyvaultSSLConfigTemplate.json @@ -9,19 +9,19 @@ } }, "uploadedCustomIdentityKeyStorePassphrase": { - "type": "string", + "type": "securestring", "metadata": { "description": "Custom Identity KeyStore Passphrase" } }, "uploadedCustomTrustKeyStoreData": { - "type": "string", + "type": "securestring", "metadata": { "description": "Custom Trust KeyStore Data" } }, "uploadedCustomTrustKeyStorePassPhrase": { - "type": "string", + "type": "securestring", "metadata": { "description": "Custom Trust KeyStore PassPhrase" } @@ -33,7 +33,7 @@ } }, "uploadedPrivateKeyPassPhrase": { - "type": "string", + "type": "securestring", "metadata": { "description": "Password of the private key" } diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/aadNestedTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/aadNestedTemplate.json index bcbca4f20..abb5b6db4 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/aadNestedTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/aadNestedTemplate.json @@ -106,7 +106,7 @@ }, "wlsLDAPSSLCertificate": { "defaultValue": "", - "type": "string", + "type": "securestring", "metadata": { "description": "Client certificate that will be imported to trust store of SSL." } @@ -139,8 +139,8 @@ } }, "keyVaultCustomTrustKeyStorePassPhrase": { - "type": "string", - "defaultValue": "null", + "type": "securestring", + "defaultValue": "", "metadata": { "description": "Weblogic Custom Trust Store Passphrase" } diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/appGatewayNestedTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/appGatewayNestedTemplate.json index 26886812d..90a79fdb1 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/appGatewayNestedTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/appGatewayNestedTemplate.json @@ -30,10 +30,10 @@ } }, "appGatewaySSLCertificateData": { - "type": "string" + "type": "securestring" }, "appGatewaySSLCertificatePassword": { - "type": "string" + "type": "securestring" }, "customDomainName": { "defaultValue": "application.contoso.xyz", diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/clusterCustomSSLTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/clusterCustomSSLTemplate.json index aadc0a366..7dd90b512 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/clusterCustomSSLTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/clusterCustomSSLTemplate.json @@ -1,723 +1,723 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "_artifactsLocation": { - "type": "string", - "metadata": { - "description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated." - } - }, - "_artifactsLocationClusterTemplate": { - "defaultValue": "[if(contains(parameters('_artifactsLocation'), 'githubusercontent'), parameters('_artifactsLocation'), deployment().properties.templateLink.uri)]", - "type": "string", - "metadata": { - "description": "If we are deploying from the command line, use the passed in _artifactsLocation, otherwise use the default." - } - }, - "_artifactsLocationSasToken": { - "defaultValue": "", - "type": "securestring", - "metadata": { - "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated. Use the defaultValue if the staging location is not secured." - } - }, - "adminPasswordOrKey": { - "type": "securestring", - "metadata": { - "description": "SSH Key or password for the Virtual Machine. SSH key is recommended." - } - }, - "adminUsername": { - "defaultValue": "weblogic", - "type": "string", - "metadata": { - "description": "User name for the Virtual Machine." - } - }, - "adminVMName": { - "defaultValue": "adminVM", - "type": "string", - "metadata": { - "description": "Admin Server hosting VM name." - } - }, - "authenticationType": { - "defaultValue": "password", - "type": "string", - "allowedValues": [ - "sshPublicKey", - "password" - ], - "metadata": { - "description": "Type of authentication to use on the Virtual Machine. SSH key is recommended." - } - }, - "dnsLabelPrefix": { - "type": "string", - "metadata": { - "description": "Unique DNS Name for the Public IP used to access the Virtual Machine." - } - }, - "guidValue": { - "type": "string", - "defaultValue": "[newGuid()]" - }, - "location": { - "type": "string", - "metadata": { - "description": "Location for all resources." - } - }, - "managedServerPrefix": { - "type": "string", - "defaultValue": "msp", - "metadata": { - "description": "Provide managed server prefix name" - } - }, - "numberOfInstances": { - "type": "int", - "defaultValue": 2, - "minValue": 2, - "maxValue": 5, - "metadata": { - "description": "Number of VMs to deploy, limit 5 since this sample is using a single storage account" - } - }, - "portsToExpose": { - "type": "string", - "defaultValue": "80,443,7001-9000", - "metadata": { - "description": "Ports and port ranges to expose" - } - }, - "skuUrnVersion": { - "type": "string", - "defaultValue": "owls-141100-jdk11-ol76;Oracle:weblogic-141100-jdk11-ol76:owls-141100-jdk11-ol7;latest", - "allowedValues": [ - "owls-122130-jdk8-ol73;Oracle:weblogic-122130-jdk8-ol73:owls-122130-jdk8-ol7;latest", - "owls-122130-jdk8-ol74;Oracle:weblogic-122130-jdk8-ol74:owls-122130-jdk8-ol7;latest", - "owls-122140-jdk8-ol76;Oracle:weblogic-122140-jdk8-ol76:owls-122140-jdk8-ol7;latest", - "owls-141100-jdk8-ol76;Oracle:weblogic-141100-jdk8-ol76:owls-141100-jdk8-ol7;latest", - "owls-141100-jdk11-ol76;Oracle:weblogic-141100-jdk11-ol76:owls-141100-jdk11-ol7;latest" - ], - "metadata": { - "description": "The Oracle Linux image with Weblogic and Java preinstalled. Semicolon separated string of Sku, URN, and Version" - } - }, - "usePreviewImage": { - "type": "bool", - "defaultValue": false, - "metadata": { - "description": "Bool value, if it's set to true, will deploy with preview weblogic image." - } - }, - "useSystemAssignedManagedIdentity": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Bool value, if it's set to true, a system assigned managed identity will to be created for the VM(s)" - } - }, - "vmSizeSelect": { - "type": "string", - "defaultValue": "Standard_A3", - "metadata": { - "description": "Select appropriate VM Size as per requirement" - } - }, - "wlsDomainName": { - "type": "string", - "metadata": { - "description": "Provide Weblogic domain name" - } - }, - "wlsUserName": { - "defaultValue": "weblogic", - "type": "string", - "metadata": { - "description": "Username for your Weblogic domain name" - } - }, - "wlsPassword": { - "type": "securestring", - "metadata": { - "description": "Password for your Weblogic domain name" - } - }, - "enableHTTPAdminListenPort":{ - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Boolean value indicating, if WebLogic Admin Server HTTP Listen Port is enabled or not" - } - }, - "enableCustomSSL":{ - "defaultValue":true, - "type": "bool", - "metadata": { - "description": "Boolean value indicating, if custom SSL is enabled or not" - } - }, - "keyVaultCustomIdentityKeyStoreData": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Identity Keystore Data" - } - }, - "keyVaultCustomIdentityKeyStorePassPhrase": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Identity Keystore Passphrase" - } - }, - "keyVaultCustomIdentityKeyStoreType": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Identity Keystore Type" - }, - "defaultValue": "JKS" - }, - "keyVaultCustomTrustKeyStoreData": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Trust Store Data" - } - }, - "keyVaultCustomTrustKeyStorePassPhrase": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Trust Store Passphrase" - } - }, - "keyVaultCustomTrustKeyStoreType": { - "type": "string", - "metadata": { - "description": "Weblogic Custom Trust Store Type" - }, - "defaultValue": "JKS" - }, - "keyVaultPrivateKeyAlias": { - "type": "string", - "metadata": { - "description": "Weblogic Server Private Key Alias" - } - }, - "keyVaultPrivateKeyPassPhrase": { - "type": "string", - "metadata": { - "description": "Weblogic Server Private Key Pass Phrase" - } - } - }, - "variables": { - "const_addressPrefix": "10.0.0.0/16", - "const_appGatewaySubnetPrefix": "10.0.1.0/24", - "const_hyphen": "-", - "const_imageOffer": "[concat('weblogic',variables('const_hyphen'), split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[1],variables('const_hyphen'),split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[2],variables('const_hyphen'),split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[3],if(parameters('usePreviewImage'),'-preview',''))]", - "const_imagePublisher": "oracle", - "const_linuxConfiguration": { - "disablePasswordAuthentication": true, - "ssh": { - "publicKeys": [ - { - "path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]", - "keyData": "[parameters('adminPasswordOrKey')]" - } - ] - } - }, - "const_managedVMPrefix": "[concat(parameters('managedServerPrefix'),'VM')]", - "const_mountPointPath": "[concat('/mnt/', variables('name_share'))]", - "const_publicIPAddressType": "Dynamic", - "const_requiredPortrange": ",65200-65535,5556", - "const_storageAccountType": "Standard_LRS", - "const_subnetPrefix": "10.0.0.0/24", - "const_vmSize": "[parameters('vmSizeSelect')]", - "const_wlsHome": "/u01/app/wls/install/oracle/middleware/oracle_home", - "name_appGatewaySubnet": "appGatewaySubnet", - "name_availabilitySet": "WLSCluster-AvailabilitySet", - "name_linuxImageOfferSKU": "[first(split(parameters('skuUrnVersion'), ';'))]", - "name_linuxImageVersion": "[last(split(parameters('skuUrnVersion'),';'))]", - "name_networkSecurityGroup": "[concat(parameters('dnsLabelPrefix'), '-nsg')]", - "name_nic": "_NIC", - "name_publicIPAddress": "_PublicIP", - "name_outputAdminHost": "[concat(parameters('adminVMName'),variables('name_publicIPAddress'))]", - "name_scriptFile": "setupClusterDomain.sh", - "name_share": "wlsshare", - "name_storageAccount": "[concat(take(replace(parameters('guidValue'),'-',''),6),'olvm')]", - "name_subnet": "Subnet", - "name_virtualNetwork": "[concat(parameters('wlsDomainName'),'_VNET')]", - "ref_fileService": "[resourceId('Microsoft.Storage/storageAccounts/fileServices', variables('name_storageAccount'), 'default')]", - "ref_networkSecurityGroup": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('name_networkSecurityGroup'))]", - "ref_storage": "[resourceId('Microsoft.Storage/storageAccounts', variables('name_storageAccount'))]", - "ref_subnet": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('name_virtualNetwork'), variables('name_subnet'))]" - - }, - "resources": [ - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${cluster.cluster.start}", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Network/networkSecurityGroups", - "apiVersion": "${azure.apiVersion}", - "name": "[variables('name_networkSecurityGroup')]", - "location": "[parameters('location')]", - "properties": { - "securityRules": [ - { - "name": "WebLogicPorts", - "properties": { - "protocol": "TCP", - "sourcePortRange": "*", - "sourceAddressPrefix": "*", - "destinationAddressPrefix": "*", - "access": "Allow", - "priority": 320, - "direction": "Inbound", - "destinationPortRanges": "[split(concat(parameters('portsToExpose'),variables('const_requiredPortrange')), ',')]" - } - }, - { - "name": "WebLogicNMPort", - "properties": { - "protocol": "TCP", - "sourcePortRange": "*", - "sourceAddressPrefix": "Internet", - "destinationAddressPrefix": "*", - "access": "Deny", - "priority": 201, - "direction": "Inbound", - "destinationPortRanges": [ "5556" ] - } - }, - { - "name": "WebLogicAdminChannelPort", - "properties": { - "protocol": "TCP", - "sourcePortRange": "*", - "sourceAddressPrefix": "Internet", - "destinationAddressPrefix": "*", - "access": "Deny", - "priority": 202, - "direction": "Inbound", - "destinationPortRanges": [ "7005" ] - } - }, - { - "name": "WebLogicManagedChannelPortsDenied", - "properties": { - "protocol": "*", - "sourcePortRange": "*", - "destinationAddressPrefix": "*", - "access": "Deny", - "priority": 230, - "direction": "Inbound", - "destinationPortRanges": [ - "8501" - ], - "sourceAddressPrefix": "Internet" - } - } - ] - } - }, - { - "type": "Microsoft.Storage/storageAccounts", - "apiVersion": "${azure.apiVersion2}", - "name": "[variables('name_storageAccount')]", - "location": "[parameters('location')]", - "sku": { - "name": "[variables('const_storageAccountType')]" - }, - "kind": "Storage", - "properties": { - "supportsHttpsTrafficOnly": false - }, - "dependsOn": [ - "[variables('name_networkSecurityGroup')]" - ] - }, - { - "type": "Microsoft.Storage/storageAccounts/fileServices", - "apiVersion": "${azure.apiVersion2}", - "name": "[concat(variables('name_storageAccount'), '/default')]", - "dependsOn": [ - "[variables('ref_storage')]" - ], - "sku": { - "name": "Standard_LRS", - "tier": "Standard" - } - }, - { - "type": "Microsoft.Storage/storageAccounts/fileServices/shares", - "apiVersion": "${azure.apiVersion2}", - "name": "[concat(variables('name_storageAccount'), '/default/', variables('name_share'))]", - "dependsOn": [ - "[variables('ref_fileService')]", - "[variables('ref_storage')]" - ], - "properties": { - "shareQuota": 5 - } - }, - { - "type": "Microsoft.Network/publicIPAddresses", - "apiVersion": "${azure.apiVersion}", - "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_publicIPAddress')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_publicIPAddress')))]", - "location": "[parameters('location')]", - "copy": { - "name": "publicIPLoop", - "count": "[parameters('numberOfInstances')]" - }, - "properties": { - "publicIPAllocationMethod": "[variables('const_publicIPAddressType')]", - "dnsSettings": { - "domainNameLabel": "[concat(toLower(parameters('dnsLabelPrefix')),copyindex(),'-',take(replace(parameters('guidValue'),'-',''),10),'-',toLower(parameters('wlsDomainName')))]" - } - }, - "dependsOn": [ - "[variables('name_storageAccount')]" - ] - }, - { - "type": "Microsoft.Network/virtualNetworks", - "apiVersion": "${azure.apiVersion}", - "name": "[variables('name_virtualNetwork')]", - "location": "[parameters('location')]", - "dependsOn": [ - "[variables('name_storageAccount')]" - ], - "properties": { - "addressSpace": { - "addressPrefixes": [ - "[variables('const_addressPrefix')]" - ] - }, - "subnets": [ - { - "name": "[variables('name_subnet')]", - "properties": { - "addressPrefix": "[variables('const_subnetPrefix')]", - "networkSecurityGroup": { - "id": "[variables('ref_networkSecurityGroup')]" - } - } - }, - { - // PENDING(edburns): Assume it is acceptable to create a subnet for the App Gateway, even if the user - // has not requested an App Gateway. In support of this assumption we can note: the user may want an App - // Gateway after deployment. - "name": "[variables('name_appGatewaySubnet')]", - "properties": { - "addressPrefix": "[variables('const_appGatewaySubnetPrefix')]", - "networkSecurityGroup": { - "id": "[variables('ref_networkSecurityGroup')]" - } - } - } - ] - } - }, - { - "type": "Microsoft.Network/networkInterfaces", - "apiVersion": "${azure.apiVersion}", - "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_nic')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_nic')))]", - "location": "[parameters('location')]", - "copy": { - "name": "nicLoop", - "count": "[parameters('numberOfInstances')]" - }, - "dependsOn": [ - "[variables('name_virtualNetwork')]", - "publicIPLoop" - ], - "properties": { - "ipConfigurations": [ - { - "name": "ipconfig1", - "properties": { - "privateIPAllocationMethod": "Dynamic", - "publicIPAddress": { - "id": "[resourceId('Microsoft.Network/publicIPAddresses',if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_publicIPAddress')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_publicIPAddress'))))]" - }, - "subnet": { - "id": "[variables('ref_subnet')]" - } - } - } - ], - "dnsSettings": { - "internalDnsNameLabel": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]" - } - } - }, - { - "type": "Microsoft.Compute/availabilitySets", - "apiVersion": "${azure.apiVersion}", - "location": "[parameters('location')]", - "name": "[variables('name_availabilitySet')]", - "properties": { - "platformFaultDomainCount": 2, - "platformUpdateDomainCount": 2 - }, - "dependsOn": [ - "[variables('name_virtualNetwork')]" - ], - "sku": { - "name": "Aligned" - } - }, - { - "type": "Microsoft.Compute/virtualMachines", - "apiVersion": "${azure.apiVersion}", - "name": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]", - "location": "[parameters('location')]", - "copy": { - "name": "virtualMachineLoop", - "count": "[parameters('numberOfInstances')]" - }, - "dependsOn": [ - "nicLoop", - "[resourceId('Microsoft.Compute/availabilitySets/', variables('name_availabilitySet'))]" - ], - "identity": "[if(parameters('useSystemAssignedManagedIdentity'), json('{\"type\":\"SystemAssigned\"}'), null())]", - "properties": { - "availabilitySet": { - "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('name_availabilitySet'))]" - }, - "hardwareProfile": { - "vmSize": "[variables('const_vmSize')]" - }, - "osProfile": { - "computerName": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]", - "adminUsername": "[parameters('adminUsername')]", - "adminPassword": "[parameters('adminPasswordOrKey')]", - "linuxConfiguration": "[if(equals(parameters('authenticationType'), 'password'), json('null'), variables('const_linuxConfiguration'))]" - }, - "storageProfile": { - "imageReference": { - "publisher": "[variables('const_imagePublisher')]", - "offer": "[variables('const_imageOffer')]", - "sku": "[variables('name_linuxImageOfferSKU')]", - "version": "[variables('name_linuxImageVersion')]" - }, - "osDisk": { - "createOption": "FromImage", - "managedDisk": { - "storageAccountType": "Standard_LRS" - } - }, - "dataDisks": [ - { - "lun": 0, - "createOption": "FromImage", - "diskSizeGB": 900, - "managedDisk": { - "storageAccountType": "Standard_LRS" - } - } - ] - }, - "networkProfile": { - "networkInterfaces": [ - { - "id": "[resourceId('Microsoft.Network/networkInterfaces',if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_nic')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_nic'))))]" - } - ] - }, - "diagnosticsProfile": { - "bootDiagnostics": { - "enabled": true, - "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts/', variables('name_storageAccount')), '${azure.apiVersion2}').primaryEndpoints.blob]" - } - } - }, - "plan": { - "name": "[variables('name_linuxImageOfferSKU')]", - "publisher": "[variables('const_imagePublisher')]", - "product": "[variables('const_imageOffer')]" - } - }, - { - "type": "Microsoft.Compute/virtualMachines/extensions", - "apiVersion": "${azure.apiVersion}", - "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),'/newuserscript'),concat(variables('const_managedVMPrefix'), copyIndex(),'/newuserscript'))]", - "location": "[parameters('location')]", - "copy": { - "name": "virtualMachineExtensionLoop", - "count": "[parameters('numberOfInstances')]" - }, - "dependsOn": [ - "[resourceId('Microsoft.Compute/virtualMachines/',parameters('adminVMName'))]", - "virtualMachineLoop" - ], - "properties": { - "publisher": "Microsoft.Azure.Extensions", - "type": "CustomScript", - "typeHandlerVersion": "2.0", - "autoUpgradeMinorVersion": true, - "settings": { - "fileUris": [ - "[uri(parameters('_artifactsLocationClusterTemplate'), concat('../scripts/', variables('name_scriptFile'), parameters('_artifactsLocationSasToken')))]" - ] - }, - "protectedSettings": { - "commandToExecute": "[concat('sh',' ',variables('name_scriptFile'),' ',parameters('wlsDomainName'),' ',parameters('wlsUserName'),' ',parameters('wlsPassword'),' ',if(equals(copyIndex(),0),'admin',concat(parameters('managedServerPrefix'), copyIndex())),' ',parameters('adminVMName'),' ',variables('const_wlsHome'),' ',variables('name_storageAccount'),' ',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('name_storageAccount')), '${azure.apiVersion2}').keys[0].value,' ',variables('const_mountPointPath'),' ',string(parameters('enableHTTPAdminListenPort')),' ',string(parameters('enableCustomSSL')),' ',base64(parameters('keyVaultCustomIdentityKeyStoreData')),' ',base64(parameters('keyVaultCustomIdentityKeyStorePassPhrase')),' ',base64(parameters('keyVaultCustomIdentityKeyStoreType')),' ',base64(parameters('keyVaultCustomTrustKeyStoreData')),' ',base64(parameters('keyVaultCustomTrustKeyStorePassPhrase')),' ',base64(parameters('keyVaultCustomTrustKeyStoreType')),' ',base64(parameters('keyVaultPrivateKeyAlias')),' ',base64(parameters('keyVaultPrivateKeyPassPhrase')),' ')]" - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${cluster.cluster.end}", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${from.owls-122130-jdk8-ol74}", - - "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-122130-jdk8-ol74'), bool('true'), bool('false'))]", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${from.owls-122130-jdk8-ol73}", - "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'from.owls-122130-jdk8-ol73'), bool('true'), bool('false'))]", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${from.owls-122140-jdk8-ol76}", - - "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'from.owls-122140-jdk8-ol76'), bool('true'), bool('false'))]", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${from.owls-141100-jdk8-ol76}", - "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-141100-jdk8-ol76'), bool('true'), bool('false'))]", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - }, - { - "type": "Microsoft.Resources/deployments", - "apiVersion": "${azure.apiVersion}", - "name": "${from.owls-141100-jdk11-ol76}", - "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-141100-jdk11-ol76'), bool('true'), bool('false'))]", - "dependsOn": [ - "virtualMachineExtensionLoop" - ], - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "resources": [ - ] - } - } - } - ], - "outputs": { - "_adminPublicIPId": { - "type": "string", - "value": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('adminVMName'),variables('name_publicIPAddress')))]" - }, - "artifactsLocationPassedIn": { - "type": "string", - "value": "[parameters('_artifactsLocation')]" - }, - "adminHostName": { - "type": "string", - "value": "[reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn]" - }, - "adminConsole": { - "type": "string", - "value": "[concat('http://',reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn,':7001/console')]" - }, - "adminSecuredConsole": { - "type": "string", - "value": "[concat('https://',reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn,':7002/console')]" - }, - "wlsDomainLocation": { - "type": "string", - "value": "[concat('/u01/domains/', parameters('wlsDomainName'))]" - }, - "storageAccountName": { - "type": "string", - "value": "[variables('name_storageAccount')]" - } - } -} +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "_artifactsLocation": { + "type": "string", + "metadata": { + "description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated." + } + }, + "_artifactsLocationClusterTemplate": { + "defaultValue": "[if(contains(parameters('_artifactsLocation'), 'githubusercontent'), parameters('_artifactsLocation'), deployment().properties.templateLink.uri)]", + "type": "string", + "metadata": { + "description": "If we are deploying from the command line, use the passed in _artifactsLocation, otherwise use the default." + } + }, + "_artifactsLocationSasToken": { + "defaultValue": "", + "type": "securestring", + "metadata": { + "description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated. Use the defaultValue if the staging location is not secured." + } + }, + "adminPasswordOrKey": { + "type": "securestring", + "metadata": { + "description": "SSH Key or password for the Virtual Machine. SSH key is recommended." + } + }, + "adminUsername": { + "defaultValue": "weblogic", + "type": "string", + "metadata": { + "description": "User name for the Virtual Machine." + } + }, + "adminVMName": { + "defaultValue": "adminVM", + "type": "string", + "metadata": { + "description": "Admin Server hosting VM name." + } + }, + "authenticationType": { + "defaultValue": "password", + "type": "string", + "allowedValues": [ + "sshPublicKey", + "password" + ], + "metadata": { + "description": "Type of authentication to use on the Virtual Machine. SSH key is recommended." + } + }, + "dnsLabelPrefix": { + "type": "string", + "metadata": { + "description": "Unique DNS Name for the Public IP used to access the Virtual Machine." + } + }, + "guidValue": { + "type": "string", + "defaultValue": "[newGuid()]" + }, + "location": { + "type": "string", + "metadata": { + "description": "Location for all resources." + } + }, + "managedServerPrefix": { + "type": "string", + "defaultValue": "msp", + "metadata": { + "description": "Provide managed server prefix name" + } + }, + "numberOfInstances": { + "type": "int", + "defaultValue": 2, + "minValue": 2, + "maxValue": 5, + "metadata": { + "description": "Number of VMs to deploy, limit 5 since this sample is using a single storage account" + } + }, + "portsToExpose": { + "type": "string", + "defaultValue": "80,443,7001-9000", + "metadata": { + "description": "Ports and port ranges to expose" + } + }, + "skuUrnVersion": { + "type": "string", + "defaultValue": "owls-141100-jdk11-ol76;Oracle:weblogic-141100-jdk11-ol76:owls-141100-jdk11-ol7;latest", + "allowedValues": [ + "owls-122130-jdk8-ol73;Oracle:weblogic-122130-jdk8-ol73:owls-122130-jdk8-ol7;latest", + "owls-122130-jdk8-ol74;Oracle:weblogic-122130-jdk8-ol74:owls-122130-jdk8-ol7;latest", + "owls-122140-jdk8-ol76;Oracle:weblogic-122140-jdk8-ol76:owls-122140-jdk8-ol7;latest", + "owls-141100-jdk8-ol76;Oracle:weblogic-141100-jdk8-ol76:owls-141100-jdk8-ol7;latest", + "owls-141100-jdk11-ol76;Oracle:weblogic-141100-jdk11-ol76:owls-141100-jdk11-ol7;latest" + ], + "metadata": { + "description": "The Oracle Linux image with Weblogic and Java preinstalled. Semicolon separated string of Sku, URN, and Version" + } + }, + "usePreviewImage": { + "type": "bool", + "defaultValue": false, + "metadata": { + "description": "Bool value, if it's set to true, will deploy with preview weblogic image." + } + }, + "useSystemAssignedManagedIdentity": { + "type": "bool", + "defaultValue": true, + "metadata": { + "description": "Bool value, if it's set to true, a system assigned managed identity will to be created for the VM(s)" + } + }, + "vmSizeSelect": { + "type": "string", + "defaultValue": "Standard_A3", + "metadata": { + "description": "Select appropriate VM Size as per requirement" + } + }, + "wlsDomainName": { + "type": "string", + "metadata": { + "description": "Provide Weblogic domain name" + } + }, + "wlsUserName": { + "defaultValue": "weblogic", + "type": "string", + "metadata": { + "description": "Username for your Weblogic domain name" + } + }, + "wlsPassword": { + "type": "securestring", + "metadata": { + "description": "Password for your Weblogic domain name" + } + }, + "enableHTTPAdminListenPort":{ + "type": "bool", + "defaultValue": true, + "metadata": { + "description": "Boolean value indicating, if WebLogic Admin Server HTTP Listen Port is enabled or not" + } + }, + "enableCustomSSL":{ + "defaultValue":true, + "type": "bool", + "metadata": { + "description": "Boolean value indicating, if custom SSL is enabled or not" + } + }, + "keyVaultCustomIdentityKeyStoreData": { + "type": "securestring", + "metadata": { + "description": "Weblogic Custom Identity Keystore Data" + } + }, + "keyVaultCustomIdentityKeyStorePassPhrase": { + "type": "securestring", + "metadata": { + "description": "Weblogic Custom Identity Keystore Passphrase" + } + }, + "keyVaultCustomIdentityKeyStoreType": { + "type": "string", + "metadata": { + "description": "Weblogic Custom Identity Keystore Type" + }, + "defaultValue": "JKS" + }, + "keyVaultCustomTrustKeyStoreData": { + "type": "securestring", + "metadata": { + "description": "Weblogic Custom Trust Store Data" + } + }, + "keyVaultCustomTrustKeyStorePassPhrase": { + "type": "securestring", + "metadata": { + "description": "Weblogic Custom Trust Store Passphrase" + } + }, + "keyVaultCustomTrustKeyStoreType": { + "type": "string", + "metadata": { + "description": "Weblogic Custom Trust Store Type" + }, + "defaultValue": "JKS" + }, + "keyVaultPrivateKeyAlias": { + "type": "string", + "metadata": { + "description": "Weblogic Server Private Key Alias" + } + }, + "keyVaultPrivateKeyPassPhrase": { + "type": "securestring", + "metadata": { + "description": "Weblogic Server Private Key Pass Phrase" + } + } + }, + "variables": { + "const_addressPrefix": "10.0.0.0/16", + "const_appGatewaySubnetPrefix": "10.0.1.0/24", + "const_hyphen": "-", + "const_imageOffer": "[concat('weblogic',variables('const_hyphen'), split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[1],variables('const_hyphen'),split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[2],variables('const_hyphen'),split(variables('name_linuxImageOfferSKU'),variables('const_hyphen'))[3],if(parameters('usePreviewImage'),'-preview',''))]", + "const_imagePublisher": "oracle", + "const_linuxConfiguration": { + "disablePasswordAuthentication": true, + "ssh": { + "publicKeys": [ + { + "path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]", + "keyData": "[parameters('adminPasswordOrKey')]" + } + ] + } + }, + "const_managedVMPrefix": "[concat(parameters('managedServerPrefix'),'VM')]", + "const_mountPointPath": "[concat('/mnt/', variables('name_share'))]", + "const_publicIPAddressType": "Dynamic", + "const_requiredPortrange": ",65200-65535,5556", + "const_storageAccountType": "Standard_LRS", + "const_subnetPrefix": "10.0.0.0/24", + "const_vmSize": "[parameters('vmSizeSelect')]", + "const_wlsHome": "/u01/app/wls/install/oracle/middleware/oracle_home", + "name_appGatewaySubnet": "appGatewaySubnet", + "name_availabilitySet": "WLSCluster-AvailabilitySet", + "name_linuxImageOfferSKU": "[first(split(parameters('skuUrnVersion'), ';'))]", + "name_linuxImageVersion": "[last(split(parameters('skuUrnVersion'),';'))]", + "name_networkSecurityGroup": "[concat(parameters('dnsLabelPrefix'), '-nsg')]", + "name_nic": "_NIC", + "name_publicIPAddress": "_PublicIP", + "name_outputAdminHost": "[concat(parameters('adminVMName'),variables('name_publicIPAddress'))]", + "name_scriptFile": "setupClusterDomain.sh", + "name_share": "wlsshare", + "name_storageAccount": "[concat(take(replace(parameters('guidValue'),'-',''),6),'olvm')]", + "name_subnet": "Subnet", + "name_virtualNetwork": "[concat(parameters('wlsDomainName'),'_VNET')]", + "ref_fileService": "[resourceId('Microsoft.Storage/storageAccounts/fileServices', variables('name_storageAccount'), 'default')]", + "ref_networkSecurityGroup": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('name_networkSecurityGroup'))]", + "ref_storage": "[resourceId('Microsoft.Storage/storageAccounts', variables('name_storageAccount'))]", + "ref_subnet": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('name_virtualNetwork'), variables('name_subnet'))]" + + }, + "resources": [ + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${cluster.cluster.start}", + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Network/networkSecurityGroups", + "apiVersion": "${azure.apiVersion}", + "name": "[variables('name_networkSecurityGroup')]", + "location": "[parameters('location')]", + "properties": { + "securityRules": [ + { + "name": "WebLogicPorts", + "properties": { + "protocol": "TCP", + "sourcePortRange": "*", + "sourceAddressPrefix": "*", + "destinationAddressPrefix": "*", + "access": "Allow", + "priority": 320, + "direction": "Inbound", + "destinationPortRanges": "[split(concat(parameters('portsToExpose'),variables('const_requiredPortrange')), ',')]" + } + }, + { + "name": "WebLogicNMPort", + "properties": { + "protocol": "TCP", + "sourcePortRange": "*", + "sourceAddressPrefix": "Internet", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 201, + "direction": "Inbound", + "destinationPortRanges": [ "5556" ] + } + }, + { + "name": "WebLogicAdminChannelPort", + "properties": { + "protocol": "TCP", + "sourcePortRange": "*", + "sourceAddressPrefix": "Internet", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 202, + "direction": "Inbound", + "destinationPortRanges": [ "7005" ] + } + }, + { + "name": "WebLogicManagedChannelPortsDenied", + "properties": { + "protocol": "*", + "sourcePortRange": "*", + "destinationAddressPrefix": "*", + "access": "Deny", + "priority": 230, + "direction": "Inbound", + "destinationPortRanges": [ + "8501" + ], + "sourceAddressPrefix": "Internet" + } + } + ] + } + }, + { + "type": "Microsoft.Storage/storageAccounts", + "apiVersion": "${azure.apiVersion2}", + "name": "[variables('name_storageAccount')]", + "location": "[parameters('location')]", + "sku": { + "name": "[variables('const_storageAccountType')]" + }, + "kind": "Storage", + "properties": { + "supportsHttpsTrafficOnly": false + }, + "dependsOn": [ + "[variables('name_networkSecurityGroup')]" + ] + }, + { + "type": "Microsoft.Storage/storageAccounts/fileServices", + "apiVersion": "${azure.apiVersion2}", + "name": "[concat(variables('name_storageAccount'), '/default')]", + "dependsOn": [ + "[variables('ref_storage')]" + ], + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + } + }, + { + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "apiVersion": "${azure.apiVersion2}", + "name": "[concat(variables('name_storageAccount'), '/default/', variables('name_share'))]", + "dependsOn": [ + "[variables('ref_fileService')]", + "[variables('ref_storage')]" + ], + "properties": { + "shareQuota": 5 + } + }, + { + "type": "Microsoft.Network/publicIPAddresses", + "apiVersion": "${azure.apiVersion}", + "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_publicIPAddress')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_publicIPAddress')))]", + "location": "[parameters('location')]", + "copy": { + "name": "publicIPLoop", + "count": "[parameters('numberOfInstances')]" + }, + "properties": { + "publicIPAllocationMethod": "[variables('const_publicIPAddressType')]", + "dnsSettings": { + "domainNameLabel": "[concat(toLower(parameters('dnsLabelPrefix')),copyindex(),'-',take(replace(parameters('guidValue'),'-',''),10),'-',toLower(parameters('wlsDomainName')))]" + } + }, + "dependsOn": [ + "[variables('name_storageAccount')]" + ] + }, + { + "type": "Microsoft.Network/virtualNetworks", + "apiVersion": "${azure.apiVersion}", + "name": "[variables('name_virtualNetwork')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[variables('name_storageAccount')]" + ], + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[variables('const_addressPrefix')]" + ] + }, + "subnets": [ + { + "name": "[variables('name_subnet')]", + "properties": { + "addressPrefix": "[variables('const_subnetPrefix')]", + "networkSecurityGroup": { + "id": "[variables('ref_networkSecurityGroup')]" + } + } + }, + { + // PENDING(edburns): Assume it is acceptable to create a subnet for the App Gateway, even if the user + // has not requested an App Gateway. In support of this assumption we can note: the user may want an App + // Gateway after deployment. + "name": "[variables('name_appGatewaySubnet')]", + "properties": { + "addressPrefix": "[variables('const_appGatewaySubnetPrefix')]", + "networkSecurityGroup": { + "id": "[variables('ref_networkSecurityGroup')]" + } + } + } + ] + } + }, + { + "type": "Microsoft.Network/networkInterfaces", + "apiVersion": "${azure.apiVersion}", + "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_nic')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_nic')))]", + "location": "[parameters('location')]", + "copy": { + "name": "nicLoop", + "count": "[parameters('numberOfInstances')]" + }, + "dependsOn": [ + "[variables('name_virtualNetwork')]", + "publicIPLoop" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "[resourceId('Microsoft.Network/publicIPAddresses',if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_publicIPAddress')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_publicIPAddress'))))]" + }, + "subnet": { + "id": "[variables('ref_subnet')]" + } + } + } + ], + "dnsSettings": { + "internalDnsNameLabel": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]" + } + } + }, + { + "type": "Microsoft.Compute/availabilitySets", + "apiVersion": "${azure.apiVersion}", + "location": "[parameters('location')]", + "name": "[variables('name_availabilitySet')]", + "properties": { + "platformFaultDomainCount": 2, + "platformUpdateDomainCount": 2 + }, + "dependsOn": [ + "[variables('name_virtualNetwork')]" + ], + "sku": { + "name": "Aligned" + } + }, + { + "type": "Microsoft.Compute/virtualMachines", + "apiVersion": "${azure.apiVersion}", + "name": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]", + "location": "[parameters('location')]", + "copy": { + "name": "virtualMachineLoop", + "count": "[parameters('numberOfInstances')]" + }, + "dependsOn": [ + "nicLoop", + "[resourceId('Microsoft.Compute/availabilitySets/', variables('name_availabilitySet'))]" + ], + "identity": "[if(parameters('useSystemAssignedManagedIdentity'), json('{\"type\":\"SystemAssigned\"}'), null())]", + "properties": { + "availabilitySet": { + "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('name_availabilitySet'))]" + }, + "hardwareProfile": { + "vmSize": "[variables('const_vmSize')]" + }, + "osProfile": { + "computerName": "[if(equals(copyIndex(),0),parameters('adminVMName'),concat(variables('const_managedVMPrefix'), copyIndex()))]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPasswordOrKey')]", + "linuxConfiguration": "[if(equals(parameters('authenticationType'), 'password'), json('null'), variables('const_linuxConfiguration'))]" + }, + "storageProfile": { + "imageReference": { + "publisher": "[variables('const_imagePublisher')]", + "offer": "[variables('const_imageOffer')]", + "sku": "[variables('name_linuxImageOfferSKU')]", + "version": "[variables('name_linuxImageVersion')]" + }, + "osDisk": { + "createOption": "FromImage", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [ + { + "lun": 0, + "createOption": "FromImage", + "diskSizeGB": 900, + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + } + ] + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "[resourceId('Microsoft.Network/networkInterfaces',if(equals(copyIndex(),0),concat(parameters('adminVMName'),variables('name_nic')),concat(variables('const_managedVMPrefix'), copyIndex(),variables('name_nic'))))]" + } + ] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true, + "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts/', variables('name_storageAccount')), '${azure.apiVersion2}').primaryEndpoints.blob]" + } + } + }, + "plan": { + "name": "[variables('name_linuxImageOfferSKU')]", + "publisher": "[variables('const_imagePublisher')]", + "product": "[variables('const_imageOffer')]" + } + }, + { + "type": "Microsoft.Compute/virtualMachines/extensions", + "apiVersion": "${azure.apiVersion}", + "name": "[if(equals(copyIndex(),0),concat(parameters('adminVMName'),'/newuserscript'),concat(variables('const_managedVMPrefix'), copyIndex(),'/newuserscript'))]", + "location": "[parameters('location')]", + "copy": { + "name": "virtualMachineExtensionLoop", + "count": "[parameters('numberOfInstances')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.Compute/virtualMachines/',parameters('adminVMName'))]", + "virtualMachineLoop" + ], + "properties": { + "publisher": "Microsoft.Azure.Extensions", + "type": "CustomScript", + "typeHandlerVersion": "2.0", + "autoUpgradeMinorVersion": true, + "settings": { + "fileUris": [ + "[uri(parameters('_artifactsLocationClusterTemplate'), concat('../scripts/', variables('name_scriptFile'), parameters('_artifactsLocationSasToken')))]" + ] + }, + "protectedSettings": { + "commandToExecute": "[concat('sh',' ',variables('name_scriptFile'),' ',parameters('wlsDomainName'),' ',parameters('wlsUserName'),' ',parameters('wlsPassword'),' ',if(equals(copyIndex(),0),'admin',concat(parameters('managedServerPrefix'), copyIndex())),' ',parameters('adminVMName'),' ',variables('const_wlsHome'),' ',variables('name_storageAccount'),' ',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('name_storageAccount')), '${azure.apiVersion2}').keys[0].value,' ',variables('const_mountPointPath'),' ',string(parameters('enableHTTPAdminListenPort')),' ',string(parameters('enableCustomSSL')),' ',base64(parameters('keyVaultCustomIdentityKeyStoreData')),' ',base64(parameters('keyVaultCustomIdentityKeyStorePassPhrase')),' ',base64(parameters('keyVaultCustomIdentityKeyStoreType')),' ',base64(parameters('keyVaultCustomTrustKeyStoreData')),' ',base64(parameters('keyVaultCustomTrustKeyStorePassPhrase')),' ',base64(parameters('keyVaultCustomTrustKeyStoreType')),' ',base64(parameters('keyVaultPrivateKeyAlias')),' ',base64(parameters('keyVaultPrivateKeyPassPhrase')),' ')]" + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${cluster.cluster.end}", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${from.owls-122130-jdk8-ol74}", + + "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-122130-jdk8-ol74'), bool('true'), bool('false'))]", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${from.owls-122130-jdk8-ol73}", + "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'from.owls-122130-jdk8-ol73'), bool('true'), bool('false'))]", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${from.owls-122140-jdk8-ol76}", + + "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'from.owls-122140-jdk8-ol76'), bool('true'), bool('false'))]", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${from.owls-141100-jdk8-ol76}", + "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-141100-jdk8-ol76'), bool('true'), bool('false'))]", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + }, + { + "type": "Microsoft.Resources/deployments", + "apiVersion": "${azure.apiVersion}", + "name": "${from.owls-141100-jdk11-ol76}", + "condition": "[if(contains(variables('name_linuxImageOfferSKU'), 'owls-141100-jdk11-ol76'), bool('true'), bool('false'))]", + "dependsOn": [ + "virtualMachineExtensionLoop" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + ] + } + } + } + ], + "outputs": { + "_adminPublicIPId": { + "type": "string", + "value": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('adminVMName'),variables('name_publicIPAddress')))]" + }, + "artifactsLocationPassedIn": { + "type": "string", + "value": "[parameters('_artifactsLocation')]" + }, + "adminHostName": { + "type": "string", + "value": "[reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn]" + }, + "adminConsole": { + "type": "string", + "value": "[concat('http://',reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn,':7001/console')]" + }, + "adminSecuredConsole": { + "type": "string", + "value": "[concat('https://',reference(variables('name_outputAdminHost'), '${azure.apiVersion}').dnsSettings.fqdn,':7002/console')]" + }, + "wlsDomainLocation": { + "type": "string", + "value": "[concat('/u01/domains/', parameters('wlsDomainName'))]" + }, + "storageAccountName": { + "type": "string", + "value": "[variables('name_storageAccount')]" + } + } +} diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/coherenceTemplate.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/coherenceTemplate.json index b975f7925..bb2e042a6 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/coherenceTemplate.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/arm/nestedtemplates/coherenceTemplate.json @@ -198,15 +198,15 @@ } }, "keyVaultCustomIdentityKeyStoreData": { - "type": "string", - "defaultValue":"null", + "type": "securestring", + "defaultValue":"", "metadata": { "description": "Weblogic Custom Identity Keystore Data" } }, "keyVaultCustomIdentityKeyStorePassPhrase": { - "type": "string", - "defaultValue":"null", + "type": "securestring", + "defaultValue":"", "metadata": { "description": "Weblogic Custom Identity Keystore Passphrase" } @@ -219,15 +219,15 @@ "defaultValue": "JKS" }, "keyVaultCustomTrustKeyStoreData": { - "type": "string", - "defaultValue":"null", + "type": "securestring", + "defaultValue":"", "metadata": { "description": "Weblogic Custom Trust Store Data" } }, "keyVaultCustomTrustKeyStorePassPhrase": { - "type": "string", - "defaultValue":"null", + "type": "securestring", + "defaultValue":"", "metadata": { "description": "Weblogic Custom Trust Store Passphrase" } @@ -247,8 +247,8 @@ } }, "keyVaultPrivateKeyPassPhrase": { - "type": "string", - "defaultValue":"null", + "type": "securestring", + "defaultValue":"", "metadata": { "description": "Weblogic Server Private Key Pass Phrase" } diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/aadIntegration.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/aadIntegration.sh index 54c884fa1..c6709d548 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/aadIntegration.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/aadIntegration.sh @@ -249,7 +249,7 @@ function parseLDAPCertificate() done openssl base64 -d -in ${SCRIPT_PWD}/security/AzureADLDAPCerBase64String.txt -out ${SCRIPT_PWD}/security/AzureADTrust.cer - export addsCertificate=${SCRIPT_PWD}/security/AzureADTrust.cer + addsCertificate=${SCRIPT_PWD}/security/AzureADTrust.cer } function importAADCertificate() @@ -376,7 +376,7 @@ function wait_for_admin() { #check admin server status count=1 - export CHECK_URL="http://$wlsAdminURL/weblogic/ready" + CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=`curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}` echo "Check admin server status" while [[ "$status" != "200" ]] @@ -426,20 +426,20 @@ fi function createTempFolder() { - export SCRIPT_PATH="/u01/tmp" + SCRIPT_PATH="/u01/tmp" sudo rm -f -r ${SCRIPT_PATH} sudo mkdir ${SCRIPT_PATH} sudo rm -rf $SCRIPT_PATH/* } -export LDAP_USER_NAME='sAMAccountName' -export LDAP_USER_FROM_NAME_FILTER='(&(sAMAccountName=%u)(objectclass=user))' -export JAVA_OPTIONS_TLS_V12="-Djdk.tls.client.protocols=TLSv1.2" -export STRING_ENABLE_TLSV12="Append -Djdk.tls.client.protocols to JAVA_OPTIONS in jdk8" -export SCRIPT_PWD=`pwd` -export USER_ORACLE="oracle" -export GROUP_ORACLE="oracle" -export DOMAIN_PATH="/u01/domains" +LDAP_USER_NAME='sAMAccountName' +LDAP_USER_FROM_NAME_FILTER='(&(sAMAccountName=%u)(objectclass=user))' +JAVA_OPTIONS_TLS_V12="-Djdk.tls.client.protocols=TLSv1.2" +STRING_ENABLE_TLSV12="Append -Djdk.tls.client.protocols to JAVA_OPTIONS in jdk8" +SCRIPT_PWD=`pwd` +USER_ORACLE="oracle" +GROUP_ORACLE="oracle" +DOMAIN_PATH="/u01/domains" if [ $# -ne 21 ] then @@ -447,29 +447,29 @@ then exit 1 fi -export wlsUserName=$1 -export wlsPassword=$2 -export wlsDomainName=$3 -export adProviderName=$4 -export adServerHost=$5 -export adServerPort=$6 -export adPrincipal=$7 -export adPassword=$8 -export adGroupBaseDN=$9 -export adUserBaseDN=${10} -export oracleHome=${11} -export wlsAdminHost=${12} -export wlsAdminPort=${13} -export wlsADSSLCer="${14}" -export wlsLDAPPublicIP="${15}" -export wlsAdminServerName=${16} -export wlsDomainPath=${17} -export isCustomSSLEnabled=${18} -export customTrustKeyStorePassPhrase="${19}" -export customTrustKeyStoreType="${20}" -export vmIndex=${21} - -export isCustomSSLEnabled="${isCustomSSLEnabled,,}" +wlsUserName=$1 +wlsPassword=$2 +wlsDomainName=$3 +adProviderName=$4 +adServerHost=$5 +adServerPort=$6 +adPrincipal=$7 +adPassword=$8 +adGroupBaseDN=$9 +adUserBaseDN=${10} +oracleHome=${11} +wlsAdminHost=${12} +wlsAdminPort=${13} +wlsADSSLCer="${14}" +wlsLDAPPublicIP="${15}" +wlsAdminServerName=${16} +wlsDomainPath=${17} +isCustomSSLEnabled=${18} +customTrustKeyStorePassPhrase="${19}" +customTrustKeyStoreType="${20}" +vmIndex=${21} + +isCustomSSLEnabled="${isCustomSSLEnabled,,}" if [ "${isCustomSSLEnabled,,}" == "true" ]; then @@ -477,7 +477,7 @@ then customTrustKeyStoreType=$(echo "$customTrustKeyStoreType" | base64 --decode) fi -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort +wlsAdminURL=$wlsAdminHost:$wlsAdminPort if [ $vmIndex -eq 0 ]; then diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-oracle.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-oracle.sh index 8453894c6..eba205182 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-oracle.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-oracle.sh @@ -3,18 +3,18 @@ # Description # This script is to configure datasource at WebLogic cluster domain. -export oracleHome=$1 -export wlsAdminHost=$2 -export wlsAdminPort=$3 -export wlsUserName=$4 -export wlsPassword=$5 -export jdbcDataSourceName=$6 -export dsConnectionURL=$7 -export dsUser=$8 -export dsPassword=$9 -export wlsClusterName=${10-cluster1} -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort -export hostName=`hostname` +oracleHome=$1 +wlsAdminHost=$2 +wlsAdminPort=$3 +wlsUserName=$4 +wlsPassword=$5 +jdbcDataSourceName=$6 +dsConnectionURL=$7 +dsUser=$8 +dsPassword=$9 +wlsClusterName=${10-cluster1} +wlsAdminURL=$wlsAdminHost:$wlsAdminPort +hostName=`hostname` #Function to output message to StdErr function echo_stderr () @@ -140,7 +140,7 @@ EOF function createTempFolder() { - export scriptPath="/u01/tmp" + scriptPath="/u01/tmp" sudo rm -f -r ${scriptPath} sudo mkdir ${scriptPath} sudo rm -rf $scriptPath/* diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-postgresql.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-postgresql.sh index 4676cfc51..5c877a34e 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-postgresql.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-postgresql.sh @@ -3,18 +3,18 @@ # Description # This script is to configure datasource at WebLogic cluster domain. -export oracleHome=$1 -export wlsAdminHost=$2 -export wlsAdminPort=$3 -export wlsUserName=$4 -export wlsPassword=$5 -export jdbcDataSourceName=$6 -export dsConnectionURL=$7 -export dsUser=$8 -export dsPassword=$9 -export wlsClusterName=${10-cluster1} -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort -export hostName=`hostname` +oracleHome=$1 +wlsAdminHost=$2 +wlsAdminPort=$3 +wlsUserName=$4 +wlsPassword=$5 +jdbcDataSourceName=$6 +dsConnectionURL=$7 +dsUser=$8 +dsPassword=$9 +wlsClusterName=${10-cluster1} +wlsAdminURL=$wlsAdminHost:$wlsAdminPort +hostName=`hostname` #Function to output message to StdErr function echo_stderr () @@ -140,7 +140,7 @@ EOF function createTempFolder() { - export scriptPath="/u01/tmp" + scriptPath="/u01/tmp" sudo rm -f -r ${scriptPath} sudo mkdir ${scriptPath} sudo rm -rf $scriptPath/* @@ -153,9 +153,9 @@ ELEMENTS=${#args[@]} # echo each element in array # for loop -for (( i=0;i <$ELEMENTS;i++)); do - echo "ARG[${args[${i}]}]" -done +#for (( i=0;i <$ELEMENTS;i++)); do +# echo "ARG[${args[${i}]}]" +#done if [ $# -lt 9 ] diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-sqlserver.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-sqlserver.sh index 66ae418d5..cab000698 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-sqlserver.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/datasourceConfig-sqlserver.sh @@ -3,18 +3,18 @@ # Description # This script is to configure datasource at WebLogic cluster domain. -export oracleHome=$1 -export wlsAdminHost=$2 -export wlsAdminPort=$3 -export wlsUserName=$4 -export wlsPassword=$5 -export jdbcDataSourceName=$6 -export dsConnectionURL=$7 -export dsUser=$8 -export dsPassword=$9 -export wlsClusterName=${10-cluster1} -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort -export hostName=`hostname` +oracleHome=$1 +wlsAdminHost=$2 +wlsAdminPort=$3 +wlsUserName=$4 +wlsPassword=$5 +jdbcDataSourceName=$6 +dsConnectionURL=$7 +dsUser=$8 +dsPassword=$9 +wlsClusterName=${10-cluster1} +wlsAdminURL=$wlsAdminHost:$wlsAdminPort +hostName=`hostname` #Function to output message to StdErr function echo_stderr () @@ -140,7 +140,7 @@ EOF function createTempFolder() { - export scriptPath="/u01/tmp" + scriptPath="/u01/tmp" sudo rm -f -r ${scriptPath} sudo mkdir ${scriptPath} sudo rm -rf $scriptPath/* diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/elkIntegration.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/elkIntegration.sh index 594665d96..ed0937145 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/elkIntegration.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/elkIntegration.sh @@ -626,7 +626,7 @@ EOF function wait_for_admin() { #check admin server status count=1 - export CHECK_URL="http://$wlsAdminURL/weblogic/ready" + CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=$(curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}) echo "Check admin server status" while [[ "$status" != "200" ]]; do @@ -650,7 +650,7 @@ function wait_for_admin() { function shutdown_admin() { #check admin server status count=1 - export CHECK_URL="http://$wlsAdminURL/weblogic/ready" + CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=$(curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}) echo "Check admin server status" while [[ "$status" == "200" ]]; do @@ -679,7 +679,7 @@ function cleanup() { function create_temp_folder() { - export SCRIPT_PATH="/u01/tmp" + SCRIPT_PATH="/u01/tmp" sudo rm -f -r ${SCRIPT_PATH} sudo mkdir ${SCRIPT_PATH} sudo rm -rf $SCRIPT_PATH/* @@ -722,7 +722,7 @@ function validate_elastic_server() # main script starts from here -export SCRIPT_PWD=$(pwd) +SCRIPT_PWD=$(pwd) # store arguments in a special array args=("$@") @@ -731,28 +731,28 @@ ELEMENTS=${#args[@]} # echo each element in array # for loop -for ((i = 0; i < $ELEMENTS; i++)); do - echo "ARG[${args[${i}]}]" -done - -export oracleHome=$1 -export wlsAdminURL=$2 -export wlsUserName=$3 -export wlsPassword=$4 -export wlsAdminServerName=$5 -export elasticURI=$6 -export elasticUserName=$7 -export elasticPassword=$8 -export wlsDomainName=$9 -export wlsDomainPath=${10} -export logsToIntegrate=${11} -export index=${12} -export logIndex=${13} -export managedServerPrefix=${14} - -export hostName=$(hostname) -export userOracle="oracle" -export groupOracle="oracle" +#for ((i = 0; i < $ELEMENTS; i++)); do +# echo "ARG[${args[${i}]}]" +#done + +oracleHome=$1 +wlsAdminURL=$2 +wlsUserName=$3 +wlsPassword=$4 +wlsAdminServerName=$5 +elasticURI=$6 +elasticUserName=$7 +elasticPassword=$8 +wlsDomainName=$9 +wlsDomainPath=${10} +logsToIntegrate=${11} +index=${12} +logIndex=${13} +managedServerPrefix=${14} + +hostName=$(hostname) +userOracle="oracle" +groupOracle="oracle" if [ $# -ne 14 ]; then usage diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupApplicationGateway.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupApplicationGateway.sh index 8fc4455df..aeaa4c866 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupApplicationGateway.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupApplicationGateway.sh @@ -150,11 +150,11 @@ wlsAdminHost=$4 wlsAdminPort=$5 AppGWHostName=$6 oracleHome=$7 -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort +wlsAdminURL=$wlsAdminHost:$wlsAdminPort -export channelPort=8501 -export AppGWHttpPort=80 -export AppGWHttpsPort=443 +channelPort=8501 +AppGWHttpPort=80 +AppGWHttpsPort=443 validateInput diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupClusterDomain.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupClusterDomain.sh index 34984144a..60e98eaba 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupClusterDomain.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupClusterDomain.sh @@ -112,8 +112,6 @@ function cleanup() rm -rf $DOMAIN_PATH/admin-domain.yaml rm -rf $DOMAIN_PATH/managed-domain.yaml - rm -rf $DOMAIN_PATH/weblogic-deploy.zip - rm -rf $DOMAIN_PATH/weblogic-deploy rm -rf $DOMAIN_PATH/deploy-app.yaml rm -rf $DOMAIN_PATH/shoppingcart.zip rm -rf $DOMAIN_PATH/*.py @@ -328,18 +326,18 @@ function create_adminSetup() { echo "Creating Admin Setup" echo "Creating domain path $DOMAIN_PATH" - echo "Downloading weblogic-deploy-tool" sudo mkdir -p $DOMAIN_PATH - sudo rm -rf $DOMAIN_PATH/* cd $DOMAIN_PATH - wget -q $WEBLOGIC_DEPLOY_TOOL - if [[ $? != 0 ]]; then - echo "Error : Downloading weblogic-deploy-tool failed" - exit 1 + + # WebLogic base images are already having weblogic-deploy, hence no need to download + if [ ! -d "$DOMAIN_PATH/weblogic-deploy" ]; + then + echo "weblogic-deploy tool not found in path $DOMAIN_PATH" + exit 1 fi - sudo unzip -o weblogic-deploy.zip -d $DOMAIN_PATH + storeCustomSSLCerts create_admin_model sudo chown -R $username:$groupname $DOMAIN_PATH @@ -369,7 +367,7 @@ function wait_for_admin() { #wait for admin to start count=1 -export CHECK_URL="http://$wlsAdminURL/weblogic/ready" +CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=`curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}` echo "Waiting for admin server to start" while [[ "$status" != "200" ]] @@ -497,22 +495,21 @@ fi # Create managed server setup function create_managedSetup(){ echo "Creating Managed Server Setup" - echo "Downloading weblogic-deploy-tool" DOMAIN_PATH="/u01/domains" sudo mkdir -p $DOMAIN_PATH - sudo rm -rf $DOMAIN_PATH/* cd $DOMAIN_PATH - wget -q $WEBLOGIC_DEPLOY_TOOL - if [[ $? != 0 ]]; then - echo "Error : Downloading weblogic-deploy-tool failed" - exit 1 + + # WebLogic base images are already having weblogic-deploy, hence no need to download + if [ ! -d "$DOMAIN_PATH/weblogic-deploy" ]; + then + echo "weblogic-deploy tool not found in path $DOMAIN_PATH" + exit 1 fi storeCustomSSLCerts - sudo unzip -o weblogic-deploy.zip -d $DOMAIN_PATH echo "Creating managed server model files" create_managed_model create_machine_model @@ -668,8 +665,8 @@ function storeCustomSSLCerts() mkdir -p $KEYSTORE_PATH echo "Custom SSL is enabled. Storing CertInfo as files..." - export customIdentityKeyStoreFileName="$KEYSTORE_PATH/identity.keystore" - export customTrustKeyStoreFileName="$KEYSTORE_PATH/trust.keystore" + customIdentityKeyStoreFileName="$KEYSTORE_PATH/identity.keystore" + customTrustKeyStoreFileName="$KEYSTORE_PATH/trust.keystore" customIdentityKeyStoreData=$(echo "$customIdentityKeyStoreData" | base64 --decode) customIdentityKeyStorePassPhrase=$(echo "$customIdentityKeyStorePassPhrase" | base64 --decode) @@ -729,7 +726,7 @@ function createStopWebLogicScript() cat <${stopWebLogicScript} #!/bin/sh # This is custom script for stopping weblogic server using ADMIN_URL supplied -export ADMIN_URL="t3://${wlsAdminURL}" +ADMIN_URL="t3://${wlsAdminURL}" ${DOMAIN_PATH}/${wlsDomainName}/bin/stopWebLogic.sh EOF @@ -741,7 +738,7 @@ sudo chmod -R 750 ${stopWebLogicScript} #main script starts here CURR_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -export BASE_DIR="$(readlink -f ${CURR_DIR})" +BASE_DIR="$(readlink -f ${CURR_DIR})" # store arguments in a special array args=("$@") @@ -750,9 +747,9 @@ ELEMENTS=${#args[@]} # echo each element in array # for loop -for (( i=0;i<$ELEMENTS;i++)); do - echo "ARG[${args[${i}]}]" -done +#for (( i=0;i<$ELEMENTS;i++)); do +# echo "ARG[${args[${i}]}]" +#done if [ $# -le 8 ] then @@ -760,73 +757,72 @@ then exit 1 fi -export wlsDomainName=${1} -export wlsUserName=${2} -export wlsPassword=${3} -export wlsServerName=${4} -export wlsAdminHost=${5} -export oracleHome=${6} -export storageAccountName=${7} -export storageAccountKey=${8} -export mountpointPath=${9} - -export isHTTPAdminListenPortEnabled="${10}" +wlsDomainName=${1} +wlsUserName=${2} +wlsPassword=${3} +wlsServerName=${4} +wlsAdminHost=${5} +oracleHome=${6} +storageAccountName=${7} +storageAccountKey=${8} +mountpointPath=${9} + +isHTTPAdminListenPortEnabled="${10}" isHTTPAdminListenPortEnabled="${isHTTPAdminListenPortEnabled,,}" -export isCustomSSLEnabled="${11}" +isCustomSSLEnabled="${11}" isCustomSSLEnabled="${isCustomSSLEnabled,,}" #case insensitive check if [ "${isCustomSSLEnabled}" == "true" ]; then echo "custom ssl enabled. Reading keystore information" - export customIdentityKeyStoreData="${12}" - export customIdentityKeyStorePassPhrase="${13}" - export customIdentityKeyStoreType="${14}" - export customTrustKeyStoreData="${15}" - export customTrustKeyStorePassPhrase="${16}" - export customTrustKeyStoreType="${17}" - export serverPrivateKeyAlias="${18}" - export serverPrivateKeyPassPhrase="${19}" + customIdentityKeyStoreData="${12}" + customIdentityKeyStorePassPhrase="${13}" + customIdentityKeyStoreType="${14}" + customTrustKeyStoreData="${15}" + customTrustKeyStorePassPhrase="${16}" + customTrustKeyStoreType="${17}" + serverPrivateKeyAlias="${18}" + serverPrivateKeyPassPhrase="${19}" else isCustomSSLEnabled="false" fi validateInput -export coherenceListenPort=7574 -export coherenceLocalport=42000 -export coherenceLocalportAdjust=42200 -export wlsAdminPort=7001 -export wlsSSLAdminPort=7002 -export wlsAdminT3ChannelPort=7005 -export wlsManagedPort=8001 +coherenceListenPort=7574 +coherenceLocalport=42000 +coherenceLocalportAdjust=42200 +wlsAdminPort=7001 +wlsSSLAdminPort=7002 +wlsAdminT3ChannelPort=7005 +wlsManagedPort=8001 -export DOMAIN_PATH="/u01/domains" -export startWebLogicScript="${DOMAIN_PATH}/${wlsDomainName}/startWebLogic.sh" -export stopWebLogicScript="${DOMAIN_PATH}/${wlsDomainName}/bin/customStopWebLogic.sh" +DOMAIN_PATH="/u01/domains" +startWebLogicScript="${DOMAIN_PATH}/${wlsDomainName}/startWebLogic.sh" +stopWebLogicScript="${DOMAIN_PATH}/${wlsDomainName}/bin/customStopWebLogic.sh" -export wlsAdminURL="$wlsAdminHost:$wlsAdminT3ChannelPort" -export SERVER_START_URL="http://$wlsAdminURL" +wlsAdminURL="$wlsAdminHost:$wlsAdminT3ChannelPort" +SERVER_START_URL="http://$wlsAdminURL" -export KEYSTORE_PATH="${DOMAIN_PATH}/${wlsDomainName}/keystores" +KEYSTORE_PATH="${DOMAIN_PATH}/${wlsDomainName}/keystores" if [ "${isCustomSSLEnabled}" == "true" ]; then SERVER_START_URL="https://$wlsAdminHost:$wlsSSLAdminPort" fi -export CHECK_URL="http://$wlsAdminURL/weblogic/ready" -export adminWlstURL="t3://$wlsAdminURL" +CHECK_URL="http://$wlsAdminURL/weblogic/ready" +adminWlstURL="t3://$wlsAdminURL" -export wlsClusterName="cluster1" -export nmHost=`hostname` -export nmPort=5556 -export WEBLOGIC_DEPLOY_TOOL=https://github.com/oracle/weblogic-deploy-tooling/releases/download/weblogic-deploy-tooling-1.8.1/weblogic-deploy.zip +wlsClusterName="cluster1" +nmHost=`hostname` +nmPort=5556 -export SCRIPT_PWD=`pwd` -export username="oracle" -export groupname="oracle" +SCRIPT_PWD=`pwd` +username="oracle" +groupname="oracle" cleanup diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupCoherence.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupCoherence.sh index 80cf4329d..19fb8b4ef 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupCoherence.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/setupCoherence.sh @@ -314,7 +314,7 @@ EOF function wait_for_admin() { #check admin server status count=1 - export CHECK_URL="http://$wlsAdminURL/weblogic/ready" + CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=$(curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}) echo "Check admin server status" while [[ "$status" != "200" ]]; do @@ -612,8 +612,8 @@ function storeCustomSSLCerts() mkdir -p $KEYSTORE_PATH echo "Custom SSL is enabled. Storing CertInfo as files..." - export customIdentityKeyStoreFileName="$KEYSTORE_PATH/identity.keystore" - export customTrustKeyStoreFileName="$KEYSTORE_PATH/trust.keystore" + customIdentityKeyStoreFileName="$KEYSTORE_PATH/identity.keystore" + customTrustKeyStoreFileName="$KEYSTORE_PATH/trust.keystore" customIdentityKeyStoreData=$(echo "$customIdentityKeyStoreData" | base64 --decode) customIdentityKeyStorePassPhrase=$(echo "$customIdentityKeyStorePassPhrase" | base64 --decode) @@ -639,7 +639,7 @@ function storeCustomSSLCerts() # main script starts from here -export SCRIPT_PWD=$(pwd) +SCRIPT_PWD=$(pwd) # store arguments in a special array args=("$@") @@ -648,70 +648,70 @@ ELEMENTS=${#args[@]} # echo each element in array # for loop -for ((i = 0; i < $ELEMENTS; i++)); do - echo "ARG[${args[${i}]}]" -done +#for ((i = 0; i < $ELEMENTS; i++)); do +# echo "ARG[${args[${i}]}]" +#done if [ $# -lt 19 ]; then usage exit 1 fi -export wlsDomainName=$1 -export wlsUserName=$2 -export wlsPassword=$3 -export adminVMName=$4 -export oracleHome=$5 -export wlsDomainPath=$6 -export storageAccountName=$7 -export storageAccountKey=$8 -export mountpointPath=$9 -export enableWebLocalStorage=${10} -export enableELK=${11} -export elasticURI=${12} -export elasticUserName=${13} -export elasticPassword=${14} -export logsToIntegrate=${15} -export logIndex=${16} -export managedServerPrefix=${17} -export serverIndex=${18} - -export isCustomSSLEnabled="${19}" +wlsDomainName=$1 +wlsUserName=$2 +wlsPassword=$3 +adminVMName=$4 +oracleHome=$5 +wlsDomainPath=$6 +storageAccountName=$7 +storageAccountKey=$8 +mountpointPath=$9 +enableWebLocalStorage=${10} +enableELK=${11} +elasticURI=${12} +elasticUserName=${13} +elasticPassword=${14} +logsToIntegrate=${15} +logIndex=${16} +managedServerPrefix=${17} +serverIndex=${18} + +isCustomSSLEnabled="${19}" isCustomSSLEnabled="${isCustomSSLEnabled,,}" #case insensitive check if [ "${isCustomSSLEnabled}" == "true" ]; then echo "custom ssl enabled. Reading keystore information" - export customIdentityKeyStoreData="${20}" - export customIdentityKeyStorePassPhrase="${21}" - export customIdentityKeyStoreType="${22}" - export customTrustKeyStoreData="${23}" - export customTrustKeyStorePassPhrase="${24}" - export customTrustKeyStoreType="${25}" - export serverPrivateKeyAlias="${26}" - export serverPrivateKeyPassPhrase="${27}" + customIdentityKeyStoreData="${20}" + customIdentityKeyStorePassPhrase="${21}" + customIdentityKeyStoreType="${22}" + customTrustKeyStoreData="${23}" + customTrustKeyStorePassPhrase="${24}" + customTrustKeyStoreType="${25}" + serverPrivateKeyAlias="${26}" + serverPrivateKeyPassPhrase="${27}" else isCustomSSLEnabled="false" fi -export wlsAdminT3ChannelPort=7005 -export wlsAdminURL="${adminVMName}:${wlsAdminT3ChannelPort}" -export coherenceClusterName="myCoherence" -export coherenceListenPort=7574 -export coherenceLocalport=42000 -export coherenceLocalportAdjust=42200 -export clientClusterName="cluster1" -export groupname="oracle" -export nmHost=$(hostname) -export nmPort=5556 -export storageClusterName="storage1" -export storageListenPort=7501 -export weblogicDeployTool=https://github.com/oracle/weblogic-deploy-tooling/releases/download/weblogic-deploy-tooling-1.8.1/weblogic-deploy.zip -export username="oracle" -export wlsAdminServerName="admin" -export wlsCoherenceArgs="-Dcoherence.localport=$coherenceLocalport -Dcoherence.localport.adjust=$coherenceLocalportAdjust" -export KEYSTORE_PATH="${wlsDomainPath}/${wlsDomainName}/keystores" +wlsAdminT3ChannelPort=7005 +wlsAdminURL="${adminVMName}:${wlsAdminT3ChannelPort}" +coherenceClusterName="myCoherence" +coherenceListenPort=7574 +coherenceLocalport=42000 +coherenceLocalportAdjust=42200 +clientClusterName="cluster1" +groupname="oracle" +nmHost=$(hostname) +nmPort=5556 +storageClusterName="storage1" +storageListenPort=7501 +weblogicDeployTool=https://github.com/oracle/weblogic-deploy-tooling/releases/download/weblogic-deploy-tooling-1.8.1/weblogic-deploy.zip +username="oracle" +wlsAdminServerName="admin" +wlsCoherenceArgs="-Dcoherence.localport=$coherenceLocalport -Dcoherence.localport.adjust=$coherenceLocalportAdjust" +KEYSTORE_PATH="${wlsDomainPath}/${wlsDomainName}/keystores" if [ ${serverIndex} -eq 0 ]; then wlsServerName="admin" diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/updateDNSZones.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/updateDNSZones.sh index 60c07dbdf..80b387aec 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/updateDNSZones.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/arm-oraclelinux-wls-cluster/src/main/scripts/updateDNSZones.sh @@ -5,17 +5,17 @@ # Description # This script is to configure DNS zones during Azure deployment. -export resourceGroup=$1 -export zoneName=$2 -export recordSetNames=$3 -export targetResources=$4 -export lenRecordset=$5 -export lenTargets=$6 -export ttl=${7} -export cnameRecordSetNames=${8} -export cnameAlias=${9} -export lenCnameRecordSetNames=${10} -export lenCnameAlias=${11} +resourceGroup=$1 +zoneName=$2 +recordSetNames=$3 +targetResources=$4 +lenRecordset=$5 +lenTargets=$6 +ttl=${7} +cnameRecordSetNames=${8} +cnameAlias=${9} +lenCnameRecordSetNames=${10} +lenCnameAlias=${11} if [[ ${lenRecordset} != ${lenTargets} ]]; then echo "Error: number of A record set names is not equal to that of target resources." diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/cli-scripts/custom-dns-alias-cli.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/cli-scripts/custom-dns-alias-cli.sh index bfbd21d1a..368744be0 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/cli-scripts/custom-dns-alias-cli.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/cli-scripts/custom-dns-alias-cli.sh @@ -113,7 +113,7 @@ function queryAdminIPId() { exit 1 fi - export adminIPId=$(az graph query -q "Resources + adminIPId=$(az graph query -q "Resources | where type =~ 'microsoft.network/networkinterfaces' | where id=~ '${nicId}' | extend ipConfigsCount=array_length(properties.ipConfigurations) @@ -142,13 +142,13 @@ function queryAppgatewayAlias() { exit 1 fi - export gatewayAlias=$(az network public-ip show \ + gatewayAlias=$(az network public-ip show \ --id ${gatewayIPId} \ --query dnsSettings.fqdn -o tsv) } function generateParameterFile() { - export parametersPath=parameters.json + parametersPath=parameters.json cat <${scriptDir}/${parametersPath} { "\$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", @@ -285,9 +285,9 @@ Custom DNS alias: # main script start from here # default value -export enableGateWay=false -export hasDNSZone=false -export identity=/subscriptions/subscriptionId/resourceGroups/TestResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestUserIdentity1 +enableGateWay=false +hasDNSZone=false +identity=/subscriptions/subscriptionId/resourceGroups/TestResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestUserIdentity1 # Transform long options to short ones for arg in "$@"; do diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode-cli.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode-cli.sh index 5f12c84c2..298f4f626 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode-cli.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode-cli.sh @@ -142,7 +142,7 @@ EOF -export deploymentName="deletenode-$(date +"%s")" +deploymentName="deletenode-$(date +"%s")" initialize removeManagedNodes diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode.sh index d62b4ea94..b3241597a 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/deletenode/src/main/scripts/deletenode.sh @@ -141,7 +141,7 @@ function wait_for_admin() { #check admin server status count=1 - export CHECK_URL="http://$wlsAdminURL/weblogic/ready" + CHECK_URL="http://$wlsAdminURL/weblogic/ready" status=`curl --insecure -ILs $CHECK_URL | tac | grep -m1 HTTP/1.1 | awk {'print $2'}` echo "Check admin server status" while [[ "$status" != "200" ]] @@ -186,7 +186,7 @@ function delete_managed_server() function createTempFolder() { - export scriptPath="/u01/tmp" + scriptPath="/u01/tmp" sudo rm -f -r ${scriptPath} sudo mkdir ${scriptPath} sudo rm -rf $scriptPath/* @@ -200,16 +200,16 @@ then exit 1 fi -export wlsUserName=$1 -export wlsPassword=$2 -export managedServerNames=$3 -export managedVMNames=$4 -export wlsForceShutDown=$5 -export wlsAdminHost=$6 -export wlsAdminPort=$7 -export oracleHome=$8 -export wlsAdminURL=$wlsAdminHost:$wlsAdminPort -export hostName=`hostname` +wlsUserName=$1 +wlsPassword=$2 +managedServerNames=$3 +managedVMNames=$4 +wlsForceShutDown=$5 +wlsAdminHost=$6 +wlsAdminPort=$7 +oracleHome=$8 +wlsAdminURL=$wlsAdminHost:$wlsAdminPort +hostName=`hostname` createTempFolder diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/data/parameters-test.json b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/data/parameters-test.json index 5b8bef3a8..29c7c0238 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/data/parameters-test.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/data/parameters-test.json @@ -30,7 +30,7 @@ "value": "#adminvmname#" }, "vmSizeSelect": { - "value": "Standard_A3" + "value": "Standard_D2as_v4" }, "location": { "value": "#location#" diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad-ag.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad-ag.sh index 9949b9c59..79a284b73 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad-ag.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad-ag.sh @@ -64,6 +64,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsLDAPGroupBaseDN": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad.sh index 7ee2610fa..aed7f9d60 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-aad.sh @@ -48,6 +48,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsLDAPGroupBaseDN": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-ag.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-ag.sh index a78b8011a..948249f6b 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-ag.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-ag.sh @@ -55,6 +55,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-coherence.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-coherence.sh index 8ddd3e6b6..62e56798f 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-coherence.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-coherence.sh @@ -36,6 +36,9 @@ cat <${parametersPath} "storageAccountName": { "value": "GEN-UNIQUE" }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad-ag.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad-ag.sh index 3798a6731..ccffeef9c 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad-ag.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad-ag.sh @@ -78,6 +78,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsLDAPGroupBaseDN": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad.sh index c5b5ff7bc..6b3186348 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-aad.sh @@ -62,6 +62,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsLDAPGroupBaseDN": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-ag.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-ag.sh index 0e4cadba1..8406bf98e 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-ag.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db-ag.sh @@ -69,6 +69,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db.sh index 289befe2d..068b1005d 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-db.sh @@ -53,6 +53,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode-coherence.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode-coherence.sh index 292044a47..0d60538e5 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode-coherence.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode-coherence.sh @@ -49,6 +49,9 @@ cat < ${parametersPath} "wlsDomainName": { "value": "${wlsDomainName}" }, + "vmSizeSelectForCoherence": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "${wlsPassword}" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode.sh index 58775f904..70a2e80c3 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-addnode.sh @@ -53,6 +53,9 @@ cat < ${parametersPath} "storageAccountName": { "value": "${storageAccountName}" }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsDomainName": { "value": "${wlsDomainName}" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-coherence.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-coherence.sh index 16a6a0163..b7d7df950 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-coherence.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-deploy-coherence.sh @@ -42,6 +42,9 @@ cat < ${parametersPath} "storageAccountName": { "value": "${storageAccountName}" }, + "vmSizeSelectForCoherence": { + "value": "Standard_D2as_v4" + }, "wlsDomainName": { "value": "${wlsDomainName}" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-elk.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-elk.sh index 252db8574..2a18a6d35 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-elk.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters-elk.sh @@ -47,6 +47,9 @@ cat <${parametersPath} "enableELK": { "value": true }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters.sh index 00f98b487..c84bd1ff7 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/gen-parameters.sh @@ -38,6 +38,9 @@ cat < ${parametersPath} "numberOfInstances": { "value": 4 }, + "vmSizeSelect": { + "value": "Standard_D2as_v4" + }, "wlsPassword": { "value": "GEN-UNIQUE" }, diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-servers-lifecycle.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-servers-lifecycle.sh index 2cecb916b..ddd61c149 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-servers-lifecycle.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-servers-lifecycle.sh @@ -4,7 +4,7 @@ # This script is to test WebLogic cluster domain managed servers lifecycle. -export managedServers="#managedServers#" +managedServers="#managedServers#" # Shutdown the server and verify whether it is in SHUTDOWN state # Restart the managed server for managedServer in $managedServers diff --git a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-services.sh b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-services.sh index 61ce6dce7..aba50c2af 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-services.sh +++ b/weblogic-azure-vm/arm-oraclelinux-wls-cluster/test/scripts/verify-services.sh @@ -33,7 +33,7 @@ function verifyServiceActive() # For admin server : rngd wls_admin wls_nodemanager # For managed server : rngd wls_nodemanager -export servicesList=$* +servicesList=$* for service in $servicesList do From d5ed27c7d94445c0111382ffdec04eeb060a76d5 Mon Sep 17 00:00:00 2001 From: gnsuryan Date: Mon, 5 Jul 2021 15:36:35 +0530 Subject: [PATCH 2/3] security changes for wls-azure --- weblogic-azure-vm/README.md | 7 +++++++ .../arm-oraclelinux-wls/test/data/parameters-test.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/weblogic-azure-vm/README.md b/weblogic-azure-vm/README.md index 4c47434c3..7628a55ac 100644 --- a/weblogic-azure-vm/README.md +++ b/weblogic-azure-vm/README.md @@ -33,6 +33,13 @@ The following are the corresponding directories: - [https://github.com/oracle/weblogic-azure/weblogic-azure-vm/arm-oraclelinux-wls-dynamic-cluster](https://github.com/oracle/weblogic-azure/weblogic-azure-vm/arm-oraclelinux-wls-dynamic-cluster) +## ARM Template based deployment of Weblogic Offers + +For each WebLogic offer, the sample parameters.json file is located under the "src/main/arm" directory, corresponding to that offer. + +**Note**: Oracle recommends that the parameters.json file be deleted or secured after the WebLogic offer deployment is completed, +so that sensitive information such as user name and password are not inadvertently exposed. + ## Documentation Please refer to the documentation [Oracle WebLogic Server Azure Applications](https://docs.oracle.com/en/middleware/standalone/weblogic-server/wlazu/get-started-oracle-weblogic-server-microsoft-azure-iaas.html#GUID-E0B24A45-F496-4509-858E-103F5EBF67A7) diff --git a/weblogic-azure-vm/arm-oraclelinux-wls/test/data/parameters-test.json b/weblogic-azure-vm/arm-oraclelinux-wls/test/data/parameters-test.json index 77cf34a73..e54998e1b 100644 --- a/weblogic-azure-vm/arm-oraclelinux-wls/test/data/parameters-test.json +++ b/weblogic-azure-vm/arm-oraclelinux-wls/test/data/parameters-test.json @@ -15,7 +15,7 @@ "value":"#skuUrnVersion#" }, "vmSizeSelect": { - "value": "Standard_A3" + "value": "Standard_D2as_v4" }, "location": { "value": "#location#" From 10600cf392558c006fcffb61a60aa9f8b2788ba6 Mon Sep 17 00:00:00 2001 From: gnsuryan Date: Thu, 8 Jul 2021 09:31:52 +0530 Subject: [PATCH 3/3] remove reference to harcoded password --- .../modules/_deployment-scripts/_ds-create-wls-cluster.bicep | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/weblogic-azure-aks/src/main/bicep/modules/_deployment-scripts/_ds-create-wls-cluster.bicep b/weblogic-azure-aks/src/main/bicep/modules/_deployment-scripts/_ds-create-wls-cluster.bicep index bf08dc0e8..4609aff49 100644 --- a/weblogic-azure-aks/src/main/bicep/modules/_deployment-scripts/_ds-create-wls-cluster.bicep +++ b/weblogic-azure-aks/src/main/bicep/modules/_deployment-scripts/_ds-create-wls-cluster.bicep @@ -18,7 +18,8 @@ param ocrSSOPSW string param ocrSSOUser string param storageAccountName string = 'null' param utcValue string = utcNow() -param wdtRuntimePassword string = 'welcome1' +@secure() +param wdtRuntimePassword string param wlsClusterSize int = 5 param wlsCPU string = '200m' param wlsDomainName string = 'domain1'