Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    cf-runtimepublic

    cf-runtime

    cf-runtime is a Node.js module that provides API to Cloud Foundry platform. It provides easy access to Cloud Foundry application properties and services.

    Installation

    npm install cf-runtime

    If cloned from github install dependencies:

    npm install -d

    Tests

    Run basic tests:

    npm test

    To run integration tests copy services.conf.template to services.conf with specified services connection properties and run:

    TESTS=integration npm test

    Usage

    var cf = require('cf-runtime')
    var app = cf.CloudApp
     
    // Check if application is running on Cloud Foundry
     
    app.runningInCloud
     
    // Get application properties
     
    app.host
    app.port
     
    // Get the list of application service names
     
    app.serviceNames
     
    // Obtain connection properties for single service of type Redis
     
    app.serviceProps.redis
     
    // Obtain connection properties for service named 'redis-service-name'
     
    app.serviceProps['redis-service-name']
     
    // Obtain the list of service names of specific type
     
    app.serviceNamesOfType.redis
     
    // Check if service of the given type is available
     
    cf.RedisClient !== undefined
     
    // Connect to a single service of type Redis
     
    var redisClient = cf.RedisClient.create()
     
    // Connect to mysql service named 'redis-service-name'
     
    var redisClient = cf.RedisClient.createFromSvc('redis-service-name')
     

    Service properties

    • name
    • label (service type)
    • version
    • host
    • port
    • username
    • password

    Additional properties

    Rabbitmq:

    • url
    • vhost

    MongoDB:

    • db
    • url

    Postgresql, Mysql, Redis:

    • database

    Service clients

    This is the list of Node.js modules that are used to provide connection to Cloud Foundry services:

    AMQP client

    Node module: amqp

    Functions:

    • cf.AMQPClient.create([implOptions]) - creates and returns an amqp client instance connected to a single rabbitmq service
    • cf.AMQPClient.createFromSvc(name, [implOptions]) - creates and returns an amqp client instance connected to a rabbitmq service with the specified name

    Parameters:

    implOptions - optional {object} non-connection related implementation options

    Returns: AMQP client instance

    Mongodb client

    Node module: mongodb

    Functions:

    • cf.MongoClient.create([options], callback) - creates a mongodb client instance connected to a single mongodb service and executes provided callback
    • cf.MongoClient.createFromSvc(name, [options], callback) - creates a mongodb client instance connected to a mongodb service with the specified name and executes provided callback

    Parameters:

    options - optional {object} non-connection related options callback - {function} connection callback

    Returns: null

    Mysql client

    Node module: mysql

    Functions:

    • cf.MysqlClient.create([options]) - creates and returns a mysql client instance connected to a single mysql service
    • cf.MysqlClient.createFromSvc(name, [options]) - creates and returns a mysql client instance connected to a mysql service with the specified name

    Parameters:

    options - optional {object} non-connection related options

    Returns: Mysql client instance

    Postgresql client

    Node module: pg

    Functions:

    • cf.PGClient.create(callback) - creates a postgresql client instance connected to a single postgresql service and executes provided callback
    • cf.PGClient.createFromSvc(name, callback) - creates a postgresql client instance connected to a postgresql service with the specified name and executes provided callback

    Parameters:

    callback - {function} connection callback

    Returns: {boolean}

    Redis client

    Node module: redis

    Functions:

    • cf.RedisClient.create([options]) - creates and returns a redis client instance connected to a single redis service
    • cf.RedisClient.createFromSvc(name, [options]) - creates and returns a redis client instance connected to a redis service with the specified name

    Parameters:

    options - optional {object} non-connection related options

    Returns: Redis client instance

    Keywords

    none

    install

    npm i cf-runtime

    Downloadsweekly downloads

    4

    version

    0.0.1

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar