Skip to content

Group Policy

Charlie Crean edited this page Jul 1, 2022 · 9 revisions

The group policy file is a definition of group protocols and protocol configurations. The group policy file is always packaged within the CPI file (the CPI is a combination of a CPB and a GroupPolicy.json file).

There are two scenarios in which a group policy file will be generated; when we need the initial group definition to bootstrap a group, and when we need to export the configuration of a running group to allow new members to join.

In the first scenario, bootstrapping a group, corda-cli is used to create a GroupPolicy file locally. This can be used as part of a CPI for an MGM, or to set up a static group. At the time of writing, the latter is more fleshed out while the former still requires some design work.

In the second scenario, exporting group policy for joining members, a running MGM is required. A HTTP API endpoint is exposed on the MGM virtual node, which returns a group policy when called that can then be packaged into the CPI distributed to members. The corda-cli will expose functionality which calls that endpoint so that the group policy for an active group can be retrieved via the corda-cli also.

Internally, we will expose this file to components as a parsed object from the component GroupPolicyProvider. We may decide to provide a schema for this in the future when the structure is less fluid during development.