Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
source "https://rubygems.org"
ruby RUBY_VERSION

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins

35 changes: 35 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Copyright (c) 2021, Oracle and/or its affiliates.

The Universal Permissive License (UPL), Version 1.0

Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or data
(collectively the "Software"), free of charge and under any and all copyright
rights in the Software, and any and all patent rights owned or freely
licensable by each licensor hereunder covering either (i) the unmodified
Software as contributed to or provided by such licensor, or (ii) the Larger
Works (as defined below), to deal in both

(a) the Software, and
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
one is included with the Software (each a "Larger Work" to which the Software
is contributed by such licensors),

without restriction, including without limitation the rights to copy, create
derivative works of, display, perform, and distribute the Software and make,
use, sell, offer for sale, import, export, have made, and have sold the
Software and the Larger Work(s), and to sublicense the foregoing rights on
either these or other terms.

This license is subject to the following condition:
The above copyright notice and either this complete permission notice or at
a minimum a reference to the UPL must be included in all copies or
substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
all:
cp subtemplate-src/addnode-coherence.md cluster/addnode-coherence.md
cp subtemplate-src/addnode-coherence.md dynamic-cluster/addnode-coherence.md
cp subtemplate-src/admin-aadNestedTemplate.md admin/aadNestedTemplate.md
cp subtemplate-src/admin-customDNSTemplate.md admin/customDNSTemplate.md
cp subtemplate-src/admin-elkNestedTemplate.md admin/elkNestedTemplate.md
cp subtemplate-src/appGatewayNestedTemplate.md cluster
cp subtemplate-src/cluster-aadNestedTemplate.md cluster/aadNestedTemplate.md
cp subtemplate-src/cluster-addnode.md cluster/addnode.md
cp subtemplate-src/cluster-customDNSTemplate.md cluster/customDNSTemplate.md
cp subtemplate-src/cluster-deletenode.md cluster/deletenode.md
cp subtemplate-src/cluster-elkNestedTemplate.md cluster/elkNestedTemplate.md
cp subtemplate-src/cluster-nsgRulesTemplate.md cluster/nsgRulesTemplate.md
cp subtemplate-src/coherenceTemplate.md cluster/coherenceTemplate.md
cp subtemplate-src/coherenceTemplate.md dynamic-cluster/coherenceTemplate.md
cp subtemplate-src/dbTemplate.md admin
cp subtemplate-src/dbTemplate.md cluster
cp subtemplate-src/dbTemplate.md dynamic-cluster
cp subtemplate-src/dynamic-cluster-aadNestedTemplate.md dynamic-cluster/aadNestedTemplate.md
cp subtemplate-src/dynamic-cluster-addnode.md dynamic-cluster/addnode.md
cp subtemplate-src/dynamic-cluster-deletenode.md dynamic-cluster/deletenode.md
cp subtemplate-src/dynamic-cluster-elkNestedTemplate.md dynamic-cluster/elkNestedTemplate.md
cp subtemplate-src/dynamic-cluster-nsgRulesTemplate.md dynamic-cluster/nsgRulesTemplate.md
cp subtemplate-src/dynamic-cluster-ohsNestedTemplate.md dynamic-cluster/ohsNestedTemplate.md
cp subtemplate-src/dynamic-cluster-customDNSTemplate.md dynamic-cluster/customDNSTemplate.md
91 changes: 91 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# arm-oraclelinux-wls
# Simple deployment of a Oracle Linux VM with WebLogic Server pre-installed

This template allows us to deploy a simple Oracle Linux VM with WebLogic Server (12.2.1.3.0) pre-installed.
By default, this template deploys an A3 size VM in the resource group location and return the fully qualified domain name of the VM.

