Skip to content
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.

Commit

Permalink
Minor document changes.
Browse files Browse the repository at this point in the history
Co-authored-by: Shyam Radhakrishnan <[email protected]>
Co-authored-by: Ashokkumar Kannan <[email protected]>
Co-authored-by: Jayasheelan Kumar <[email protected]>
Co-authored-by: Naman Mehta <[email protected]>
  • Loading branch information
4 people committed Apr 15, 2019
1 parent b850e7b commit c86ec8b
Show file tree
Hide file tree
Showing 9 changed files with 94 additions and 115 deletions.
33 changes: 1 addition & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,44 +19,13 @@ The OCI Service Broker is an open source implementation of [Open service broker

See the [Installation](charts/oci-service-broker/docs/installation.md) instructions for detailed installation and configuration of OCI Service Broker.

### Build

**Pre-requisites:**

* JDK 10 & above
* [Gradle](https://gradle.org/)
(Recommended Gradle version: v4.10.3)
* Docker

The source code for OCI Service Broker is written in java and the code, can be found [here](oci-service-broker).

**Step 1:** Download [oci-javasdk v1.3.1](https://github.com/oracle/oci-java-sdk/releases/download/v1.3.1/oci-java-sdk.zip) archive file.

The OCI Service Broker internally uses [oci-java-sdk](https://github.com/oracle/oci-java-sdk) to manage OCI services. But they are not published to any public maven repositories yet. In order to build the project, users are required to download oci-java-sdk archive file and add the dependent libraries to libs directory of oci-service-broker. The can be done by running [download_SDK_libs.sh](oci-service-broker/download_SDK_libs.sh) script.

```bash
bash oci-service-broker/download_SDK_libs.sh
```

**Step 2:** Compile and build oci-service-broker docker image. Gradle Build Tool is used for building the oci-service-broker.

```bash
gradle -b oci-service-broker/build.gradle clean build docker
```

**Step 3:** The docker image oci-service-broker is available in the local docker repository. We should push this docker image to [OCIR](https://docs.cloud.oracle.com/iaas/Content/Registry/Concepts/registryoverview.htm) or customer's docker repository and refer this image in the Helm Chart.
**Step 4:** Install oci-service-broker chart
Update the chart to use the image that was built in **Step 3** by editing the values `image.repository` and `image.tag` in the [values.yaml](charts/oci-service-broker/values.yaml) and deploy the chart.
## Documentation

See the [Documentation](charts/oci-service-broker/README.md#oci-service-broker) for complete details on installation, security and service related configurations of OCI Service Broker.

## Charts

The OCI Service Broker is packaged as Helm chart for making it easy to install in Kubernetes Clusters. Please refer to [Documentation](#Documentation) for detailed instructions.
The OCI Service Broker is packaged as Helm chart for making it easy to install in Kubernetes Clusters. Please refer to [Documentation](#documentation) for detailed instructions.

## Samples

Expand Down
1 change: 1 addition & 0 deletions charts/oci-service-broker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- [Install Service Catalog](docs/installation.md#install-service-catalog)
- [Install svcat tool](docs/installation.md#install-svcat-tool)
- [Deploy OCI Service Broker](docs/installation.md#deploy-oci-service-broker)
- [Build OCI Service Broker Image from the Source](docs/installation.md#build-oci-service-broker-image-from-the-source)
- [Install service-broker chart](docs/installation.md#install-service-broker-chart)
- [OCI credentials](docs/installation.md#oci-credentials)
- [Quick Setup](docs/installation.md#quick-setup)
Expand Down
38 changes: 19 additions & 19 deletions charts/oci-service-broker/docs/adw.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Right now we expose a `standard` plan where the user can specify CPU count and s

## OCI User Permission requirement

The OCI user for OCI Service Broker should have permission `manage` for resoruce type `autonomous-data-warehouse`
The OCI user for OCI Service Broker should have permission `manage` for resource type `autonomous-data-warehouse`

**Sample Policy:**

Expand All @@ -44,7 +44,7 @@ Allow group <SERVICE_BROKER_GROUP> to manage autonomous-data-warehouse in compar

## Service Provision Request Parameters

To provision, an ADW service user needs to provide the following details
To provision, an ADW service user needs to provide the following details:

| Parameter | Description | Type | Mandatory |
| ---------------- | ------------------------------------------------------------------- | ------ | --------- |
Expand All @@ -53,10 +53,10 @@ To provision, an ADW service user needs to provide the following details
| `compartmentId` | The OCI compartment where the ADW instance will be provisioned. | string | yes |
| `cpuCount` | Number of CPU cores to have. | int | yes |
| `storageSizeTBs` | Size of the DB Storage in Terrabytes. | int | yes |
| `password` | ADW Service will pre-provision a DB Admin user when it provisions an ADW instance. The user needs to provide a password to be set for this Admin user.<br>The OCI ADW service requires the password to satisfy the below rules.<br><ul><li>The length should be between 12-18</li>A password must include an upper case, lower case, and special character.</ul> | string | yes |
| `password` | ADW Service will pre-provision a DB Admin user when it provisions an ADW instance. The user needs to provide a password to be set for this Admin user.<br>The OCI ADW service requires the password to satisfy the below rules.<br><ul><li>The length should be 12 to 18 characters.</li><li>A password must include an upper case, lower case, and special character.</li></ul> | string | yes |
| `licenseType` | Use your existing database software licenses(BYOL) or Subscribe to new database software licenses and the Database Cloud Service.<br>Valid values are:<ul><li>BYOL</li><li>NEW</li></ul>. | string | yes |
| `freeFormTags` | free form tags that are to be used for tagging the ADW instance. | object | no |
| `definedTags` | The defined tags that are to be used for tagging the ADW instance. | object | No |
| `definedTags` | The defined tags that are to be used for tagging the ADW instance. | object | no |

## Service Binding Request Parameters

Expand All @@ -68,7 +68,7 @@ The user needs to pass the following parameters to get the binding details:

## Service Binding Response Credentials

Users can create binding to get the credentials to use the ADW. The following files/details will be made available to the user
Users can create binding to get the credentials to use the ADW. The following files/details will be made available to the user:

| Parameter | Description | Type |
| ------------------ | ------------------------------------------------------------------------ | ------ |
Expand Down Expand Up @@ -110,7 +110,7 @@ If no brokers are listed then it means the OCI Service Broker is not installed.

#### Sample files

The sample files for ADW are available under [`oci-service-broker/samples/adw`](charts/oci-service-broker/samples/adw) directory.
The sample files for ADW are available under [`oci-service-broker/samples/adw`](../samples/adw) directory.

### Provisioning

Expand All @@ -130,7 +130,7 @@ Please refer [Use Secret to pass passwords](#use-secret-to-pass-passwords) secti
The `adw-instance-plain.yaml` files contain the compartment OCID in which the user wants to provision the ADW instance. The user needs to update it with their compartment OCID.

```bash
kubectl create -f oci-service-broker/samples/adw/adw-instance-plain.yaml
kubectl create -f charts/oci-service-broker/samples/adw/adw-instance-plain.yaml
```

#### Get instance status
Expand Down Expand Up @@ -162,10 +162,10 @@ Once the ADW Instance is provisioned the applications will require credentials/c
- Creating a ServiceBinding resource. This will create a Kubernetes secret with the credentials/configurations.
- The user needs to mount the credentials/configurations into the containers so that application can use this configuration.

A sample Kubernetes resource yaml to create binding.
A sample Kubernetes resource yaml to create binding:

```bash
cat oci-service-broker/samples/adw/adw-binding-plain.yaml
cat charts/oci-service-broker/samples/adw/adw-binding-plain.yaml
```

**Note:**
Expand All @@ -175,7 +175,7 @@ instanceRef should be same as the instance name for which binding is required.
#### Creating an ADW ServiceBinding resource

```bash
kubectl create -f oci-service-broker/samples/adw/adw-binding-plain.yaml
kubectl create -f charts/oci-service-broker/samples/adw/adw-binding-plain.yaml
```

#### Get Binding status
Expand All @@ -198,7 +198,7 @@ When the ServiceBinding request completes successfully the user should see a sec
kubectl get secrets adw-demo-binding -o yaml
```

Output
Output:

```yaml
apiVersion: v1
Expand Down Expand Up @@ -237,7 +237,7 @@ User need to create secret with DB Admin user password and wallet password. Edit
Create the Secret.

```bash
kubectl create -f oci-service-broker/samples/adw/adw-demo-secret.yaml
kubectl create -f charts/oci-service-broker/samples/adw/adw-demo-secret.yaml
```

#### Deploy sample application
Expand Down Expand Up @@ -332,7 +332,7 @@ Important things to note:
Deploy the app.

```bash
kubectl create -f oci-service-broker/samples/adw/adw-demo.yaml
kubectl create -f charts/oci-service-broker/samples/adw/adw-demo.yaml
```

View the logs
Expand All @@ -341,7 +341,7 @@ View the logs
kubectl logs $(kubectl get pod | grep ^adw-demo | grep Running | cut -d" " -f 1)
```

Output
Output:

```plain
-------- Oracle JDBC Connection Testing ------
Expand Down Expand Up @@ -378,13 +378,13 @@ DEFAULT_TABLESPACE:SYSTEM
Deleting the Service binding created in the previous step will result in the secret(that has the credentials) getting deleted. All Service Bindings for a ServiceInstance should be deleted before deleting the ServiceInstance.

```bash
kubectl delete -f oci-service-broker/samples/adw/adw-binding-plain.yaml
kubectl delete -f charts/oci-service-broker/samples/adw/adw-binding-plain.yaml
```

#### Delete Service Instance

```bash
kubectl delete -f oci-service-broker/samples/adw/adw-instance-plain.yaml
kubectl delete -f charts/oci-service-broker/samples/adw/adw-instance-plain.yaml
```

```bash
Expand Down Expand Up @@ -420,17 +420,17 @@ Create Secret:
Edit the values of 'password:' and 'walletPassword:' in `oci-service-broker/samples/adw/adw-secret.yaml` with appropriate base64 encoded strings

```bash
kubectl create -f oci-service-broker/samples/adw/adw-secret.yaml
kubectl create -f charts/oci-service-broker/samples/adw/adw-secret.yaml
```

Yaml to provision ADW instance with password loaded from Kubernetes Secret (notice parametersFrom part)

```bash
cat oci-service-broker/samples/adw/adw-instance.yaml
cat charts/oci-service-broker/samples/adw/adw-instance.yaml
```

Yaml to provision ADW instance with password loaded from Kubernetes Secret (notice parametersFrom part)

```bash
cat oci-service-broker/samples/adw/adw-binding.yaml
cat charts/oci-service-broker/samples/adw/adw-binding.yaml
```
36 changes: 18 additions & 18 deletions charts/oci-service-broker/docs/atp.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Right now we expose a `standard` plan where the user can specify CPU count and s

## OCI User Permission requirement

The OCI user for OCI Service Broker should have permission `manage` for resoruce type `autonomous-database`
The OCI user for OCI Service Broker should have permission `manage` for resource type `autonomous-database`.

**Sample Policy:**

Expand All @@ -44,7 +44,7 @@ Allow group <SERVICE_BROKER_GROUP> to manage autonomous-database in compartment

## Service Provision Request Parameters

To provision, an ATP service user needs to provide the following details
To provision, an ATP service user needs to provide the following details:

| Parameter | Description | Type | Mandatory |
| ---------------- | ------------------------------------------------------------------- | ------ | --------- |
Expand All @@ -53,10 +53,10 @@ To provision, an ATP service user needs to provide the following details
| `compartmentId` | The OCI compartment where the ATP instance will be provisioned. | string | yes |
| `cpuCount` | Number of CPU cores to have. | int | yes |
| `storageSizeTBs` | Size of the DB Storage in Terrabytes. | int | yes |
| `password` | ATP Service will pre-provision a DB Admin user when it provisions an ATP instance. The user needs to provide a password to be set for this Admin user.<br>The OCI ATP service requires the password to satisfy the below rules.<br><ul><li>The length should be between 12-18</li>A password must include an upper case, lower case, and special character.</ul> | string | yes |
| `password` | ATP Service will pre-provision a DB Admin user when it provisions an ATP instance. The user needs to provide a password to be set for this Admin user.<br>The OCI ATP service requires the password to satisfy the below rules.<br><ul><li>The length should be 12 to 18 characters.</li><li>A password must include an upper case, lower case, and special character.</li></ul> | string | yes |
| `licenseType` | Use your existing database software licenses(BYOL) or Subscribe to new database software licenses and the Database Cloud Service.<br>Valid values are:<ul><li>BYOL</li><li>NEW</li></ul>. | string | yes |
| `freeFormTags` | free form tags that are to be used for tagging the ATP instance. | object | no |
| `definedTags` | The defined tags that are to be used for tagging the ATP instance. | object | No |
| `definedTags` | The defined tags that are to be used for tagging the ATP instance. | object | no |

## Service Binding Request Parameters

Expand All @@ -68,7 +68,7 @@ The user needs to pass the following parameters to get the binding details:

## Service Binding Response Credentials

Users can create binding to get the credentials to use the ATP. The following files/details will be made available to the user
Users can create binding to get the credentials to use the ATP. The following files/details will be made available to the user:

| Parameter | Description | Type |
| ------------------ | ------------------------------------------------------------------------ | ------ |
Expand Down Expand Up @@ -110,7 +110,7 @@ If no brokers are listed then it means the OCI Service Broker is not installed.

#### Sample files

The sample files for ATP are available under [`oci-service-broker/samples/atp`](charts/oci-service-broker/samples/atp) directory.
The sample files for ATP are available under [`oci-service-broker/samples/atp`](../samples/atp) directory.

### Provisioning

Expand All @@ -130,7 +130,7 @@ Please refer [Use Secret to pass passwords](#use-secret-to-pass-passwords) secti
The `atp-instance-plain.yaml` files contain the compartment OCID in which the user wants to provision the ATP instance. The user needs to update it with their compartment OCID.

```bash
kubectl create -f oci-service-broker/samples/atp/atp-instance-plain.yaml
kubectl create -f charts/oci-service-broker/samples/atp/atp-instance-plain.yaml
```

#### Get instance status
Expand Down Expand Up @@ -162,7 +162,7 @@ Once the ATP Instance is provisioned the applications will require credentials/c
- Creating a ServiceBinding resource. This will create a Kubernetes secret with the credentials/configurations.
- The user needs to mount the credentials/configurations into the containers so that application can use this configuration.

A sample Kubernetes resource yaml to create binding.
A sample Kubernetes resource yaml to create binding:

```bash
cat oci-service-broker/samples/atp/atp-binding-plain.yaml
Expand All @@ -174,7 +174,7 @@ cat oci-service-broker/samples/atp/atp-binding-plain.yaml
#### Creating an ATP ServiceBinding resource

```bash
kubectl create -f oci-service-broker/samples/atp/atp-binding-plain.yaml
kubectl create -f charts/oci-service-broker/samples/atp/atp-binding-plain.yaml
```

#### Get Binding status
Expand All @@ -197,7 +197,7 @@ When the ServiceBinding request completes successfully the user should see a sec
kubectl get secrets atp-demo-binding -o yaml
```

Output
Output:

```yaml
apiVersion: v1
Expand Down Expand Up @@ -236,7 +236,7 @@ User need to create secret with DB Admin user password and wallet password. Edit
Create the Secret.

```bash
kubectl create -f oci-service-broker/samples/atp/atp-demo-secret.yaml
kubectl create -f charts/oci-service-broker/samples/atp/atp-demo-secret.yaml
```

#### Deploy sample application
Expand Down Expand Up @@ -331,7 +331,7 @@ Important things to note:
Deploy the app.

```bash
kubectl create -f oci-service-broker/samples/atp/atp-demo.yaml
kubectl create -f charts/oci-service-broker/samples/atp/atp-demo.yaml
```

View the logs.
Expand All @@ -340,7 +340,7 @@ View the logs.
kubectl logs $(kubectl get pod | grep ^atp-demo | grep Running | cut -d" " -f 1)
```

Output
Output:

```plain
-------- Oracle JDBC Connection Testing ------
Expand Down Expand Up @@ -377,13 +377,13 @@ DEFAULT_TABLESPACE:SYSTEM
Deleting the Service binding created in the previous step will result in the secret(that has the credentials) getting deleted. All Service Bindings for a ServiceInstance should be deleted before deleting the ServiceInstance.

```bash
kubectl delete -f oci-service-broker/samples/atp/atp-binding-plain.yaml
kubectl delete -f charts/oci-service-broker/samples/atp/atp-binding-plain.yaml
```

#### Delete Service Instance

```bash
kubectl delete -f oci-service-broker/samples/atp/atp-instance-plain.yaml
kubectl delete -f charts/oci-service-broker/samples/atp/atp-instance-plain.yaml
```

```bash
Expand Down Expand Up @@ -419,17 +419,17 @@ Create Secret:
Edit the values of 'password:' and 'walletPassword:' in `oci-service-broker/samples/atp/atp-secret.yaml` with appropriate base64 encoded strings.

```bash
kubectl create -f oci-service-broker/samples/atp/atp-secret.yaml
kubectl create -f charts/oci-service-broker/samples/atp/atp-secret.yaml
```

Yaml to provision ATP instance with password loaded from Kubernetes Secret (notice parametersFrom part).

```bash
cat oci-service-broker/samples/atp/atp-instance.yaml
cat charts/oci-service-broker/samples/atp/atp-instance.yaml
```

Yaml to provision ATP instance with password loaded from Kubernetes Secret (notice parametersFrom part).

```bash
cat oci-service-broker/samples/atp/atp-binding.yaml
cat charts/oci-service-broker/samples/atp/atp-binding.yaml
```
Loading

0 comments on commit c86ec8b

Please sign in to comment.