Giter Site home page Giter Site logo

elasticache-broker's Introduction

AWS ElastiCache Service Broker Build Status

This is an experimental Cloud Foundry Service Broker for Amazon ElastiCache .

Disclaimer

This is NOT presently a production ready Service Broker. This is a work in progress. It is suitable for experimentation and may not become supported in the future.

Installation

Locally

Using the standard go install (you must have Go already installed in your local machine):

$ go install github.com/cloudfoundry-community/elasticache-broker
$ apefactory-broker -port=3000 -config=<path-to-your-config-file>

Cloud Foundry

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

$ git clone https://github.com/cloudfoundry-community/elasticache-broker.git
$ cd elasticache-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.json config.json
$ cf push elasticache-broker

Docker

If you want to run the AWS ElastiCache Service Broker on a Docker container, you can use the apefactory/elasticache-broker Docker image.

$ docker run -d --name elasticache-broker -p 3000:3000 \
  -e AWS_ACCESS_KEY_ID=<your-aws-access-key-id> \
  -e AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key> \
  apefactory/elasticache-broker

The Docker image cames with an embedded sample configuration file. If you want to override it, you can create the Docker image with you custom configuration file by running:

$ git clone https://github.com/cloudfoundry-community/elasticache-broker.git
$ cd elasticache-broker
$ bin/build-docker-image

BOSH

This broker can be deployed using the AWS Service Broker BOSH Release.

Configuration

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 & Elasticache permissions. Refer to the iam_policy.json file to check what actions the user must be allowed to perform.

Usage

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 migh 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.

Depending on the broker configuration, Application Developers can send arbitrary parameters on certain broker calls:

Provision

Provision calls support the following optional arbitrary parameters:

Option Type Description
preferred_maintenance_window String The weekly time range during which system maintenance can occur (*)

(*) Refer to the Amazon ElastiCache Documentation for more details about how to set these properties

Update

Update calls support the following optional arbitrary parameters:

Option Type Description
apply_immediately Boolean Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the Preferred Maintenance Window setting for the DB instance (*)
preferred_maintenance_window String The weekly time range during which system maintenance can occur (*)

(*) Refer to the Amazon ElastiCache Documentation for more details about how to set these properties

Contributing

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

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

elasticache-broker's People

Contributors

masterofmonkeys avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

apefactory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.