Fetching variables from an external variable provider
sequenceDiagram
box Client
participant workload as Application
participant ezoidc as ezoidc CLI
end
box https://test.ezoidc.dev
participant ezoidc-server
participant auth as server/auth.go
participant OPA
participant providers
end
Note over workload,ezoidc: EZOIDC_TOKEN is set
workload->>ezoidc: ezoidc variables json
ezoidc->>ezoidc-server: POST /ezoidc/1.0/variables
ezoidc-server->>auth: Validate token
auth->>ezoidc-server: Validated claims
note over ezoidc-server,OPA: OPA is given only the variable names at this point
ezoidc-server->>OPA: Eval _queries.allowed_variables
OPA->>ezoidc-server: Allowed variable names
ezoidc-server->>providers: Fetch value of allowed variables
providers<<->>AWS SSM: GetParameters in batches<br>of 10 variables
providers->>ezoidc-server: Variables values
note over ezoidc-server,OPA: OPA is given allowed variable values
ezoidc-server->>OPA: Eval _queries.variables_response
OPA->>ezoidc-server: Variables & definitions
ezoidc-server->>ezoidc: Variables response
ezoidc->>workload: Parse JSON and<br>use variables