Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Burrego: implement missing builtins #56

Open
ereslibre opened this issue Aug 31, 2021 · 0 comments
Open

Burrego: implement missing builtins #56

ereslibre opened this issue Aug 31, 2021 · 0 comments
Labels
area/rego Issue related with Rego/OPA/Gatekeeper integration kind/epic A big feature/fix, this is then split into smaller actionable items

Comments

@ereslibre
Copy link
Member

ereslibre commented Aug 31, 2021

Relation of builtin-list and builtin-usage in different repositories containing builtins, so we can prioritize builtin implementation depending on the usage. The list of the full SDK-dependant bultins follows:

Category Built-in Status
Numbers rand.intn -

Objects json.patch Implemented

Strings sprintf Implemented

Regex regex.split -
regex.globs_match -
regex.template_match -
regex.find_n -

Glob glob.quote_meta Implemented

Units units.parse_bytes -

Encoding base64url.encode_no_pad Implemented
urlquery.encode Implemented
urlquery.encode_object Implemented
urlquery.decode Implemented
urlquery.decode_object Implemented
json.is_valid Implemented
yaml.marshal Implemented
yaml.unmarshal Implemented
yaml.is_valid Implemented
hex.encode Implemented
hex.decode Implemented

Token Signing io.jwt.encode_sign_raw -
io.jwt.encode_sign -

Token Verification io.jwt.verify_rs256 -
io.jwt.verify_rs384 -
io.jwt.verify_rs512 -
io.jwt.verify_ps256 -
io.jwt.verify_ps384 -
io.jwt.verify_ps512 -
io.jwt.verify_es256 -
io.jwt.verify_es384 -
io.jwt.verify_es512 -
io.jwt.verify_hs256 -
io.jwt.verify_hs384 -
io.jwt.verify_hs512 -
io.jwt.decode -
io.jwt.decode_verify -

Time time.now_ns Implemented
time.parse_ns -
time.parse_rfc3339_ns Implemented
time.parse_duration_ns -
time.date Implemented
time.clock -
time.weekday -
time.add_date -
time.diff -

Cryptography crypto.x509.parse_certificates -
crypto.x509.parse_and_verify_certificates -
crypto.x509.parse_certificate_request -
crypto.md5 -
crypto.sha1 -
crypto.sha256 -

HTTP http.send -

Net net.cidr_contains_matches -
net.cidr_expand -
net.cidr_merge -

UUID uuid.rfc4122 -

Semantic Versions semver.is_valid Implemented
semver.compare Implemented

Rego rego.parse_module -

OPA opa.runtime -

Debugging trace Implemented

The use of builtins, per repo:

The rest of the table is not used by the policies in the mentioned repositories.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/rego Issue related with Rego/OPA/Gatekeeper integration kind/epic A big feature/fix, this is then split into smaller actionable items
Projects
None yet
Development

No branches or pull requests

1 participant