To install WebLogic Server, requires Oracle WebLogic Install kit and Oracle JDK to be downloaded, from OTN Site (https://www.oracle.com/technical-resources/). The OTN site requires the user to accept <a href="https://www.oracle.com/downloads/licenses/standard-license.html">OTN Free Developer License Agreement</a> before downloading any resources.
So, when this template is run, the user will be required to accept the <a href="https://www.oracle.com/downloads/licenses/standard-license.html">OTN Free Developer License Agreement</a> and also provide OTN credentials (username and password), to download the Oracle WebLogic Install Kit and Oracle JDK.


<h3>Using the template</h3>

<h4>Perform string substitution to generate the necessary artifacts for deployment or uploading to the Azure Cloud Partner Portal</h4>

* Install Apache Maven. This project uses Apache Maven to do a simple
string substitution for several required parameters in the templates.

* From the top level run `mvn clean install`.

* The templates end up in `arm-oraclelinux-wls/arm-oraclelinux-wls/target/arm`. Change to that directory to run the templates.

<h4>Once you have performed the string substitution, you can deploy the template via the command line</h4>

**PowerShell**

*#use this command when you need to create a new resource group for your deployment*

*New-AzResourceGroup -Name &lt;resource-group-name&gt; -Location &lt;resource-group-location&gt;

*New-AzResourceGroupDeployment -ResourceGroupName &lt;resource-group-name&gt; -TemplateFile mainTemplate.json*

**Command line**

```
az group create --name &lt;resource-group-name&gt; --location &lt;resource-group-location&gt;

az group deployment create --resource-group &lt;resource-group-name&gt; --template-file mainTemplate.json --parameters @parametersFile.json
```

For example:

```
az group deployment create --resource-group 20191001-01-my-rg --parameters @my-parameters.json --template-file arm-oraclelinux-wls/target/arm/mainTemplate.json
```

If you are new to Azure virtual machines, see:

- [Azure Virtual Machines](https://azure.microsoft.com/services/virtual-machines/).
- [Azure Linux Virtual Machines documentation](https://docs.microsoft.com/azure/virtual-machines/linux/)
- [Azure Windows Virtual Machines documentation](https://docs.microsoft.com/azure/virtual-machines/windows/)
- [Template reference](https://docs.microsoft.com/azure/templates/microsoft.compute/allversions)
- [Quickstart templates](https://azure.microsoft.com/resources/templates/?resourceType=Microsoft.Compute&pageNumber=1&sort=Popular)

If you are new to template deployment, see:

[Azure Resource Manager documentation](https://docs.microsoft.com/azure/azure-resource-manager/)

## Considerations for CI/CD

<h3>Running the tests</h3>

Microsoft provides template validation tests in the Git repo for [azure-quickstart-templates](https://github.com/Azure/azure-quickstart-templates/tree/master/test/template-tests). This project includes a Maven configuration to run those tests against the ARM template. This is useful when building the template as part of a CI/CD pipeline.

<h4>Preconditions</h4>

The environment running the tests must have the git repo for
[Azure Quickstart Templates)[https://github.com/Azure/azure-quickstart-templates] checked
out in the expected place, and the necessary PowerShell software installed

1. Make it so the environment that runs `mvn` is able to execute the PowerShell command.

2. Git clone the [Azure Quickstart Templates)[https://github.com/Azure/azure-quickstart-templates] into the top level `target` directory.

<h4>Running the tests</h4>

1. run `mvn install` in the top level directory. **Do not run `mvn
clean` as this will delete the directory from step 3 above**

2. Change to `arm-oraclelinux-wls` and run `mvn -Dgit.repo=edburns -Ptemplate-validation-tests install`

3. The template validation tests should run. You must see no failures, signified by lines that start with `[-]`
tests and some large number of passing tests: `[+]`.

4. The zip file to upload to the Cloud Partner Portal is located in the
target directory.

## Updating the Versions

```
mvn versions:set -DnewVersion=1.0.1 -DoldVersion=* -DgroupId=com.oracle.weblogic.azure -DartifactId=*
```
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
theme: jekyll-theme-primer
repository: "wls-eng/arm-oraclelinux-wls"
19 changes: 19 additions & 0 deletions _data/var.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
azureFullBrandName: Microsoft Azure IaaS
wlsFullBrandName: Oracle WebLogic Server
brandNameNumber: 12c
partNumber: E48696-01
publicationDate: March 2021
versionOr: 12.1.2.3
# versionOr: 12.1.2.3 or 12.1.2.4 # edburns: only support 12.2.1.3 now.
oracleLinuxVersion: 7.4
jdkVersion: Oracle JDK 8u131
jdkVersionNumber: jdk1.8.0_131
repoPrefix: /arm-oraclelinux-wls-
artifactsLocationBase: https://raw.githubusercontent.com/wls-eng/arm-oraclelinux-wls-
passwordInFileNote: |-3
Some things to note:

* We did not include values for parameters that have a default value.
* Even though this parameters file has values for sensitive fields such as passwords, these values are not echoed on the command line, or repeated in the logs because they are passed directly as `secureString` type in ARM. **Please ensure any occurrences of the parameters file in the filesystem are sufficiently secured.**

artifactsLocationTag: 2021-03-23-01-Q1
3 changes: 3 additions & 0 deletions _includes/head.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<head>
<meta http-equiv="refresh" content="0; URL=https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlazu/index.html">
</head>
3 changes: 3 additions & 0 deletions _includes/sub-template-01.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This page lists the available templates for working with existing
deployments. These templates perform various operations on an existing
deployment after it has initially been deployed from the Azure portal.
5 changes: 5 additions & 0 deletions _includes/toc.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<nav>
<h4>Table of Contents</h4>
* this unordered seed list will be replaced by toc as unordered list
{:toc}
</nav>
41 changes: 41 additions & 0 deletions _includes/variables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{% comment %}
Account for variability in the repo paths.
{% endcomment %}

{% assign pageDirName = page.dir | replace: "/", "" %}
{% capture pageDir %}{{ pageDirName }}{% endcapture %}

{% if pageDir contains "admin" %}
{% capture armTemplateBasePath %}{{ site.data.var.artifactsLocationBase }}{{ pageDir }}/{{ site.data.var.artifactsLocationTag }}/src/main/arm/{% endcapture %}

{% comment %}
something like https://raw.githubusercontent.com/edburns/arm-oraclelinux-wls-admin/2020-06-24-01-Q2/src/main/arm/
{% endcomment %}

{% else %}
{% assign repoPrefix = site.data.var.repoPrefix %}
{% capture armTemplateBasePath %}{{ site.data.var.artifactsLocationBase }}{{ pageDir }}/{{ site.data.var.artifactsLocationTag }}{{ repoPrefix }}{{ pageDir }}/src/main/arm/{% endcapture %}

{% comment %}
something like https://raw.githubusercontent.com/edburns/arm-oraclelinux-wls-cluster/2020-06-24-01-Q2/arm-oraclelinux-wls-cluster/src/main/arm/
{% endcomment %}

{% capture armTemplateDeleteNodeBasePath %}{{ site.data.var.artifactsLocationBase }}{{ pageDir }}/{{ site.data.var.artifactsLocationTag }}/deletenode/src/main/{% endcapture %}

{% comment %}
something like https://raw.githubusercontent.com/edburns/arm-oraclelinux-wls-cluster/2020-06-24-01-Q2/deletenode/src/main/
{% endcomment %}

{% capture armTemplateAddNodeBasePath %}{{ site.data.var.artifactsLocationBase }}{{ pageDir }}/{{ site.data.var.artifactsLocationTag }}/addnode/src/main/{% endcapture %}

{% comment %}
something like https://raw.githubusercontent.com/edburns/arm-oraclelinux-wls-cluster/2020-06-24-01-Q2/addnode/src/main/
{% endcomment %}

{% capture armTemplateAddCacheNodeBasePath %}{{ site.data.var.artifactsLocationBase }}{{ pageDir }}/{{ site.data.var.artifactsLocationTag }}/addnode-coherence/src/main/{% endcapture %}

{% comment %}
something like https://raw.githubusercontent.com/edburns/arm-oraclelinux-wls-cluster/2020-06-24-01-Q2/addnode=-coherence/src/main/
{% endcomment %}

{% endif %}
35 changes: 35 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

{% seo title=false %}
<title>{{ site.data.var.wlsFullBrandName }} on Azure</title>
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
</head>
<body>
<div class="container-lg px-3 my-5 markdown-body">

{{ content }}

{% if site.github.private != true and site.github.license %}
<div class="footer border-top border-gray-light mt-5 pt-3 text-right text-gray">
</div>
{% endif %}
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" integrity="sha256-lZaRhKri35AyJSypXXs4o6OPFTbTmUoltBbDCbdzegg=" crossorigin="anonymous"></script>
<script>anchors.add();</script>
{% if site.google_analytics %}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>
Loading