OPA PDP Development Plan
OPA- PDP Development is planned in two phases and will be available in Paris Release
Phase-1
1.Design and develop an OPA PDP engine that can be deployed using the "Cold" method, where the Policy is pre-deployed on the PDP. The PDP should be fully configured and ready to execute when started.
Following to be implemented as part of this :-
OPA PDP should implement a Kafka listener on topic POLICY-PDP-PAP for receiving messages from the PAP.
OPA PDP should support registration with the Policy Administration Point (PAP) during startup and is configured with a preconfigured pdpGroup.
OPA PDP should support sending PDP_STATUS heartbeat messages periodically as configured by the PAP.
OPA PDP should support providing decisions for the input requests given
Policy management via PAP is not considered in Phase-1.
Phase-2
Design and develop an OPA PDP engine that can be deployed using the "Warm" method & also PDP should be able to support run time POLICY updates from PAP and should be able respond to any decision queries.
Following to be implemented as part of this :-
Finalize the API for the following operations:
Create OPA Policy Type: Finalize if data types and operations supported are needed to extend the API other than supporting only OPA native
Create Policy: Finalize if it is acceptable to have raw code under "properties"? or we need to define different fields to show the policy details
A Policy may be loaded at startup, and the PDP can be configured or reconfigured with a new or updated Policy at runtime. PDPs register with the PAP when they start, providing the pdpGroup they have been pre-deployed with, if any. OPA PDP should handle subsequent PDP_UPDATE messages for policy update from the PAP and send PAP_STATUS messages.
PDP should support runtime POLICY updates from PAP
Perform end-to-end verification of policy creation, policy deployment and decision-making from PAP to OPA PDP.
Single policy decision will be supported