@holo-host/chaperone
Holo's restricted web zone for managing an Agent's identity and connections
Last updated a month ago by brisebom .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @holo-host/chaperone 
SYNC missed versions from official npm registry.

Holo Chaperone

Chaperone is Holo's secure web-zone for managing access to an Agent's identity and connections. A hApp developer will use the Holo Hosting Web SDK which makes calls to Chaperone over our Cross-origin Message Bus (COMB).

The API that is exposed to a hApp developer is simple to minimize integration requirements and limit the number of access points that need to be audited for potential leaks.

Architecture

Chaperone must be able to communicate with Envoy or Conductor based on the current mode.

  • COMB - Works the same in all scenarios

Modes

Chaperone.PRODUCT

This mode is for production.

Implements

  • Resolver - Required to establish a connection
  • Key Management - Chaperone manages the Agent keys and signatures must be sent with every request.
  • RPC WebSocket - This connection is to Envoy which needs additional context for each request (wrapped payload).

Chaperone.DEVELOP

This mode is for the development of Chaperone. It allows a contributor to bypass some external dependencies such as Resolver.

Implements

  • Key Management - Conductor manages the Agent keys.
  • RPC WebSocket - This connection is to Envoy but the Host connection must be specified at initialization because Resolver is not used.

Chaperone.HCC

This mode is for hApp developers and is used by chaperone-server. In this scenario the agent keys are controlled by Conductor and therefore it does not utilize the Key Management code.

Implements

  • RPC WebSocket - This connection is directly to Conductor and will only accept the unwrapped payload.

When configuring Conductor, Chaperone is assuming these conventions:

  • anonymous/read-only instance ID <prefix>::<dna_alias>
  • Hosted user instance ID <prefix>::<agent_id>-<dna_alias>

Usage

Javascript API

API Reference

npx chaperone-server --config <configruation>

Example config

{
    "instance_prefix": "app-name",
    "log_level": true,
    "connection": {
        "secure": false,
        "port": 42211
    },
    "web_user_legend": {
        "bob@holo.host":        "HcSCJdPS77UInzsgzrRjnKZujniy96wipmNxAoFdxwvwrhvoWrdCQBHkcxb3cai",
        "alice@holo.host":      "HcScIEAh37y8WioqwuXRe5C5g4H8n8jboPaaccucgmn959jf3RUFBqI3Yptr7nr",
    }
}
  • instance_prefix - used in determining instance ID
  • log_level - true/false for on/off as there are currently no configured levels
  • connections.secure - true/false for using wss or ws
  • connections.address - defaults to window.location.hostname
  • connections.port - defaults to 4656
  • web_user_legend - map user emails to Agent IDs configured in Conductor

Contributors

See ./CONTRIBUTING.md

Current Tags

  • 0.1.16                                ...           latest (a month ago)

17 Versions

  • 0.1.16                                ...           a month ago
  • 0.1.15                                ...           a month ago
  • 0.1.14                                ...           a month ago
  • 0.1.13                                ...           2 months ago
  • 0.1.12                                ...           2 months ago
  • 0.1.11                                ...           2 months ago
  • 0.1.10                                ...           2 months ago
  • 0.1.9                                ...           2 months ago
  • 0.1.8                                ...           2 months ago
  • 0.1.7                                ...           3 months ago
  • 0.1.6                                ...           3 months ago
  • 0.1.5                                ...           3 months ago
  • 0.1.4                                ...           4 months ago
  • 0.1.3                                ...           4 months ago
  • 0.1.2                                ...           6 months ago
  • 0.1.1                                ...           6 months ago
  • 0.1.0                                ...           6 months ago
Downloads
Today 0
This Week 17
This Month 17
Last Day 0
Last Week 0
Last Month 101
Dependencies (9)
Dev Dependencies (13)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |