Packages
caffeine_lang
4.6.0
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_lang@standard_library@artifacts.erl
-module(caffeine_lang@standard_library@artifacts).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/standard_library/artifacts.gleam").
-export([standard_library/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/caffeine_lang/standard_library/artifacts.gleam", 23).
-spec slo_artifact() -> caffeine_lang@linker@artifacts:artifact().
slo_artifact() ->
{artifact,
s_l_o,
<<"A Service Level Objective that monitors a metric query against a threshold over a rolling window."/utf8>>,
maps:from_list(
[{<<"threshold"/utf8>>,
{param_info,
{primitive_type, {numeric_type, percentage}},
<<"Target percentage (e.g., 99.9%)"/utf8>>}},
{<<"window_in_days"/utf8>>,
{param_info,
{modifier_type,
{defaulted,
{refinement_type,
{inclusive_range,
{primitive_type,
{numeric_type, integer}},
<<"1"/utf8>>,
<<"90"/utf8>>}},
<<"30"/utf8>>}},
<<"Rolling window for measurement (1-90 days)"/utf8>>}},
{<<"indicators"/utf8>>,
{param_info,
{collection_type,
{dict,
{primitive_type, string},
{primitive_type, string}}},
<<"Named SLI measurement expressions"/utf8>>}},
{<<"evaluation"/utf8>>,
{param_info,
{primitive_type, string},
<<"How to evaluate indicators as an SLI"/utf8>>}},
{<<"vendor"/utf8>>,
{param_info,
{refinement_type,
{one_of,
{primitive_type, string},
gleam@set:from_list(
[<<"datadog"/utf8>>,
<<"honeycomb"/utf8>>,
<<"dynatrace"/utf8>>,
<<"newrelic"/utf8>>]
)}},
<<"Observability platform"/utf8>>}},
{<<"tags"/utf8>>,
{param_info,
{modifier_type,
{optional,
{collection_type,
{dict,
{primitive_type, string},
{primitive_type, string}}}}},
<<"An optional set of tags to append to the SLO artifact"/utf8>>}},
{<<"runbook"/utf8>>,
{param_info,
{modifier_type,
{optional, {primitive_type, {semantic_type, u_r_l}}}},
<<"An optional runbook URL surfaced via the SLO description"/utf8>>}}]
)}.
-file("src/caffeine_lang/standard_library/artifacts.gleam", 106).
-spec dependency_relations_artifact() -> caffeine_lang@linker@artifacts:artifact().
dependency_relations_artifact() ->
{artifact,
dependency_relations,
<<"Declares soft and hard dependencies between services for dependency mapping."/utf8>>,
maps:from_list(
[{<<"relations"/utf8>>,
{param_info,
{record_type,
maps:from_list(
[{<<"hard"/utf8>>,
{collection_type,
{list, {primitive_type, string}}}},
{<<"soft"/utf8>>,
{collection_type,
{list, {primitive_type, string}}}}]
)},
<<"Map of dependency type to list of service names"/utf8>>}}]
)}.
-file("src/caffeine_lang/standard_library/artifacts.gleam", 19).
?DOC(" Returns the hardcoded standard library artifacts.\n").
-spec standard_library() -> list(caffeine_lang@linker@artifacts:artifact()).
standard_library() ->
[slo_artifact(), dependency_relations_artifact()].