#converter #hcl #terraform #yaml #status-code #schema #command-line-tool #lint #convert #command

app slo-converter

A command line tool that converts specific yaml schemas to terraform HCL

17 releases (4 stable)

1.2.0 Mar 7, 2023
1.0.0 Jan 10, 2023
0.8.1 Nov 23, 2022
0.6.0 Jul 7, 2022

#116 in Command line utilities

Download history 10/week @ 2022-11-26 7/week @ 2022-12-03 2/week @ 2022-12-10 21/week @ 2022-12-17 2/week @ 2022-12-24 4/week @ 2022-12-31 57/week @ 2023-01-07 13/week @ 2023-01-14 4/week @ 2023-01-21 12/week @ 2023-01-28 17/week @ 2023-02-04 112/week @ 2023-02-11 43/week @ 2023-02-18 36/week @ 2023-02-25 22/week @ 2023-03-04 2/week @ 2023-03-11

129 downloads per month



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

SLO Converter


SLO converter is a command line interface that converts YAML, adhering to the Figure SLO Schema, to HCL.


cargo install slo-converter
A command line tool that converts specific yaml schemas to terraform HCL.

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

  <YAML>  Path to YAML file

      --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 information
  -V, --version          Print version information
slo-converter --env figure-pay-test yaml/one-slo.yaml

Creating SLOs for Figure Products

Notion documentation

Assisting Initial SLO Development

There's a few domain specific gotchas. A handy script is provided that can be ran like this.

./resource_helper.sh service-task development

NOTE: This script samples recent traces from Datadog. In order to get the best results, you should run against an environment that receives the most traffic.

The output of this script will help inform you if your service is using netty vs tomcat. This is important because your web service metrics will differ, e.g. trace.netty.request, trace.servlet.request. It will also help you verify your health check endpoints, as services use differing conventions.

Further SLO/SLI Resources


~90K SLoC