Skip to content

Commit

Permalink
JCS-13633 Add licensing section to README.md (#169)
Browse files Browse the repository at this point in the history
- Change year in header
- Add license info in main README.md
- Fix text in main README.md and README.md for solutions
- Remove cleanup note for non-jrf solution, because it is not needed
- Mention the var file for images in the README.md for each solution
- Improve instructions to create tfvar file
  • Loading branch information
roberto-sanchez-herrera committed Feb 2, 2023
1 parent 7b023c1 commit 00738e6
Show file tree
Hide file tree
Showing 177 changed files with 298 additions and 242 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

# Local .terraform directories
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.

The Universal Permissive License (UPL), Version 1.0

Expand Down
92 changes: 61 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# Oracle WebLogic Server for Oracle Cloud Infrastructure
# OCI Terraform stack for WebLogic Server

[Oracle WebLogic Server for Oracle Cloud Infrastructure][wlsoci] allows you to quickly create your Java Enterprise Edition
(Java EE) application environment in [Oracle Cloud Infrastructure (OCI)][oci], including an Oracle WebLogic Server domain,
in a fraction of the time it would normally take on-premises.
The OCI Terraform stack for WebLogic Server allows you to create and configure a WebLogic domain in
[Oracle Cloud Infrastructure (OCI)][oci], in minutes. It will create and/or configure multiple OCI services such as
Compute, Network, OCI Database, Autonomous Database, Identity Cloud Service, Logging, File System, Application
Performance Monitoring and Autoscalings. The WebLogic domain created can be scaled by updating a terraform variable to indicate
the desired number of nodes and re apply the stack or auto-scaling can be configured to automatically adapt to different
workloads in real time.

Oracle WebLogic Server for OCI is available as a set of applications in the [Oracle Cloud Infrastructure Marketplace][marketplace].
The OCI Terraform stack for WebLogic Server is available through the Oracle Quick Start or through the
[Oracle Cloud Infrastructure Marketplace][marketplace] as one of the multiple Oracle WebLogic Server for OCI applications.
After launching one of these applications, you use a simple wizard interface to configure and provision your domains along
with any supporting cloud resources like compute instances, networks and load balancers.

This Quick Start is an alternative to deploy an Oracle WebLogic Server for OCI stack, that can be used to automate the creation
of WebLogic domains in OCI. You can use the Oracle Cloud Infrastructure [Resource Manager (ORM)][orm] or the Terraform
command-line interface (CLI).

For more details on deploying the Oracle WebLogic Server for OCI stack on Oracle Cloud Infrastructure, visit the
"Using Oracle WebLogic Server for OCI" [guide](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/index.html).
For more details about deploying the OCI Terraform stack for WebLogic Server through the OCI Marketplace, visit the
["Using Oracle WebLogic Server for OCI"](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/index.html) guide.

## Common Topologies

WebLogic for OCI offers many options to customize your stack, to create new resources or use existing resources, use features
like Oracle Identity and Cloud Service, etc.
The OCI Terraform stack for WebLogic Server offers many options to customize your environment, to create new resources or configure
existing resources or services such as Network, Oracle Database, Oracle Identity Cloud Service, Logging, File System, etc.

The [solutions](./solutions) directory contains examples of different topologies that can be created in WebLogic for OCI, with
sample tfvars files, and instructions to create the stack.
The [solutions](./solutions) directory contains examples of different topologies that can be created with this Terraform
template, with sample tfvars files, and instructions to create the stack.

The following topologies are included:

Expand All @@ -32,44 +32,44 @@ The following topologies are included:

Review each solution for more details.

## Before You Begin with Oracle WebLogic Server for OCI
## Before You Begin with OCI Terraform stack for WebLogic Server

Whether you use Terraform CLI, ORM or the Marketplace to create a stack, you need to perform some pre-requisites. Refer
to the [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/you-begin-oracle-weblogic-cloud.html) for
the pre-requisite steps to using Oracle WebLogic Server for OCI.
the pre-requisite steps to use the OCI Terraform stack for WebLogic Server.

For pre-requisites specific to Terraform CLI and ORM, see their corresponding section.

## Create Stack Using the Marketplace
## Create the Stack Using the OCI Marketplace

To create, manage and destroy a WebLogic for OCI stack using the Marketplace, follow the instructions in the
[documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/create-stack1.html).
To create, manage and destroy the OCI Terraform stack for WebLogic Server as WebLogic Server for OCI using the Marketplace,
follow the instructions in the [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/create-stack1.html).

## Create Stack Using the Terraform CLI

You need to install the following software in your computer to create a stack using Terraform CLI:
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git). Install the latest version
- [Terraform](https://www.terraform.io/). The scripts in this Quick Start requires Terraform version >= 1.1.2, < 1.2.0
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git). Install the latest version
- [Terraform](https://www.terraform.io/). The scripts in this Quick Start requires Terraform version >= 1.1.2, < 1.2.0

First, get a local copy of this repo. You can make that with the commands:

```bash
git clone https://github.com/oracle-quickstart/weblogic-server-for-oci.git
cd weblogic-server-for-oci/terraform
git clone https://github.com/oracle-quickstart/oci-weblogic-server.git
cd oci-weblogic-server/terraform
ls
```
Example output:

```bash
$ git clone https://github.com/oracle-quickstart/weblogic-server-for-oci.git
Cloning into 'weblogic-server-for-oci'...
$ git clone https://github.com/oracle-quickstart/oci-weblogic-server.git
Cloning into 'oci-weblogic-server'...
remote: Enumerating objects: 2522, done.
remote: Counting objects: 100% (646/646), done.
remote: Compressing objects: 100% (324/324), done.
remote: Total 2522 (delta 449), reused 440 (delta 318), pack-reused 1876
Receiving objects: 100% (2522/2522), 972.92 KiB | 1.54 MiB/s, done.
Resolving deltas: 100% (1735/1735), done.
$ cd weblogic-server-for-oci/terraform
$ cd oci-weblogic-server/terraform
$ ls
autoscaling_variables.tf data_sources.tf edition.tf idcs_variables.tf locals.tf modules/ network_variables.tf oci_images.tf outputs.tf schema.yaml variables.tf weblogic_variables.tf
bastion_variables.tf db_variables.tf fss_variables.tf inputs/ main.tf mp_variables.tf observability_variables.tf orm/ provider.tf schema_14110.yaml versions.tf
Expand Down Expand Up @@ -185,7 +185,8 @@ For example, if you want to create a WebLogic Enterprise Edition UCM stack, copy
to `terraform/mp_image_ee_ucm.auto.tfvars`
Next, you need to configure [variables](./VARIABLES.md) to drive the stack creation. This can be done by creating a
`terraform.tfvars` file in the `terraform` directory, using as a base the tfvars files from one of the [solutions](./solutions).
`terraform.tfvars` file in the `terraform` directory, using variables copied from the tfvars files from one of the [solutions](./solutions)
into the `terraform.tfvars` file.
Make sure the plan looks good. Once you created `terraform.tfvars` in the `terraform` directory, just run:
Expand All @@ -195,7 +196,7 @@ terraform plan
### Deploy
If that's good, you can go ahead and apply to deploy the stack:
If terraform plan is successful, you can run terraform apply to deploy the stack:
```bash
terraform apply
Expand Down Expand Up @@ -229,7 +230,7 @@ You'll need to enter yes when prompted.
## Create Stack Using OCI Resource Manager
Oracle Cloud Infrastructure [Resource Manager (ORM)][orm] allows you to manage your Terraform configurations and state.
To simplify getting started, the Terraform zip files for use with ORM are created as part of each [release](https://github.com/oracle-quickstart/weblogic-server-for-oci/releases).
To simplify getting started, the Terraform zip files for use with ORM are created as part of each [release](https://github.com/oracle-quickstart/oci-weblogic-server/releases).
If you want to build the zip file to create an ORM stack, you need the following software:
Expand Down Expand Up @@ -294,7 +295,7 @@ cd builds
The zip files are generated in the `builds/binaries` directory.
Follow [these steps](https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/create-stack-local.htm) to create
a ORM stack, using either a zip file from one of the [releases](https://github.com/oracle-quickstart/weblogic-server-for-oci/releases),
a ORM stack, using either a zip file from one of the [releases](https://github.com/oracle-quickstart/oci-weblogic-server/releases),
or a zip file generated manually with the `build_mp_bundles.sh` script.
### Deploy the stack
Expand All @@ -316,6 +317,35 @@ steps to perform before running a `destroy` job.
When you no longer need the deployment, you can run a
`destroy` [job](https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/create-job-destroy.htm) to destroy the stack.
## Troubleshoot
Refer to [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/troubleshoot-oracle-weblogic-cloud.html)
to identify common problems and learn how to diagnose and solve them.
## License
The OCI Terraform stack for WebLogic Server is licensed under the Universal Permissive License 1.0.
See [LICENSE](./LICENSE) for more details.
The OCI Terraform stack for WebLogic Server does not include entitlement to Oracle WebLogic Server. The entitlement of
Oracle WebLogic Server within the OCI Terraform stack for WebLogic Server can be obtained by using the Oracle WebLogic
Server for OCI images or by using a valid WebLogic Server license with the stack.
### Universal Credits Model (UCM)
The Oracle WebLogic Server for OCI images that include entitlement of Oracle WebLogic Server can be found here:
- Oracle WebLogic Server Enterprise Edition UCM image: https://cloudmarketplace.oracle.com/marketplace/en_US/listing/70276523
- Oracle WebLogic Suite UCM image: https://cloudmarketplace.oracle.com/marketplace/en_US/listing/70277452
When using the Oracle WebLogic Server Enterprise Edition UCM image, the WebLogic for OCI license in governed by the
following terms: https://cloudmarketplace.oracle.com/marketplace/content?contentId=70262301&render=inline
When using the Oracle WebLogic Suite UCM image, the WebLogic for OCI license in governed by the following terms:
https://cloudmarketplace.oracle.com/marketplace/content?contentId=70262277&render=inline
### Bring Your Own License (BYOL)
When deploying using BYOL, the WebLogic for OCI license is governed by the following Licensing terms:
https://cloudmarketplace.oracle.com/marketplace/content?contentId=18088784&render=inline
[wlsoci]: https://docs.oracle.com/en/cloud/paas/weblogic-cloud/index.html
[oci]: https://cloud.oracle.com/cloud-infrastructure
Expand Down
6 changes: 3 additions & 3 deletions builds/build_cli.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

#!/usr/bin/env bash

# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

############################################################
# Build CLI bundle to run SRG dev tests #
############################################################
Expand Down
6 changes: 3 additions & 3 deletions builds/build_mp_bundles.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

#!/usr/bin/env bash

# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

############################################################
# help #
############################################################
Expand Down
6 changes: 3 additions & 3 deletions builds/build_orm_dev.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

#!/usr/bin/env bash

# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

#######################################################################################################
# Build the Oracle Resource Manager (ORM) bundles for developers to test new features or bug fixes #
#######################################################################################################
Expand Down
2 changes: 1 addition & 1 deletion solutions/common/tenancy.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

user_id = "ocid1.user.xxxxxxxxxxxxxx"
Expand Down
39 changes: 27 additions & 12 deletions solutions/jrf/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## WebLogic JRF domain with OCI DB

This solution creates single/multi node Weblogic cluster with OCI Database and Oracle Identity Cloud Service fronted by a load balancer. The solution will create only one stack at time and further modifications that are done will be done on the same stack.
This solution creates single/multi node Weblogic cluster with OCI Database and Oracle Identity Cloud Service fronted by
a load balancer.

This topology uses existing infrastructure.
- Existing VCN and existing subnets with private WebLogic subnet.
Expand All @@ -12,36 +13,49 @@ Oracle Identity Cloud Service (IDCS) is used to authenticate user.
![Full Topology Diagram](Topology.png)

The above diagram shows a topology that includes most of the components supported by the Terraform scripts.
In this scenario, the WebLogic servers are in a private subnet. To access the applications running on WebLogic, an existing OCI load balancer in public regional subnet is used. A bastion instance with a public IP address is provisioned to allow access to the VMs in the private subnet. The Oracle WebLogic Server domain is configured to use Oracle Identity Cloud Service for authentication.
In this scenario, the WebLogic servers are in a private subnet. To access the applications running on WebLogic, an existing
OCI load balancer in public regional subnet is used. A bastion instance with a public IP address is provisioned to allow
access to the VMs in the private subnet. The Oracle WebLogic Server domain is configured to use Oracle Identity Cloud Service
for authentication.

The diagram shows the stack using a database located in a VCN different from the one used by the WebLogic for OCI stack, with VCN peering. Peering is necessary because DB VCN is different from Weblogic VCN. Since existing VCNs are used here, VCNs for WebLogic Server compute instances and the Oracle Cloud Infrastructure Application Database are peered manually before creating the stack for the Oracle WebLogic Server for OCI domain. To peer the VCNs manually, see [Manual VCN Peering](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/configure-database-parameters.html#GUID-6A39A2A7-EF6C-408E-B5C7-C44089A9B134__MANUAL_VCN_PEERING).
The diagram shows the WebLogic domain using a database located in a different VCN, with VCN peering. Peering is necessary
because DB VCN is different from WebLogic VCN. Since existing VCNs are used here, VCNs for WebLogic Server compute instances
and the Oracle Cloud Infrastructure Application Database are peered manually before creating the stack for the WebLogic
domain. To peer the VCNs manually, see [Manual VCN Peering](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/configure-database-parameters.html#GUID-6A39A2A7-EF6C-408E-B5C7-C44089A9B134__MANUAL_VCN_PEERING).

## Before You Begin with Oracle WebLogic Server for OCI
Refer to the [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/you-begin-oracle-weblogic-cloud.html) for the pre-requisite steps to using Oracle WebLogic Server for OCI.
## Before You Begin with OCI Terraform stack for WebLogic Server
Refer to the [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/you-begin-oracle-weblogic-cloud.html)
for the pre-requisite steps to use the OCI Terraform stack for WebLogic Server.

## Workspace Checkout
- Install latest version of git from http://git-scm.com/downloads
- For Linux and Mac: Add the git to the PATH
- Install the latest version of git from http://git-scm.com/downloads
- For Linux and Mac: Add git to the PATH
- Clone the code using the command:

```bash
git clone https://github.com/oracle-quickstart/weblogic-server-for-oci.git
git clone https://github.com/oracle-quickstart/oci-weblogic-server.git
```

## Organization
The directory weblogic-server-for-oci/solutions/jrf consists of the following terraform files:
The directory oci-weblogic-server/solutions/jrf consists of the following terraform files:

- jrf_instance.tfvars - WebLogic instance, bastion instance and network configuration
- existing_lb.tfvars - Load balancer configuration
- oci_db.tfvars - OCI Database configuration
- idcs.tfvars - IDCS configuration

The directory weblogic-server-for-oci/solutions/common consists of the following:
The directory oci-weblogic-server/solutions/common consists of the following:
- tenancy.tfvars - tenancy configuration

The files in the oci-weblogic-server/inputs directory contain the values of the images for the different combinations of
WebLogic edition and pricing. In this solution, the file _mp_image_ee_byol.tfvars_ is used to create a WebLogic Enterprise
Edition, BYOL instance. Specify a different file to use a different edition and/or pricing.

See the [License](/README.md#license) section for more information to help you decide which _mp_image_*.tfvars_ file to use.

## Using the Terraform command line tool
```bash
cd weblogic-server-for-oci/terraform
cd oci-weblogic-server/terraform
```

Initialize the terraform provider plugin
Expand All @@ -59,4 +73,5 @@ To destroy the infrastructure
```bash
terraform destroy var-file=../solutions/common/tenancy.tfvars -var-file=inputs/mp_image_ee_byol.tfvars -var-file=../solutions/jrf/jrf_instance.tfvars -var-file=../solutions/jrf/existing_lb.tfvars -var-file=../solutions/jrf/idcs.tfvars var-file=../solutions/jrf/oci_db.tfvars
```
**Important:** Refer to [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/delete-domain.html) for steps to perform before running *terraform destroy*.
**Important:** Refer to [documentation](https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/delete-domain.html) for
steps to perform before running *terraform destroy*.
2 changes: 1 addition & 1 deletion solutions/jrf/existing_lb.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

### Existing Load Balancer parameters
Expand Down
2 changes: 1 addition & 1 deletion solutions/jrf/idcs.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

### IDCS parameters
Expand Down
4 changes: 2 additions & 2 deletions solutions/jrf/jrf_instance.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2022, Oracle and/or its affiliates.
# Copyright (c) 2023, Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl.

service_name = "jrf1"
Expand All @@ -23,7 +23,7 @@ instance_shape = "VM.Standard.E4.Flex"
wls_version = "12.2.1.4"
wls_ocpu_count = 1
wls_node_count = 2
wls_availability_domain_name = "HiGv:US-ASHBURN-AD-2"
wls_availability_domain_name = "<availability_domain_name>"
wls_subnet_id = "ocid1.subnet.xxxxxxxxxxxxxxx"

### Bastion parameters to create new bastion instance
Expand Down
Loading

0 comments on commit 00738e6

Please sign in to comment.