cloudfoundry / notifications-release

A BOSH release that contains the notifications application and an errand to push it
Apache License 2.0
6 stars 18 forks source link

Notifications Release

This release deploys the notification service as an application onto the CloudFoundry platform. A running CF is required to deploy. The application will be deployed into the system org, and the notifications-service space. The service registers itself at the address matching http://notifications.$CF_APP_DOMAIN.

Prerequisites

  1. Running UAA. This requirement is typically satisfied by having CloudFoundry deployed.
  2. Running MySQL instance. One option is to deploy the CloudFoundry MySQL release.

UAA Client

Notifications requires a UAA client to boot. The client can be created with the following properties:

scope: uaa.none
client_id: notifications
authorized_grant_types: client_credentials
authorities: scim.read,cloud_controller.admin

Bosh-lite

Tips

Steps

  1. Add SMTP properties to ./bosh-lite/notifications-smtp-stub.yml file as follows:

    properties:
    notifications:
      smtp:
        host: stmp.example.com
        port: 587
        user: my-user-name
        pass: my-password
        auth_mechanism: plain
  2. Add DB properties to ./bosh-lite/notifications-db-stub.yml file for your running MySQL instance as follows:

    properties:
    notifications:
      database:
        url: tcp://user:password@example.com:3306/dbname
  3. Generate manifest:

    ./bosh-lite/make_manifest
  4. Update the sub-modules of the release

    ./update
  5. Upload latest final release from the /releases dir:

    bosh upload release releases/notifications/notifications-X.yml
  6. Deploy

    bosh deploy
    bosh run errand deploy-notifications

AWS

In addition to the stub file properties specified in the BOSH-Lite manifest, an AWS manifest stub file will require some extra infrastructure specific fields. Included below is an example:

infrastructure_properties:
  availability_zone: us-east-1a