Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 12, 2023 13:35
May 1, 2023 18:36
October 12, 2023 13:35
July 16, 2016 17:18
July 16, 2016 17:18
September 18, 2023 09:51
July 16, 2016 17:18
October 12, 2023 13:35
October 12, 2023 13:35
July 16, 2016 17:18
October 12, 2023 13:35
October 12, 2023 13:35
September 14, 2020 09:17

AWS S3 Service Broker Build Status

This is a Cloud Foundry Service Broker for Amazon S3.


Local Development

To run the latest version of the broker without cloning the repository, install using go install (you must have Go already installed in your local machine):

$ go install
$ s3-broker -port=3000 -config=<path-to-your-config-file>

To develop the broker, clone the repository and run it with go run:

git clone && cd s3-broker
go run . -port=3000 -config=<path-to-your-config-file>

Cloud Foundry

The broker can be deployed to an already existing Cloud Foundry installation:

$ git clone
$ cd s3-broker

Modify the included manifest file to include your AWS credentials and optionally the sample configuration file. Then you can push the broker to your Cloud Foundry environment:

$ cp config-sample.yml config.yml
$ cf push s3-broker


Refer to the Configuration instructions for details about configuring this broker.

This broker gets the AWS credentials from the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. It requires a user with some IAM & S3 permissions. Refer to the iam_policy.json file to check what actions the user must be allowed to perform.


Managing Service Broker

Configure and deploy the broker using one of the above methods. Then:

  1. Check that your Cloud Foundry installation supports Service Broker API Version v2.6 or greater
  2. Register the broker within your Cloud Foundry installation;
  3. Make Services and Plans public;
  4. Depending on your Cloud Foundry settings, you might also need to create/bind an Application Security Group to allow access to the different cluster caches.

Integrating Service Instances with Applications

Application Developers can start to consume the services using the standard CF CLI commands.

Binding to multiple instances

If the operator provides credentials for a Cloud Foundry user or client with the cloud_controller.admin_read_only scope, users can create application bindings and service keys that grant access to additional service instances in the same Cloud Foundry space. This can be useful for copying files between buckets.

cf bind-service my-app my-s3-instance -c '{"additional_instances": ["my-additional-s3-instance"]}'


In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

  • by using alpha, beta, and prerelease versions
  • by reporting bugs
  • by suggesting new features
  • by writing or editing documentation
  • by writing specifications
  • by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)
  • by refactoring code
  • by closing issues
  • by reviewing patches

Submitting an Issue

We use the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn't already been submitted. You can indicate support for an existing issue by voting it up. When submitting a bug report, please include a Gist that includes a stack trace and any details that may be necessary to reproduce the bug, including your Golang version and operating system. Ideally, a bug report should include a pull request with failing specs.

Submitting a Pull Request

  1. Fork the project.
  2. Create a topic branch.
  3. Implement your feature or bug fix.
  4. Commit and push your changes.
  5. Submit a pull request.


Copyright (c) 2016 ape factory GmbH. See LICENSE for details.


No description, website, or topics provided.







No releases published


No packages published