Go to file
Yaroslav Rogov 315a251f86
fix: Add thrift encoding for boolean values (#31)
* fix: Add typespecs

* fix: Fix typespecs

* fix: Fix typespecs

* refactor: Fix formattinc

* fix: Add bool encoding
2021-08-04 13:30:42 +03:00
build_utils@e1318727d4 Enforce unified formatting w/ erlfmt (#18) 2021-02-04 17:23:35 +03:00
config ED-114: gunner metrics via hay (#26) 2021-07-21 14:17:57 +03:00
src fix: Add thrift encoding for boolean values (#31) 2021-08-04 13:30:42 +03:00
test ED-114: Fix timings buckets names (#28) 2021-07-28 16:58:40 +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-114: gunner metrics via hay (#26) 2021-07-21 14:17:57 +03:00
rebar.lock ED-171/deps: Update bouncer_proto (#29) 2021-07-29 11:34:33 +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.