Open-source Go projects categorized as YAML

YAML is a digestible data serialization language that is often utilized to create configuration files and works in concurrence with any programming language. YAML targets many of the same communications applications as Extensible Markup Language but has a minimal syntax which intentionally differs from SGML.

Top 23 Go YAML Projects

  • urfave/cli

    A simple, fast, and fun package for building command line apps in Go (by urfave)

    Project mention: I created a library for parsing environment variables "envparse" | reddit.com/r/golang | 2023-01-27

    I use https://github.com/urfave/cli for local development over cli parameter inside docker over envs

  • yq

    yq is a portable command-line YAML, JSON, XML, CSV and properties processor

    Project mention: FLiP Stack Weekly for 06 February 2023 | dev.to | 2023-02-06
  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • fq

    jq for binary formats - tool, language and decoders for working with binary and text formats

    Project mention: yuv420p(tv, bt709, progressive) | reddit.com/r/ffmpeg | 2022-12-31

    The VUI can also be modified by the h264_metadata bitstream filter. If you want to confirm that the VUI is set correctly in the SPS, you can use https://github.com/wader/fq (which is great, btw).

  • dasel

    Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

    Project mention: Yq is a portable yq: command-line YAML, JSON, XML, CSV and properties processor | news.ycombinator.com | 2023-02-04

    Another tool in this space is Dasel[1], which can handle querying/modifying JSON, YAML, TOML, XML and CSV files.

    [1] https://github.com/TomWright/dasel

  • Juju

    Universal Operator Lifecycle Manager (OLM) for Kubernetes operators, and operators for traditional Linux apps, with declarative integration between operators for automated microservice integration.

    Project mention: Ask HN: A Better Docker Compose? | news.ycombinator.com | 2023-01-02


    Each app is packaged in a charm which seems to be a yaml declaring inputs, dependencies and other meta data and optional python code that can respond to certain lifecycle hooks


       name: my-node-app

  • koanf

    Simple, lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.

    Project mention: Simplify Your Configurations in Go | reddit.com/r/golang | 2022-11-11
  • ytt

    YAML templating tool that works on YAML structure instead of text

    Project mention: The YAML Document from Hell | news.ycombinator.com | 2023-01-12

    > Templating yaml is a terrible, terrible idea

    I've had a good time using ytt: https://carvel.dev/ytt/. It implements language-aware templating, which is IMO the only reasonable way to do it.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • k2tf

    Kubernetes YAML to Terraform HCL converter

    Project mention: Tool to convert set of yaml ( kustomize generated ) to terraform ? | reddit.com/r/kubernetes | 2022-10-03

    This might be what you are looking for: https://github.com/sl1pm4t/k2tf

  • murex

    Bash-like shell and scripting environment with advanced features designed for safety and productivity (eg smarter DevOps tooling)

    Project mention: VanadiumOS: Portable, multi-user Unix-like OS | news.ycombinator.com | 2023-01-09

    It's possible without any kernel changes. My shell (https://github.com/lmorg/murex) already supports doing that.

    The way it works is it uses fd3 to communicate schema information so it can natively support all the existing "dumb" pipes without any modification but any new tools can be written to send objects instead (albeit byte encoded).

    It's not as elegant as PowerShell sending .NET objects natively, but then PowerShell doesn't work with existing CLI tools natively (it needs wrapper scripts to convert them into PowerShell commands). Whereas my shell is fully backwards compatible while still supporting a suite of additional functionality too.

  • dyff

    /ˈdʏf/ - diff tool for YAML files, and sometimes JSON

    Project mention: A tool to sort/rearrange yaml files - or bring them close enough in alignment to allow a decent diff between them. | reddit.com/r/kubernetes | 2022-10-27

    had good results using https://github.com/homeport/dyff

  • go-yaml

    YAML support for the Go language

    Project mention: Format new lines on yaml output to file | reddit.com/r/golang | 2022-09-04

    Going to sound like a stupid question, but why aren’t you using a marshaller like https://github.com/goccy/go-yaml ?

  • tfk8s

    A tool for converting Kubernetes YAML manifests to Terraform HCL

    Project mention: Is it normal to get by Terraform's Local Exec? | reddit.com/r/devops | 2022-09-23

    You can use tfk8s to autogenerate hcl from k8s yaml. It's not a random project, it's by a Hashicorp employee, one of the maintainers of the k8s provider.

  • draft

    Generate High Level Cloud Architecture diagrams using YAML syntax. (by lucasepe)

  • grabana

    User-friendly Go library for building Grafana dashboards

  • gookit/config

    📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 (by gookit)

    Project mention: GitHub - gookit/config: 📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var, binding data to struct. | reddit.com/r/golang | 2022-08-30
  • aconfig

    Simple, useful and opinionated config loader.

    Project mention: Library for loading configuration into a struct in Go | reddit.com/r/golang | 2022-03-20

    Well, now I see my project is very similar to this https://github.com/cristalhq/aconfig

  • restish

    Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in

    Project mention: Restish is a CLI for interacting with REST-ish HTTP APIs | news.ycombinator.com | 2022-08-26
  • jk

    Configuration as Code with ECMAScript

  • faq

    Format Agnostic jQ -- process various formats with libjq

  • direktiv

    Serverless Container Orchestration

    Project mention: Lessons Learned from Running Apache Airflow at Scale | news.ycombinator.com | 2022-05-23

    So being completely transparent, we're the creators of Direktiv (https://github.com/direktiv/direktiv). We're genuinely curious to have users who have previously used Airflow and other DAGs (mentioned in here is Argo workflows) try Direktiv and give us more feedback.

    - direktiv runs containers as part of workflows from any compliant container registry, passing JSON structured data between workflow states.

  • rcc

    RCC is a set of tooling that allows you to create, manage, and distribute Python-based self-contained automation packages - or 'robots' as we call them.

  • config

    A lightweight yet powerful configuration manager for the Go programming language (by golobby)

  • havener

    /ˈheɪvənə/ - Think of it as a swiss army knife for Kubernetes tasks

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-02-06.

Go YAML related posts


What are some of the best open-source YAML projects in Go? This list will help you:

Project Stars
1 urfave/cli 19,693
2 yq 7,321
3 fq 5,353
4 dasel 4,036
5 Juju 2,076
6 koanf 1,465
7 ytt 1,294
8 k2tf 1,000
9 murex 869
10 dyff 807
11 go-yaml 806
12 tfk8s 692
13 draft 555
14 grabana 493
15 gookit/config 425
16 aconfig 423
17 restish 422
18 jk 388
19 faq 387
20 direktiv 331
21 rcc 317
22 config 311
23 havener 304
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives