Skip to content

Commit

Permalink
Merge pull request #16 from spiegela/1.1.0-refactor
Browse files Browse the repository at this point in the history
Update to release 1.1.0
  • Loading branch information
spiegela authored Aug 23, 2018
2 parents b3c7084 + c6c9ea5 commit cb959f7
Show file tree
Hide file tree
Showing 16 changed files with 1,590 additions and 1,076 deletions.
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
product/*
release/*
product/*
.idea
release/*
*.iml
24 changes: 17 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

## Description

*This Project is in a work in progress state currently relase 1.0 GA vesion is available under relase branch*
This tile is created using the [Pivotal Tile Generator](https://docs.pivotal.io/tiledev/2-2/tile-generator.html) and deploys a service-broker application as a CF app. It deploys a sister project, the [ECS Service Broker](https://github.com/thecodeteam/ecs-cf-service-broker). For more instructions on using the broker once deployed, refer to the [Pivotal Network documentation](https://docs.pivotal.io/partners/ecs-service-broker/index.html).

A BOSH release for the [ECS CF service broker](https://github.com/emccode/final/ecs-cf-service-broker).
It is based on [BOSH Generic SB Release](https://github.com/cf-platform-eng/bosh-generic-sb-release),
and along with packages for the CF CLI and the broker itself exposes the following BOSH Errands:
This tile implements the following tile generator errands:

* **deploy-service-broker**: Deploy the broker as a CF app.
* **register-broker**: Register the deployed broker with CF as service broker.
Expand All @@ -17,11 +15,11 @@ be configured from the PCF Ops Manager.

## Current Status

Currently, the Tile version 1.0 GA is availabe to download and deploy ECS Service Broker.
Currently, the Tile version 1.1.0 is availabe for download via the [Pivotal Network product page](https://network.pivotal.io/products/ecs-service-broker/).

## Requirement

* ECS Cluster configured and runing. If you do not have one please refer to [ECS Test Drive](https://portal.ecstestdrive.com) to create an account
* ECS Cluster configured and running. If you do not have one please refer to [ECS Test Drive](https://portal.ecstestdrive.com) to create an account.
* ECS VIP address for Management and Object
* Namespace and Replication group
* ECS SSL cert, to get the ssl cert use ```openssl s_client -connect <ecsvip>:443 –showcert ``` to get ssl
Expand All @@ -34,7 +32,7 @@ Currently, the Tile version 1.0 GA is availabe to download and deploy ECS Servic
## Deployment
* Using OpsManager website upload the tile
* Add tile to dashboard
* Configure tile with ECS VIP, namespace, replication group, manangment username password
* Configure tile [according to the documentation](https://docs.pivotal.io/partners/ecs-service-broker/index.html).
* Apply Changes
* Run cf service-brokers to check the broker status

Expand Down Expand Up @@ -72,3 +70,15 @@ Valid permissions include:
* none

For more information about the ECS Broker usage please refer to [ECS CF service broker](https://github.com/emccode/final/ecs-cf-service-broker)

### Testing

Currently, tests are implemented for tile migrations using [Jest.js](https://jestjs.io). To run the tests install the `jest-cli` globally with NPM or yarn:

```shell
# Install Jest.js
$ npm install -g jest-cli

# Run jest
$ jest
```
2 changes: 1 addition & 1 deletion ci/scripts/create-ecs-broker-tile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ if [ -n "${VERSION_DIR}" ]; then
VERSION=`cat ${VERSION_DIR}/version`
fi

(cd ${SOURCE_DIR}; $TILE build $DOCKER_DIR $VERSION)
(cd ${SOURCE_DIR}; $TILE build $VERSION)

VERSION=`grep '^version:' ${SOURCE_DIR}/tile-history.yml | sed 's/^version: //'`
HISTORY="tile-history-${VERSION}.yml"
Expand Down
12 changes: 6 additions & 6 deletions ci/scripts/task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
platform: "linux"
image: "docker:///concourse/concourse-ci" # Run inside a docker image that bundles bosh cli
params:
RELEASE_VERSION: # Comes from Environment variable
RELEASE_NAME:
TILE_VERSION: 0.9.0
PRODUCT_VERSION: 1.5
RELEASE_VERSION: 1.1.0
RELEASE_NAME: ecs-broker-tile
TILE_VERSION: 1.1.0
PRODUCT_VERSION: 1.1.0

inputs:
- name: "release"
- name: "repo"
- name: "release"
- name: "repo"

run:
path: "repo/ci/scripts/create-ecs-broker-tile.sh"
146 changes: 73 additions & 73 deletions docs-content/index.html.md.erb
Original file line number Diff line number Diff line change
@@ -1,73 +1,73 @@
---
title: ECS Service Broker for PCF
owner: Partners
---

This documentation describes ECS Service Broker for Pivotal Cloud Foundry (PCF).

## <a id="overview"></a> Overview

ECS Service Broker for PCF registers a service broker on PCF and exposes its service plans on the Marketplace. Developers can provision buckets by creating instances of service plans using Apps Manager or the cf Command Line Interface (CLI) tool.

## <a id='overview'></a>Key Features

ECS Service Broker for PCF lets you do the following:

* Create and delete object storage buckets.
* Create and delete object storage namespaces.
* Bind one or more Cloud Foundry apps to a bucket or namespace, with unique credentials and permissions for each app.
* Support quota-enforced plans for buckets to limit the amount of capacity.
* Support encryption and retention of namespaces.
* Change plans of an existing bucket.
* Browse Cloud Foundry instance and binding metadata through an internal bucket.
* Specify an ECS namespace and replication group for provisioning.
* Provide a string prefix for bucket and user names.
* Support a self-signed SSL certificate for the ECS management API.
* Configure offered services and plans through a tile or YAML based configuration.
* Support file system mounts of file access enabled buckets via NFS.

## <a id="snapshot"></a>Product Snapshot

<table class="nice">
<th>Element</th>
<th>Details</th>
<tr>
<td>Tile Version</td>
<td>v1.0.1</td>
</tr>
<tr>
<td>Release date</td>
<td>September 5, 2017</td>
</tr>
<tr>
<td>Software component version</td>
<td>v1.0.1</td>
</tr>
<tr>
<td>Compatible Ops Manager version(s)</td>
<td>v1.10.x and later</td>
</tr>
<tr>
<td>Compatible Elastic Runtime version(s)</td>
<td>v1.10.x and later</td>
</tr>
<tr>
<td>IaaS support</td>
<td>AWS, Azure, OpenStack, and vSphere</td>
</tr>
<tr>
<td>IPsec support?</td>
<td>No</td>
</tr>
</table>

## <a id="reqs"></a>Requirements

ECS Service Broker for PCF has the following requirements:

+ [Elastic Runtime](https://network.pivotal.io/products/elastic-runtime) v1.10

## <a id="feedback"></a>Feedback

Report bugs, make feature requests, or ask questions on the
[Pivotal Cloud Foundry Feedback](mailto:[email protected]) list, or send an email to [ECS Customer Support](mailto:[email protected]).
---
title: ECS Service Broker for PCF
owner: Partners
---

This documentation describes ECS Service Broker for Pivotal Cloud Foundry (PCF).

## <a id="overview"></a> Overview

ECS Service Broker for PCF registers a service broker on PCF and exposes its service plans on the Marketplace. Developers can provision buckets by creating instances of service plans using Apps Manager or the cf Command Line Interface (CLI) tool.

## <a id='overview'></a>Key Features

ECS Service Broker for PCF lets you do the following:

* Create and delete object storage buckets.
* Create and delete object storage namespaces.
* Bind one or more Cloud Foundry apps to a bucket or namespace, with unique credentials and permissions for each app.
* Support quota-enforced plans for buckets to limit the amount of capacity.
* Support encryption and retention of namespaces.
* Change plans of an existing bucket.
* Browse Cloud Foundry instance and binding metadata through an internal bucket.
* Specify an ECS namespace and replication group for provisioning.
* Provide a string prefix for bucket and user names.
* Support a self-signed SSL certificate for the ECS management API.
* Configure offered services and plans through a tile or YAML based configuration.
* Support file system mounts of file access enabled buckets via NFS.

## <a id="snapshot"></a>Product Snapshot

<table class="nice">
<th>Element</th>
<th>Details</th>
<tr>
<td>Tile Version</td>
<td>v1.0.1</td>
</tr>
<tr>
<td>Release date</td>
<td>September 5, 2017</td>
</tr>
<tr>
<td>Software component version</td>
<td>v1.0.1</td>
</tr>
<tr>
<td>Compatible Ops Manager version(s)</td>
<td>v1.10.x and later</td>
</tr>
<tr>
<td>Compatible Elastic Runtime version(s)</td>
<td>v1.10.x and later</td>
</tr>
<tr>
<td>IaaS support</td>
<td>AWS, Azure, OpenStack, and vSphere</td>
</tr>
<tr>
<td>IPsec support?</td>
<td>No</td>
</tr>
</table>

## <a id="reqs"></a>Requirements

ECS Service Broker for PCF has the following requirements:

+ [Elastic Runtime](https://network.pivotal.io/products/elastic-runtime) v1.10

## <a id="feedback"></a>Feedback

Report bugs, make feature requests, or ask questions on the
[Pivotal Cloud Foundry Feedback](mailto:[email protected]) list, or send an email to [ECS Customer Support](mailto:[email protected]).
58 changes: 29 additions & 29 deletions docs-content/release-notes.html.md.erb
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
---
title: Release Notes for ECS Service Broker for PCF
owner: Partners
---

##<a id="ver"></a> v1.0.1

**Release Date:** Oct 17, 2017

Fixes included in this release:

* Properly serialize the `broker-api-version` property, as a string
* Enable service-access for all services

Features included in this release:

* Improve tile form layout and descriptions
* Support administrator configured catalog services
* Use credhub for service broker credentials

##<a id="ver"></a> v1.0

**Release Date:** Aug 24, 2017

Features included in this release:

* On-Demand service instance provisioning
* Requires stemcell 3312.12
* Supports PCF v1.10.x and later
---
title: Release Notes for ECS Service Broker for PCF
owner: Partners
---

##<a id="ver"></a> v1.0.1

**Release Date:** Oct 17, 2017

Fixes included in this release:

* Properly serialize the `broker-api-version` property, as a string
* Enable service-access for all services

Features included in this release:

* Improve tile form layout and descriptions
* Support administrator configured catalog services
* Use credhub for service broker credentials

##<a id="ver"></a> v1.0

**Release Date:** Aug 24, 2017

Features included in this release:

* On-Demand service instance provisioning
* Requires stemcell 3312.12
* Supports PCF v1.10.x and later
4 changes: 4 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
verbose: true,
testRegex: ".*_test.js$"
};
52 changes: 52 additions & 0 deletions migrations/v1/201710181816_1_0_update.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
exports.migrate = function (input) {
if (getCurrentProductVersion() === "1.0.0") {
// rename properties in latest release
input.properties['.properties.broker_management_endpoint'] = input.properties['.properties.managementendpoint'];
delete input.properties['.properties.managmentendpoint'];

input.properties['.properties.broker_replication_group'] = input.properties['.properties.replicationgroup'];
delete input.properties['.properties.replicationgroup'];

input.properties['.properties.broker_namespace'] = input.properties['.properties.namespace'];
delete input.properties['.properties.namespace'];

input.properties['.properties.broker_object_endpoint'] = input.properties['.properties.objectendpoint'];
delete input.properties['.properties.objectendpoint'];

input.properties['.properties.broker_base_url'] = input.properties['.properties.baseurl'];
delete input.properties['.properties.baseurl'];

input.properties['.properties.broker_prefix'] = input.properties['.properties.prefix'];
delete input.properties['.properties.prefix'];

input.properties['.properties.broker_repository_endpoint'] = input.properties['.properties.repositoryendpoint'];
delete input.properties['.properties.repositoryendpoint'];

input.properties['.properties.broker_repository_bucket'] = input.properties['.properties.repositorybucket'];
delete input.properties['.properties.repositorybucket'];

input.properties['.properties.broker_repository_user'] = input.properties['.properties.repositoryuser'];
delete input.properties['.properties.repositoryuser'];

input.properties['.properties.security_user_name'] = input.properties['.properties.securityuser'];
delete input.properties['.properties.securityuser'];

input.properties['.properties.security_user_password'] = input.properties['.properties.securitypassword'];
delete input.properties['.properties.password'];

input.properties['.properties.broker_username'] = input.properties['.properties.username'];
delete input.properties['.properties.username'];

input.properties['.properties.broker_password'] = input.properties['.properties.password'];
delete input.properties['.properties.password'];

if (input.properties['.properties.certificate']) {
input.properties['.properties.certificate_selector'] = {value: "No"};
input.properties['.properties.certificate_selector.untrusted_ssl.certificate'] =
input.properties['.properties.certificate'];
}
delete input.properties['.properties.certificate'];
}

return input;
};
Loading

0 comments on commit cb959f7

Please sign in to comment.