-
Notifications
You must be signed in to change notification settings - Fork 0
Types
Boulangerie supports a limited set of types for the purposes of automating and standardizing the serialized representations of caveat predicates.
Constrained strings which cover a wide range of commonly used identifiers and formats.
- Syntax:
[0-9a-zA-Z\.\/\-_]+
(effectively\w
with the addition of.
,/
, and-
). This supports the following formats:- Simple labels:
foobar
,foo-bar-baz
,foo_bar_baz
- UUIDs:
aad7d05a-8699-49d8-9dd2-79f3bf2f7d58
- Domains:
macaroons.io
,github.com
- Paths:
/foo/bar/baz
- Decimals:
42
- Hexadecimals:
BADA55
- Base32:
mjqxgzjtgi
- Base58:
3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
- Base64url:
YmFzZTY0dXJsMDAwXx_32-ab
- Simple labels:
- Lists allowed: yes
Opaque binary blobs.
- Syntax: any sequence of bytes
- Lists allowed: no
A simple boolean toggle type.
- Syntax:
true
,false
- Lists allowed: yes
- Notes: recommend
false
confer lower authority, e.g. usething-allowed true
caveats which confer positive authority as opposed tothing-denied false
Date and time type which serializes to the ISO 8601 format. A strict subset of ISO 8601 is used which always includes a time component and is always in UTC (i.e. "Zulu") time.
- Syntax: any valid ISO 8601 date/time.
- Lists allowed: yes
Integers serialized in decimal (i.e. base 10) format as ASCII digits.
- Syntax:
-?[0-9]+
- Lists allowed: yes
- Notes: platforms should automatically convert this to a native integer type
- TBD: supported ranges (64-bit?)
The location of a resource expressed in URI Generic syntax (RFC 3986).
- Syntax: Any valid URI as expressed in RFC 3986 generic syntax
- Lists allowed: no(?)
Collections of other types. Lists are only supported for a constrained subset of types as noted in the "Lists allowed" remark on the other types. All members of a list must be the same type. Lists cannot contain other lists.
- Syntax:
<expr1>
0x20
<expr2>
0x20
...<exprN>
(space delimited, i.e." "
) - Notes: an empty list is represented as an empty string
- Lists allowed: no