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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs-source/mbaas/content/azure/AzureUpload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 76 additions & 0 deletions docs-source/mbaas/content/azure/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Azure/OCI Multi-Cloud Installation

The Oracle Backend for Parse Platform is available to install in Multi-Cloud (Azure and OCI). This installation will deplpoy the Oracle Backend for Parse Platform in Azure with an Oracle Autonomous Database running in OCI.

## Prerequisites

You must meet the following prerequisites to use the Oracle Backend for Spring Boot Multi-Cloud (Azure and OCI):

* An account on Azure
* An account on OCI

## Download

Download [Oracle Backend for Spring Boot](https://github.com/oracle/microservices-datadriven/releases/download/OBAAS-1.0.0/azure-mbaas-platform_latest.zip).

## Setup

A few setup steps are required in both Oracle Cloud Infrastructure (OCI) and Azure to deploy the Oracle Backend for Parse Platform application.

### OCI

The Multi-Cloud Installation will provision an Oracle Autonomous Database in OCI via the [Oracle Database Operator for Kubernetes (OraOperator)](https://github.com/oracle/oracle-database-operator).

To allow the OraOperator access to OCI, an [API Key](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/apisigningkey.htm) must be generated:

1. Log into OCI
2. Open the Profile menu ![User Profile Menu](userprofilemenu.png) and click My profile.
3. In the Resources section at the bottom left, click API Keys
4. Click Download Private Key and save the key as `private_key.pem`. You do not need to download the public key.
5. Click Add.

The key is added and the Configuration File Preview is displayed. The file snippet includes required parameters and values you'll need. Copy and paste the configuration file snippet from the text box and keep handy for later steps.

### Azure

The Multi-Cloud Installation will be done via the Azure Cloud Shell. The following steps are required in Azure to prepare for the installation.

1. Log into Azure
2. Open the Azure Cloud Shell
![Azure Cloud Shell Icon](AzureCloudShellIcon.png)
3. Upload the [Oracle Backend for Spring Boot](https://github.com/oracle/microservices-datadriven/releases/download/OBAAS-1.0.0/azure-ebaas-platform_latest.zip) Stack
![Azure Upload](AzureUpload.png)
4. Upload the API Private Key (`private_key.pem`)
5. Unzip the Stack to a directory called `obaas`
`unzip azure-ebaas-platform_latest.zip -d obaas`
6. Move the `private_key.pem` file to obaas
`mv private_key.pem obaas/`
5. Run the configuration helper script, inputing the values from the API Key
* `cd ~/obaas`
* `./obaas_configure.py`
![Azure Configure](AzureConfigure.png)

## Install Ansible

Install Ansible to run the Configuration Management Playbook. The helper scripts will create a Python Virtual Environment and install Ansible and additional modules:

```bash
cd ~/obaas/ansible
./setup_ansible.sh
source ./activate.env
```

## Deploy the Infrastructure

From the Azure Cloud Shell:

```bash
cd ~/obaas
terraform init
terraform plan -out=multicloud.plan
terraform apply "multicloud.plan"
```

## Finish

Next, move on the the [Getting Started](../getting-started/) page to learn how to use the newly installed environment.
Binary file added docs-source/mbaas/content/azure/userprofilemenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 10 additions & 6 deletions docs-source/mbaas/content/on-premises/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ app_id: "PiITzsu3RCc499RRDOYOBgWnyAlMm6695r1536y1"
master_key: "Q5CP7MHpoZhSwbk39XpHxamp4rJJ4F3vPZ3NZ7ee"
dashboard_username: "ADMIN"
dashboard_password: "OZ0-mSt-27Evb-Qy"
bucket: ""
storage: ""
access_key: ""
private_key: ""
...
```

Expand All @@ -79,7 +81,7 @@ BAASPDB:
username: 'PDBADMIN'
password: 'Correct-horse-Battery-staple-35'
service: '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=BAASPDB)))'
wallet: ''
ocid: ''
...
```

Expand All @@ -95,19 +97,21 @@ compartment_ocid: ''
registry_username: 'oracle'
registry_password: 'Correct-horse-Battery-staple-35'
push_registry_url: 'docker.io/myorg'
pull_registry_url: 'docker.io/myorg'
registry_auth:
push_registry_auth:
auths:
docker.io/myorg:
auth: 'b3JhY2xlOjdaUVgxLXhhbFR0NTJsS0VITlA0'
pull_registry_url: 'docker.io/myorg'
pull_registry_auth:
auths:
docker.io/myorg:
auth: 'b3JhY2xlOjdaUVgxLXhhbFR0NTJsS0VITlA0'
...
```

Leave `compartment_ocid` blank for all On-Premises installations. Specify the URL/authentication credentials for your Container Repository in `pull_registry_url`, `push_registry_url`, `registry_username` and `registry_password`.
Specify the URL/authentication credentials for your Container Repository in `pull_registry_url`, `push_registry_url`, `registry_username` and `registry_password`.

For the `registry_auth` section, manually log into your repository and copy the values found in file created, often found in `$HOME/.config/containers/auth.json`
For the `<pull|push>_registry_auth` section, manually log into your repository and copy the values found in file created, often found in `$HOME/.config/containers/auth.json`

You maybe curious as to why there is duplication between the push and pull URL's. The pull URL is used inside the pods while the push is used from the deployment machine. If you have a private registry inside the Kubernetes cluster, these URL's could be different. This is the case for the _Desktop_ installation; the push URL is `localhost:5000`, while the pull URL is `<Registry Pod ClusterIP>:5000`.

Expand Down
2 changes: 2 additions & 0 deletions docs-source/mbaas/data/menu/main.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
main:
- name: Setup
ref: "/setup"
- name: "Multi-Cloud (OCI/Azure) Installation"
ref: "/azure"
- name: "On-Premises Installation"
ref: "/on-premises"
sub:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs-source/spring/content/azure/AzureUpload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 76 additions & 0 deletions docs-source/spring/content/azure/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Azure/OCI Multi-Cloud Installation

The Oracle Backend for Spring Boot is available to install in Multi-Cloud (Azure and OCI). This installation will deplpoy the Oracle Backend for Spring Boot in Azure with an Oracle Autonomous Database running in OCI.

## Prerequisites

You must meet the following prerequisites to use the Oracle Backend for Spring Boot Multi-Cloud (Azure and OCI):

* An account on Azure
* An account on OCI

## Download

Download [Oracle Backend for Spring Boot](https://github.com/oracle/microservices-datadriven/releases/download/OBAAS-1.0.0/azure-ebaas-platform_latest.zip).

## Setup

A few setup steps are required in both Oracle Cloud Infrastructure (OCI) and Azure to deploy the Oracle Backend for Spring Boot application.

### OCI

The Multi-Cloud Installation will provision an Oracle Autonomous Database in OCI via the [Oracle Database Operator for Kubernetes (OraOperator)](https://github.com/oracle/oracle-database-operator).

To allow the OraOperator access to OCI, an [API Key](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/apisigningkey.htm) must be generated:

1. Log into OCI
2. Open the Profile menu ![User Profile Menu](userprofilemenu.png) and click My profile.
3. In the Resources section at the bottom left, click API Keys
4. Click Download Private Key and save the key as `private_key.pem`. You do not need to download the public key.
5. Click Add.

The key is added and the Configuration File Preview is displayed. The file snippet includes required parameters and values you'll need. Copy and paste the configuration file snippet from the text box and keep handy for later steps.

### Azure

The Multi-Cloud Installation will be done via the Azure Cloud Shell. The following steps are required in Azure to prepare for the installation.

1. Log into Azure
2. Open the Azure Cloud Shell
![Azure Cloud Shell Icon](AzureCloudShellIcon.png)
3. Upload the [Oracle Backend for Spring Boot](https://github.com/oracle/microservices-datadriven/releases/download/OBAAS-1.0.0/azure-ebaas-platform_latest.zip) Stack
![Azure Upload](AzureUpload.png)
4. Upload the API Private Key (`private_key.pem`)
5. Unzip the Stack to a directory called `obaas`
`unzip azure-ebaas-platform_latest.zip -d obaas`
6. Move the `private_key.pem` file to obaas
`mv private_key.pem obaas/`
5. Run the configuration helper script, inputing the values from the API Key
* `cd ~/obaas`
* `./obaas_configure.py`
![Azure Configure](AzureConfigure.png)

## Install Ansible

Install Ansible to run the Configuration Management Playbook. The helper scripts will create a Python Virtual Environment and install Ansible and additional modules:

```bash
cd ~/obaas/ansible
./setup_ansible.sh
source ./activate.env
```

## Deploy the Infrastructure

From the Azure Cloud Shell:

```bash
cd ~/obaas
terraform init
terraform plan -out=multicloud.plan
terraform apply "multicloud.plan"
```

## Finish

Next, move on the the [Getting Started](../getting-started/) page to learn how to use the newly installed environment.
Binary file added docs-source/spring/content/azure/userprofilemenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 7 additions & 6 deletions docs-source/spring/content/on-premises/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# On-Premises Installation

The Oracle Backend for Spring Boot is available is available to install On-Premises. The On-Premises installation includes both a _Desktop_ installation and an _Estate_ installation.
The Oracle Backend for Spring Boot is available to install On-Premises. The On-Premises installation includes both a _Desktop_ installation and an _Estate_ installation.

The _Desktop_ installation can be used to explore the in a non-Production environment, while the _Estate_ installation is targeted for Production infrastructure.

Expand Down Expand Up @@ -62,7 +62,7 @@ BAASPDB:
username: 'PDBADMIN'
password: 'Correct-horse-Battery-staple-35'
service: '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=BAASPDB)))'
wallet: ''
ocid: ''
...
```

Expand All @@ -74,21 +74,22 @@ The container repository is defined in `ansible/roles/registry/vars/main.yaml`.

```yaml
---
compartment_ocid: ''
registry_username: 'oracle'
registry_password: 'Correct-horse-Battery-staple-35'
push_registry_url: 'docker.io/myorg'
pull_registry_url: 'docker.io/myorg'
registry_auth:
push_registry_auth:
auths:
docker.io/myorg:
auth: 'b3JhY2xlOjdaUVgxLXhhbFR0NTJsS0VITlA0'
pull_registry_url: 'docker.io/myorg'
pull_registry_auth:
auths:
docker.io/myorg:
auth: 'b3JhY2xlOjdaUVgxLXhhbFR0NTJsS0VITlA0'
...
```

Leave `compartment_ocid` blank for all On-Premises installations. Specify the URL/authentication credentials for your Container Repository in `pull_registry_url`, `push_registry_url`, `registry_username` and `registry_password`.
Specify the URL/authentication credentials for your Container Repository in `pull_registry_url`, `push_registry_url`, `registry_username` and `registry_password`.

For the `registry_auth` section, manually log into your repository and copy the values found in file created, often found in `$HOME/.config/containers/auth.json`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ minikube start --cpus 4 --memory max --container-runtime=containerd
minikube addons enable ingress
```

If minikube fails to start due to: `Failed kubeconfig update: could not read config`, run: `mv ~/.kube ~/.kube.bak` and retry.

### Download Oracle Backend for Spring Boot

Download the [Oracle Backend for Spring Boot](https://github.com/oracle/microservices-datadriven/releases/download/OBAAS-1.0.0/on-prem-ebaas-platform_v0.1.1.zip) and unzip into a new directory.
Expand Down
6 changes: 6 additions & 0 deletions docs-source/spring/content/release-notes/_index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Developer Preview 0.3.0, April 17, 2023

Notes:
* Oracle Backend for Spring Boot now includes the option to install in a Multi-Cloud (OCI/Azure) Environment.
* The Oracle Database Operator for Kubernetes will be bound the existing ADB created by IaC in an all-OCI installation and will provision the ADB in the multi-cloud installation.
* Improvements to On-Premises and Desktop Installation process

## Developer Preview 0.2.3, March 8, 2023

Expand Down
2 changes: 2 additions & 0 deletions docs-source/spring/data/menu/main.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
main:
- name: Setup
ref: "/setup"
- name: "Multi-Cloud (OCI/Azure) Installation"
ref: "/azure"
- name: "On-Premises Installation"
ref: "/on-premises"
sub:
Expand Down