Go to file
2021-04-14 19:15:55 +03:00
build_utils@e1318727d4 Enforce unified formatting w/ erlfmt (#18) 2021-02-04 17:23:35 +03:00
config FIX ED-64: request_timeout is not actually a connection option (#24) 2021-03-29 15:53:32 +03:00
src FIX ED-64: request_timeout is not actually a connection option (#24) 2021-03-29 15:53:32 +03:00
test Adapt broken testcase 2021-04-14 19:15:55 +03:00
.gitignore MSPF-629: Add decisions (#12) 2020-12-31 17:26:12 +03:00
.gitmodules Implement a thrift service around opa policy solver (#1) 2020-10-14 12:09:26 +03:00
docker-compose.sh MSPF-641: Relax fsync-every-write audit log handler policy (#20) 2021-02-18 11:24:50 +03:00
Dockerfile.sh Implement a thrift service around opa policy solver (#1) 2020-10-14 12:09:26 +03:00
Jenkinsfile Cut fragments ctx out of audit logs (#19) 2021-02-08 11:12:39 +03:00
Makefile MSPF-641: Bump to rbkmoney/image-service-erlang@0c1352d base image (#21) 2021-02-18 16:00:56 +03:00
README.md MSPF-641: Relax fsync-every-write audit log handler policy (#20) 2021-02-18 11:24:50 +03:00
rebar.config ED-64: Gunner pool integration (#23) 2021-03-29 11:04:16 +03:00
rebar.lock Bump to rbkmoney/bouncer-proto@7dee26e 2021-04-14 15:31:41 +03:00

Bouncer

Does someone look like a troublemaker?

Primary Arbiter thrift service implementation.

In a nutshell this service maps incoming contexts into OPA input documents and asks OPA to compute a judgement allowing, restricting or forbidding actions under given input context.

From the service's point of view a ruleset id is a path to OPA document that define a subdocument named judgement with a rudimentary schema. See https://github.com/rbkmoney/bouncer-policies#authoring for more detailed information.

Things to keep in mind

  • When upgrading service to a newer Erlang OTP release please be aware of potential breakages in bouncer_audit_log not strictly related to usual API deprecations and removals which is an essintial part of a release. That is because this module relies on some OTP libraries' interal implementation details. See module-level notes for additional details.