File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change 1+ # Engineblock metadata storage and push
2+
3+ EngineBlock has its own local database table that stores the remote SP and IdP entities
4+ it knows about: ` sso_provider_roles_eb5 ` . This table contains the entities in a ready
5+ to consume format so logins can be handled quickly and without external dependencies
6+ on other services or APIs.
7+
8+ ## Push connections
9+
10+ To fill this table and keep it up to date, the EngineBlock API (engine-api vhost)
11+ has a ` /api/connections ` endpoint. The tool that administers the known entities
12+ (OpenConext-manage) can push an update to this endpoint with the new state of
13+ all entities. Engine will process this set and updates its internal table appropriately
14+ (incrementally, thus without downtime).
15+
16+ ## Push contents
17+
18+ The API accepts a HTTP POST of a JSON hash with the complete state of all remote entities
19+ in it. OpenConext Manage implements this. See
20+ [ the Manage wiki(https://github.com/OpenConext/OpenConext-manage/wiki/Push-Metadata )
21+ for some implementation details of the push on the manage side.
22+
23+ A push with 0 entities will be rejected to prevent mistakes from clearing out the database.
24+
25+ ## Push api configuration and constraints.
26+
27+ The push API is enabled via the ` api.metadata_push ` feature flag and requires
28+ HTTP Basic Authentication by a user with the rights
29+ ` ROLE_API_USER_METADATA_PUSH ` . A memory_limit can be set in the configuration
30+ to prevent the processing of the incoming entities set to run out of memory via
31+ the setting ` engineblock.metadata_push_memory_limit ` . This is all configured
32+ under EngineBlock's ` app/config/ ` dir.
You can’t perform that action at this time.
0 commit comments