#yaml #terraform #hcl #schema #mustache #templating #converter

app slo-converter

一个命令行工具,可以将特定的 YAML 架构转换为 Terraform HCL,同时提供对 mustache 模板的支持

21 个版本 (8 个稳定版本)

1.4.0 2023年9月6日
1.3.0 2023年7月5日
1.2.2 2023年3月30日
0.8.1 2022年11月23日
0.6.0 2022年7月7日

#85模板引擎

Apache-2.0

72KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments HCL 147 SLoC // 0.0% comments Shell 55 SLoC // 0.2% comments

SLO Converter

crates.io

SLO Converter 是一个命令行界面,可以将遵循 Figure SLO SchemaYAML 转换为 HCL

用法

cargo install slo-converter
A command line tool that can convert particular YAML schemas to Terraform HCL while also providing support for mustache templating.

Usage: slo-converter [OPTIONS] --env <ENV> <YAML> [KEY_VALUES]...

Arguments:
  <YAML>           Path to YAML file
  [KEY_VALUES]...  Key/value pairs delineated with "=" which can render with mustache templating (e.g. k1=v1 k2=v2)

Options:
      --output <OUTPUT>  [default: stdout] [possible values: stdout]
      --env <ENV>        [possible values: development, figure-pay-test, figure-pay-sandbox, figure-pay-prod, figure-tech, figure-tech-test, pio, pio-test, production]
  -l, --lint             Returns a status code based on input parsing
  -h, --help             Print help
  -V, --version          Print version
slo-converter --env figure-pay-test yaml/one-slo.yaml

模板值

支持 yaml 文件中所有字段的 Mustache 风格模板。这对于特定环境的标签或警报通道非常有用。值通过以下参数传递(请参阅 yaml/multiple-slo.yaml 中的语法使用示例)

slo-converter --env development yaml/multiple-slo.yaml critical_alert=\@slack-eng-tech warn_alert=\@slack-eng-tech

为 Figure 产品创建 SLO

Notion 文档 Github Action

辅助初始 SLO 开发

有几个领域特定的陷阱。提供了一个有用的脚本,可以像这样运行。

./resource_helper.sh service-task development

注意:此脚本从 Datadog 中采样最近的跟踪。为了获得最佳结果,您应该针对接收最多流量的环境运行。

此脚本的输出将帮助您了解您的服务是否使用 nettytomcat。这很重要,因为您的网络服务度量将不同,例如 trace.netty.requesttrace.servlet.request。它还将帮助您验证您的健康检查端点,因为服务使用不同的约定。

进一步 SLO/SLI 资源

依赖项

~7MB
~111K SLoC