Open-source Go projects categorized as YAML | Edit details

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.

Related topics: #Golang #JSON #Go #TOML #CLI

Top 23 Go YAML Projects

  • GitHub repo urfave/cli

    A simple, fast, and fun package for building command line apps in Go

    Project mention: I'm looking for a good alternativ to Viper | reddit.com/r/golang | 2022-01-16

    Personally I used https://github.com/urfave/cli for CLI a lot but ended up migrating few project to cobra just because while way to use it was pretty aisine and annoying it ended up better at parsing said CLI (urfave/cli insist on positional arguments which don't work well for some cases)

  • GitHub repo yq

    yq is a portable command-line YAML processor

    Project mention: Grep one-liners as CI tasks | news.ycombinator.com | 2022-01-14

    In today's world of excellent CLI tools I don't think grep is a good choice, especially for checking irregular languages like XML. [0]

    I use tools like `jq` [1] or `yq` [2] all the time for CI checks. One useful check, is we have a configuration file stored as several hundred lines of YAML. Its a nice thing to maintain a sorted order for that, so we have a git pre-commit hook that runs the following:

    > yq eval --inplace '.my_key|= sort' my_file.yaml

    Of course, a pre-commit hook or CI both work. There's pros and cons of both. For our team, the pre-commit hook is a low enough level of effort, and doesn't require a CI check for something that executes in milliseconds.

    [0] https://stackoverflow.com/a/1732454

    [1] https://github.com/stedolan/jq

    [2] https://github.com/mikefarah/yq

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo Juju

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

    Project mention: What type of software do you write at your workplace? | reddit.com/r/golang | 2022-01-17

    At Canonical I work on two open-source projects written in Go: Juju, a large cloud-based application deployment tool, and Pebble, a small Linux service manager. Both include CLI clients and API-based server daemons. Juju in particular is a large distributed system.

  • GitHub repo 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: How to convert a JSON file to CSV file with Golang. | reddit.com/r/golang | 2021-12-08

    If you're just looking for a utility to do it (and a bunch of other stuff), there's dasel.

  • GitHub repo carvel-ytt

    YAML templating tool that works on YAML structure instead of text

    Project mention: Dynamically creating yaml manifests? | reddit.com/r/kubernetes | 2021-11-21
  • GitHub repo 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: What are your favorite packages to use? | reddit.com/r/golang | 2021-08-15

    https://github.com/knadh/koanf for config management. Readme contains why it's a good alternative to viper.

  • GitHub repo k2tf

    Kubernetes YAML to Terraform HCL converter

    Project mention: Share a GPU between pods on AWS EKS | dev.to | 2021-11-04

    Pro tip: If you want to convert k8s yaml files to .tf, you can use k2tf (repo) that is able to convert the resource types of the yaml top their appropriated counterparts of the k8s provider for terraform. To install it, just:

  • 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.

  • GitHub repo go-yaml

    YAML support for the Go language

    Project mention: Show HN: A yet another useful YAML library for Go | news.ycombinator.com | 2021-10-08
  • GitHub repo draft

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

  • GitHub repo dyff

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

    Project mention: How to compare 2 yaml files in go? | reddit.com/r/golang | 2021-08-03

    I had the same question some years ago. Since I was also interested in the finer details of possible differences, like order changes or type changes, I decided to write a library and CLI myself: github.com/homeport/dyff.

  • GitHub repo grabana

    User-friendly Go library for building Grafana dashboards

    Project mention: Help using Grabana | reddit.com/r/golang | 2021-05-16

    They have this example: https://github.com/K-Phoen/grabana/blob/master/cmd/builder-example/main.go

  • GitHub repo jk

    Configuration as Code with ECMAScript

    Project mention: Pants vs. Bazel: Why Pants may be the right choice for your team | reddit.com/r/programming | 2021-11-18

    If I were writing a build system today (and I did just write one actually to test out some ideas) I would use Typescript for the language with something like jk to provide hermeticity. Typescript has many advantages, especially over Python, but mainly:

  • GitHub repo faq

    Format Agnostic jQ -- process various formats with libjq

    Project mention: Fq: Jq for Binary Formats | news.ycombinator.com | 2021-12-22

    This related project, on the other hand, embraced it (for better or for worse):


  • GitHub repo gookit/config

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

  • GitHub repo havener

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

    Project mention: Havener – Kubernetes swiss army knife tool | news.ycombinator.com | 2021-08-15
  • GitHub repo config

    JSON or YAML configuration wrapper with convenient access methods. (by olebedev)

  • GitHub repo renderer

    Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go

  • GitHub repo 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.

  • GitHub repo restish

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

    Project mention: Restish: CLI for interacting with REST-ish HTTP APIs | news.ycombinator.com | 2021-09-25
  • GitHub repo fig

    A minimalist Go configuration library (by kkyr)

  • GitHub repo k8s-platform-lcm

    A faster and easier way to manage the lifecycle of applications and tools, running and living around your Kubernetes platform

    Project mention: I am trying to find a tool someone posted once in this sub. It was for GitOps and would check for updates to git repos of helm charts and deployments. Anyone know it? | reddit.com/r/kubernetes | 2021-03-27

    Was it this? https://github.com/arminc/k8s-platform-lcm

  • GitHub repo katafygio

    Dump, or continuously backup Kubernetes objets as yaml files in git

    Project mention: Top 200 Kubernetes Tools for DevOps Engineer Like You | dev.to | 2022-01-15

    kops - Production Grade K8s Installation, Upgrades, and Management silver-surfer - Check ApiVersion compatibility and provide Migration path for Kubernetes objects when upgrading Kubernetes to latest versions Kube-ops-view - Kubernetes Operational View - read-only system dashboard for multiple K8s clusters kubeprompt - Kubernetes prompt info Metalk8s - An opinionated Kubernetes distribution with a focus on long-term on-prem deployments kind - Kubernetes IN Docker - local clusters for testing Kubernetes Clusterman - Cluster Autoscaler for Kubernetes and Mesos Cert-manager - Automatically provision and manage TLS certificates Goldilocks - Get your resource requests "Just Right" katafygio - Dump, or continuously backup Kubernetes objets as yaml files in git Rancher - Complete container management platform Sealed Secrets - A Kubernetes controller and tool for one-way encrypted Secrets OpenKruise/Kruise - Automate application workloads management on Kubernetes https://openkruise.io kubectl snapshot - Take Cluster Snapshots kapp - simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label https://get-kapp.io keda - Event-driven autoscaler for Kubernetes Octant - To better understand the complexity of Kubernetes clusters Portainer - Portainer inside a Kubernetes environment Gardener - Deliver fully-managed clusters at scale everywhere with your own Kubernetes-as-a-Service Kubed - Kubernetes Cluster Operator Daemon Kubestack - Kubestack is the free and open-source GitOps framework to codify your custom platform stack using Terraform.

  • GitHub repo harp

    Secret management toolchain (by elastic)

    Project mention: Elastic Harp v0.2.1 - Secret management pipeline toolchain | reddit.com/r/devsecops | 2021-11-18
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 2022-01-17.

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 17,178
2 yq 4,902
3 Juju 1,951
4 dasel 1,757
5 carvel-ytt 987
6 koanf 714
7 k2tf 661
8 go-yaml 629
9 draft 518
10 dyff 515
11 grabana 399
12 jk 352
13 faq 341
14 gookit/config 322
15 havener 287
16 config 241
17 renderer 231
18 rcc 225
19 restish 210
20 fig 189
21 k8s-platform-lcm 184
22 katafygio 141
23 harp 114
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.