Apigee Volos

用于构建生产质量 API 的关键 Node.js 模块。「Key Node.js modules for building production-quality APIs」

Github星跟蹤圖

Status](https://coveralls.io/repos/github/apigee-127/volos/badge.svg?branch=master)](https://coveralls.io/github/apigee-127/volos?branch=master)

Apigee Volos

Volos is an open source Node.js solution for developing and deploying production-level APIs. Volos provides a way to
leverage common features such as OAuth 2.0, Caching, and Quota Management into your
APIs with maximum joy.

All modules are exposed with well-defined interfaces and full test suites such that, for example, changing between a
memory-backed Cache or Quota implementation to a Redis-backed one requires only a simple configuration change. In
addition, all modules also have the option to proxy to Apigee Edge.

Finally, all modules include Connect, Express, and Volos middleware for easy integration into http proxies and
applications.


Quick start

Check out the training sample.


Usage

Apigee Proxy

All modules are capable of using Apigee Edge as a commercially supported, hardened and distributed backend
implementation (though this is not required). If you intend to use the Apigee Edge implementations, you'll need to
install an Apigee proxy into your Application on the Apigee Edge server.
See Apigee proxy installation

Core Modules

The following modules are part of the core of Volos and are available for inclusion in your project via npm:

OAuth 2.0

OAuth 2.0 support with bearer tokens and all the standard grant types. Includes a raw API, plus middleware for
Express and Argo.

Two implementations are supported:

Quota

Support for "quotas" as implemented in many APIs -- count API calls by minute, hour, day, and week and reject them
when they are exceeded.

Three implementations are supported:

Cache

A simple cache module, supporting "put, "get," and "delete" of string keys and binary values.

Three implementations are supported:

Support Modules

volos-management-apigee

This is a small module that wraps the Apigee management API for creating developers, applications, and the like.
It is deliberately separated from the runtime because these operations should not happen often and do not
necessarily support high volume. This module is mainly used for testing.

volos-management-redis

This is the equivalent management module for Redis.


Development

If you're developing on this project, it is easiest to link all the various modules into your node_modules directory
so they all run locally instead of pulling from npm. To do this, just run:

    npm install

and then:

    bin/link

Testing

Test scripts are written using "mocha." Install mocha if you haven't already like this:

    npm install -g mocha

To test Apigee providers:

  1. Install the "proxy" module on an Apigee application. See the instructions here.
  2. In the "testconfig" directory, copy "testconfig-apigee-sample.js" to "testconfig-apigee.js" and edit the values.
    You will need to specify the location of your proxy as well as the key and secret for the application.
  3. Run mocha in each apigee/test directory you wish you test.

To test Redis providers:

  1. Install and start a redis server.
  2. In the "common" directory, copy "testconfig-redis-sample.js" to "testconfig-redis.js" and edit the values if necessary.
  3. Run mocha in each redis/test in order to run the tests for that module.

Support

The support model for Volos is 'community support' only. This means that you can use publicly-available resources
to solicit assistance from the Volos developer community. Apigee does not offer official support for this product.

Having Problems?

If you are having issues with Volos please do one or both of the following:

  1. Open an issue in the GitHub issue tracker
  2. Ask a question on Stack Overflow

We will do our best to help you resolve the issue as soon as possible.

主要指標

概覽
名稱與所有者apigee-127/volos
主編程語言JavaScript
編程語言JavaScript (語言數: 2)
平台
許可證Other
所有者活动
創建於2013-10-14 19:22:04
推送於2025-06-03 06:15:46
最后一次提交2024-12-12 23:48:58
發布數1
最新版本名稱0.11.6 (發布於 2019-05-17 09:15:00)
第一版名稱0.11.6 (發布於 2019-05-17 09:15:00)
用户参与
星數205
關注者數28
派生數62
提交數640
已啟用問題?
問題數87
打開的問題數19
拉請求數50
打開的拉請求數18
關閉的拉請求數34
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?