Skip to content

Commit cb959f7

Browse files
authored
Merge pull request #16 from spiegela/1.1.0-refactor
Update to release 1.1.0
2 parents b3c7084 + c6c9ea5 commit cb959f7

16 files changed

+1590
-1076
lines changed

.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
product/*
2-
release/*
1+
product/*
2+
.idea
3+
release/*
4+
*.iml

README.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
## Description
44

5-
*This Project is in a work in progress state currently relase 1.0 GA vesion is available under relase branch*
5+
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).
66

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

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

1816
## Current Status
1917

20-
Currently, the Tile version 1.0 GA is availabe to download and deploy ECS Service Broker.
18+
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/).
2119

2220
## Requirement
2321

24-
* 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
22+
* 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.
2523
* ECS VIP address for Management and Object
2624
* Namespace and Replication group
2725
* ECS SSL cert, to get the ssl cert use ```openssl s_client -connect <ecsvip>:443 –showcert ``` to get ssl
@@ -34,7 +32,7 @@ Currently, the Tile version 1.0 GA is availabe to download and deploy ECS Servic
3432
## Deployment
3533
* Using OpsManager website upload the tile
3634
* Add tile to dashboard
37-
* Configure tile with ECS VIP, namespace, replication group, manangment username password
35+
* Configure tile [according to the documentation](https://docs.pivotal.io/partners/ecs-service-broker/index.html).
3836
* Apply Changes
3937
* Run cf service-brokers to check the broker status
4038

@@ -72,3 +70,15 @@ Valid permissions include:
7270
* none
7371

7472
For more information about the ECS Broker usage please refer to [ECS CF service broker](https://github.com/emccode/final/ecs-cf-service-broker)
73+
74+
### Testing
75+
76+
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:
77+
78+
```shell
79+
# Install Jest.js
80+
$ npm install -g jest-cli
81+
82+
# Run jest
83+
$ jest
84+
```

ci/scripts/create-ecs-broker-tile.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ if [ -n "${VERSION_DIR}" ]; then
4444
VERSION=`cat ${VERSION_DIR}/version`
4545
fi
4646

47-
(cd ${SOURCE_DIR}; $TILE build $DOCKER_DIR $VERSION)
47+
(cd ${SOURCE_DIR}; $TILE build $VERSION)
4848

4949
VERSION=`grep '^version:' ${SOURCE_DIR}/tile-history.yml | sed 's/^version: //'`
5050
HISTORY="tile-history-${VERSION}.yml"

ci/scripts/task.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
platform: "linux"
33
image: "docker:///concourse/concourse-ci" # Run inside a docker image that bundles bosh cli
44
params:
5-
RELEASE_VERSION: # Comes from Environment variable
6-
RELEASE_NAME:
7-
TILE_VERSION: 0.9.0
8-
PRODUCT_VERSION: 1.5
5+
RELEASE_VERSION: 1.1.0
6+
RELEASE_NAME: ecs-broker-tile
7+
TILE_VERSION: 1.1.0
8+
PRODUCT_VERSION: 1.1.0
99

1010
inputs:
11-
- name: "release"
12-
- name: "repo"
11+
- name: "release"
12+
- name: "repo"
1313

1414
run:
1515
path: "repo/ci/scripts/create-ecs-broker-tile.sh"

docs-content/index.html.md.erb

Lines changed: 73 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,73 @@
1-
---
2-
title: ECS Service Broker for PCF
3-
owner: Partners
4-
---
5-
6-
This documentation describes ECS Service Broker for Pivotal Cloud Foundry (PCF).
7-
8-
## <a id="overview"></a> Overview
9-
10-
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.
11-
12-
## <a id='overview'></a>Key Features
13-
14-
ECS Service Broker for PCF lets you do the following:
15-
16-
* Create and delete object storage buckets.
17-
* Create and delete object storage namespaces.
18-
* Bind one or more Cloud Foundry apps to a bucket or namespace, with unique credentials and permissions for each app.
19-
* Support quota-enforced plans for buckets to limit the amount of capacity.
20-
* Support encryption and retention of namespaces.
21-
* Change plans of an existing bucket.
22-
* Browse Cloud Foundry instance and binding metadata through an internal bucket.
23-
* Specify an ECS namespace and replication group for provisioning.
24-
* Provide a string prefix for bucket and user names.
25-
* Support a self-signed SSL certificate for the ECS management API.
26-
* Configure offered services and plans through a tile or YAML based configuration.
27-
* Support file system mounts of file access enabled buckets via NFS.
28-
29-
## <a id="snapshot"></a>Product Snapshot
30-
31-
<table class="nice">
32-
<th>Element</th>
33-
<th>Details</th>
34-
<tr>
35-
<td>Tile Version</td>
36-
<td>v1.0.1</td>
37-
</tr>
38-
<tr>
39-
<td>Release date</td>
40-
<td>September 5, 2017</td>
41-
</tr>
42-
<tr>
43-
<td>Software component version</td>
44-
<td>v1.0.1</td>
45-
</tr>
46-
<tr>
47-
<td>Compatible Ops Manager version(s)</td>
48-
<td>v1.10.x and later</td>
49-
</tr>
50-
<tr>
51-
<td>Compatible Elastic Runtime version(s)</td>
52-
<td>v1.10.x and later</td>
53-
</tr>
54-
<tr>
55-
<td>IaaS support</td>
56-
<td>AWS, Azure, OpenStack, and vSphere</td>
57-
</tr>
58-
<tr>
59-
<td>IPsec support?</td>
60-
<td>No</td>
61-
</tr>
62-
</table>
63-
64-
## <a id="reqs"></a>Requirements
65-
66-
ECS Service Broker for PCF has the following requirements:
67-
68-
+ [Elastic Runtime](https://network.pivotal.io/products/elastic-runtime) v1.10
69-
70-
## <a id="feedback"></a>Feedback
71-
72-
Report bugs, make feature requests, or ask questions on the
73-
[Pivotal Cloud Foundry Feedback](mailto:[email protected]) list, or send an email to [ECS Customer Support](mailto:[email protected]).
1+
---
2+
title: ECS Service Broker for PCF
3+
owner: Partners
4+
---
5+
6+
This documentation describes ECS Service Broker for Pivotal Cloud Foundry (PCF).
7+
8+
## <a id="overview"></a> Overview
9+
10+
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.
11+
12+
## <a id='overview'></a>Key Features
13+
14+
ECS Service Broker for PCF lets you do the following:
15+
16+
* Create and delete object storage buckets.
17+
* Create and delete object storage namespaces.
18+
* Bind one or more Cloud Foundry apps to a bucket or namespace, with unique credentials and permissions for each app.
19+
* Support quota-enforced plans for buckets to limit the amount of capacity.
20+
* Support encryption and retention of namespaces.
21+
* Change plans of an existing bucket.
22+
* Browse Cloud Foundry instance and binding metadata through an internal bucket.
23+
* Specify an ECS namespace and replication group for provisioning.
24+
* Provide a string prefix for bucket and user names.
25+
* Support a self-signed SSL certificate for the ECS management API.
26+
* Configure offered services and plans through a tile or YAML based configuration.
27+
* Support file system mounts of file access enabled buckets via NFS.
28+
29+
## <a id="snapshot"></a>Product Snapshot
30+
31+
<table class="nice">
32+
<th>Element</th>
33+
<th>Details</th>
34+
<tr>
35+
<td>Tile Version</td>
36+
<td>v1.0.1</td>
37+
</tr>
38+
<tr>
39+
<td>Release date</td>
40+
<td>September 5, 2017</td>
41+
</tr>
42+
<tr>
43+
<td>Software component version</td>
44+
<td>v1.0.1</td>
45+
</tr>
46+
<tr>
47+
<td>Compatible Ops Manager version(s)</td>
48+
<td>v1.10.x and later</td>
49+
</tr>
50+
<tr>
51+
<td>Compatible Elastic Runtime version(s)</td>
52+
<td>v1.10.x and later</td>
53+
</tr>
54+
<tr>
55+
<td>IaaS support</td>
56+
<td>AWS, Azure, OpenStack, and vSphere</td>
57+
</tr>
58+
<tr>
59+
<td>IPsec support?</td>
60+
<td>No</td>
61+
</tr>
62+
</table>
63+
64+
## <a id="reqs"></a>Requirements
65+
66+
ECS Service Broker for PCF has the following requirements:
67+
68+
+ [Elastic Runtime](https://network.pivotal.io/products/elastic-runtime) v1.10
69+
70+
## <a id="feedback"></a>Feedback
71+
72+
Report bugs, make feature requests, or ask questions on the
73+
[Pivotal Cloud Foundry Feedback](mailto:[email protected]) list, or send an email to [ECS Customer Support](mailto:[email protected]).
Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
---
2-
title: Release Notes for ECS Service Broker for PCF
3-
owner: Partners
4-
---
5-
6-
##<a id="ver"></a> v1.0.1
7-
8-
**Release Date:** Oct 17, 2017
9-
10-
Fixes included in this release:
11-
12-
* Properly serialize the `broker-api-version` property, as a string
13-
* Enable service-access for all services
14-
15-
Features included in this release:
16-
17-
* Improve tile form layout and descriptions
18-
* Support administrator configured catalog services
19-
* Use credhub for service broker credentials
20-
21-
##<a id="ver"></a> v1.0
22-
23-
**Release Date:** Aug 24, 2017
24-
25-
Features included in this release:
26-
27-
* On-Demand service instance provisioning
28-
* Requires stemcell 3312.12
29-
* Supports PCF v1.10.x and later
1+
---
2+
title: Release Notes for ECS Service Broker for PCF
3+
owner: Partners
4+
---
5+
6+
##<a id="ver"></a> v1.0.1
7+
8+
**Release Date:** Oct 17, 2017
9+
10+
Fixes included in this release:
11+
12+
* Properly serialize the `broker-api-version` property, as a string
13+
* Enable service-access for all services
14+
15+
Features included in this release:
16+
17+
* Improve tile form layout and descriptions
18+
* Support administrator configured catalog services
19+
* Use credhub for service broker credentials
20+
21+
##<a id="ver"></a> v1.0
22+
23+
**Release Date:** Aug 24, 2017
24+
25+
Features included in this release:
26+
27+
* On-Demand service instance provisioning
28+
* Requires stemcell 3312.12
29+
* Supports PCF v1.10.x and later

jest.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
verbose: true,
3+
testRegex: ".*_test.js$"
4+
};
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
exports.migrate = function (input) {
2+
if (getCurrentProductVersion() === "1.0.0") {
3+
// rename properties in latest release
4+
input.properties['.properties.broker_management_endpoint'] = input.properties['.properties.managementendpoint'];
5+
delete input.properties['.properties.managmentendpoint'];
6+
7+
input.properties['.properties.broker_replication_group'] = input.properties['.properties.replicationgroup'];
8+
delete input.properties['.properties.replicationgroup'];
9+
10+
input.properties['.properties.broker_namespace'] = input.properties['.properties.namespace'];
11+
delete input.properties['.properties.namespace'];
12+
13+
input.properties['.properties.broker_object_endpoint'] = input.properties['.properties.objectendpoint'];
14+
delete input.properties['.properties.objectendpoint'];
15+
16+
input.properties['.properties.broker_base_url'] = input.properties['.properties.baseurl'];
17+
delete input.properties['.properties.baseurl'];
18+
19+
input.properties['.properties.broker_prefix'] = input.properties['.properties.prefix'];
20+
delete input.properties['.properties.prefix'];
21+
22+
input.properties['.properties.broker_repository_endpoint'] = input.properties['.properties.repositoryendpoint'];
23+
delete input.properties['.properties.repositoryendpoint'];
24+
25+
input.properties['.properties.broker_repository_bucket'] = input.properties['.properties.repositorybucket'];
26+
delete input.properties['.properties.repositorybucket'];
27+
28+
input.properties['.properties.broker_repository_user'] = input.properties['.properties.repositoryuser'];
29+
delete input.properties['.properties.repositoryuser'];
30+
31+
input.properties['.properties.security_user_name'] = input.properties['.properties.securityuser'];
32+
delete input.properties['.properties.securityuser'];
33+
34+
input.properties['.properties.security_user_password'] = input.properties['.properties.securitypassword'];
35+
delete input.properties['.properties.password'];
36+
37+
input.properties['.properties.broker_username'] = input.properties['.properties.username'];
38+
delete input.properties['.properties.username'];
39+
40+
input.properties['.properties.broker_password'] = input.properties['.properties.password'];
41+
delete input.properties['.properties.password'];
42+
43+
if (input.properties['.properties.certificate']) {
44+
input.properties['.properties.certificate_selector'] = {value: "No"};
45+
input.properties['.properties.certificate_selector.untrusted_ssl.certificate'] =
46+
input.properties['.properties.certificate'];
47+
}
48+
delete input.properties['.properties.certificate'];
49+
}
50+
51+
return input;
52+
};

0 commit comments

Comments
 (0)