Code Monkey home page Code Monkey logo

redis-boshrelease's Introduction

Bosh release for redis Build Status

One of the fastest ways to get redis running on any infrastructure is to deploy this bosh release.

NEW: For consul support for service & health advertisements, see https://github.com/cloudfoundry-community/redis-consul-boshrelease

To find available releases, learn about the jobs and packages in each release visit https://bosh.io/releases/github.com/cloudfoundry-community/redis-boshrelease

Usage

To use this BOSH release, first upload it to your bosh:

bosh upload release https://bosh.io/d/github.com/cloudfoundry-community/redis-boshrelease

To deploy it you will need the source repository that contains templates:

git clone https://github.com/cloudfoundry-community/redis-boshrelease.git
cd redis-boshrelease

For bosh-lite, you can quickly create a deployment manifest & deploy a three-node cluster:

templates/make_manifest warden
bosh -n deploy

For Openstack (Nova Networks), create a three-node cluster:

templates/make_manifest openstack-nova
bosh -n deploy

For AWS EC2, create a three-node clusterg:

templates/make_manifest aws-ec2
bosh -n deploy

To rename the deployment, set the $NAME environment variable:

NAME=my-redis templates/make_manifest warden

Consul service advertisement

If you are using consul, you can co-locate the redis-consul-boshrelease and consul-boshrelease to advertise and health monitor each redis node.

See https://github.com/cloudfoundry-community/redis-consul-boshrelease for instructions, which replace these instructions above.

Once running, to confirm that redis is now discoverable on any VM connected to the consul cluster (including the 3 redis VMs deployed above), target the consul DNS service:

$ bosh ssh redis_leader_z1/0

# dig @127.0.0.1 redis-warden.service.consul +short
10.244.2.14
10.244.2.10
10.244.2.6

# dig @127.0.0.1 master.redis-warden.service.consul +short
10.244.2.6
# dig @127.0.0.1 slave.redis-warden.service.consul +short
10.244.2.14
10.244.2.10

From any machine running the consul agent you can also discover the redis cluster via the HTTP API:

$ curl 127.0.0.1:8500/v1/catalog/services
{"consul":null,"redis":["master","slave","write","read"]}

$ curl 127.0.0.1:8500/v1/catalog/service/redis?tag=master
[{"Node":"redis-warden-redis_leader_z1-0","Address":"10.244.2.6","ServiceID":"redis","ServiceName":"redis","ServiceTags":["master"],"ServicePort":6379}]

Create new final release

To create a new final release you need to get read/write API credentials to the @cloudfoundry-community s3 account.

Please email Dr Nic Williams and he will create unique API credentials for you.

Create a config/private.yml file with the following contents:

---
blobstore:
  s3:
    access_key_id:     ACCESS
    secret_access_key: PRIVATE

You can now create final releases for everyone to enjoy!

bosh create release
# test this dev release
git commit -m "updated redis"
bosh create release --final
git commit -m "creating vXYZ release"
git tag vXYZ
git push origin master --tags

redis-boshrelease's People

Contributors

dennisjbell avatar drnic avatar duncwinn avatar geofffranks avatar hashneo avatar kostyasha avatar lnguyen avatar mkb avatar pmenglund avatar

Watchers

 avatar

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.