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

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
The Oracle Cloud Infrastructure Service Broker is an open source implementation of Open service broker API Spec for OCI services. Customers can use this implementation to install Open Service Broker in Oracle Container Engine for Kubernetes or in other Kubernetes clusters.

This project includes Oracle Cloud Infrastructure Service Broker source code, helm chart, samples and documentation.

Contributors: - Shyam Radhakrishnan, Ashokkumar Kannan, Jayasheelan Kumar, Naman Mehta, David Cabelus, Prasad Subramanian.
  • Loading branch information
jayasheelankumar committed Apr 11, 2019
0 parents commit b850e7b
Show file tree
Hide file tree
Showing 124 changed files with 13,720 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
oci-service-broker/.gradle/
oci-service-broker/.classpath
oci-service-broker/.project
oci-service-broker/.settings/
oci-service-broker/bin/
/oci-service-broker/out/
/oci-service-broker/libs/
**/.gradle/
**/.idea/
**/.vscode/
**/*.iml
**/build/
**/oci_api_key.pem
**/gradle.properties
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

[1.0.0]

- The initial release of oci-service-broker supports following services:

- Object Storage Service.
- Autonomous Transaction Processing.
- Autonomous Data Warehouse.

- Helm chart for deploying oci-service-broker in Kubernetes.
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Contributing to the OCI Service Broker

_Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved._
_Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl._

Pull requests can be made under [The Oracle Contributor Agreement](https://www.oracle.com/technetwork/community/oca-486395.html) (OCA).

For pull requests to be accepted, the bottom of your commit message must have the following line using your name and e-mail address as it appears in the OCA Signatories list.

```plain
Signed-off-by: Your Name <[email protected]>
```

This can be automatically added to pull requests by committing with:

```sh
git commit --signoff
```

Only pull requests from committers that can be verified as having signed the OCA can be accepted.
29 changes: 29 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Oracle Cloud Infrastructure Service Broker
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.

This software is licensed to you under the Universal Permissive License (UPL), Version 1.0.

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.
85 changes: 85 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# OCI Service Broker

## Introduction

The OCI Service Broker is an open source implementation of [Open service broker API Spec](https://github.com/openservicebrokerapi/servicebroker/blob/v2.14/spec.md) for OCI services. Customers can use this implementation to install Open Service Broker in [Oracle Container Engine for Kubernetes](https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm) or in other Kubernetes clusters. This implementation is targeted to achieve:

* Easy installation.
* Easy extension.
* Provide OOTB implementations for common OCI services.
* OCI Service Broker Installation.

**Services Supported**

1. [Object Storage](https://docs.cloud.oracle.com/iaas/Content/Object/Concepts/objectstorageoverview.htm)
1. [Autonomous Transaction Processing](https://www.oracle.com/in/database/autonomous-transaction-processing.html)
1. [Autonomous Data Warehouse](https://www.oracle.com/in/database/data-warehouse.html)

## Installation

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.
## Samples
Samples for creating Service Instances and Bindings using `oci-service-broker`, can be found [here](charts/oci-service-broker/samples).
## Troubleshooting
See [Troubleshooting](charts/oci-service-broker/docs/troubleshoot.md#troubleshooting-guide-for-oci-service-broker) document for details on debugging common and known issues.
## Changes
See [CHANGELOG](CHANGELOG.md).
## Contributing
`oci-service-broker` is an open source project. See [CONTRIBUTING](CONTRIBUTING.md) for details.
Oracle gratefully acknowledges the contributions to `oci-service-broker` that have been made by the community.
## License
Copyright (c) 2019, Oracle and/or its affiliates.
This software is available under the [Universal Permissive License v 1.0](http://oss.oracle.com/licenses/upl)
See [LICENSE.txt](LICENSE.txt) for more details.
Loading

0 comments on commit b850e7b

Please sign in to comment.