yq is a portable command-line YAML processor

Overview

yq

Build Docker Pulls Github Releases (by Release) Go Report

a lightweight and portable command-line YAML processor. yq uses jq like syntax but works with yaml files as well as json. It doesn't yet support everything jq does - but it does support the most common operations and functions, and more is being added continuously.

yq is written in go - so you can download a dependency free binary for your platform and you are good to go! If you prefer there are a variety of package managers that can be used as well as docker, all listed below.

Quick Usage Guide

Read a value:

yq e '.a.b[0].c' file.yaml

Update a yaml file, inplace

yq e -i '.a.b[0].c = "cool"' file.yaml

Update using environment variables

NAME=mike yq e -i '.a.b[0].c = strenv(NAME)' file.yaml

Merge multiple files

yq ea '. as $item ireduce ({}; . * $item )' file1.yml file2.yml ...

Multiple updates to a yaml file

yq e -i '
  .a.b[0].c = "cool" |
  .x.y.z = "foobar" |
  .person.name = strenv(NAME)
' file.yaml

See the documentation for more.

Install

Download the latest binary

wget

Use wget to download the pre-compiled binaries:

Compressed via tar.gz

wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - |\
  tar xz && mv ${BINARY} /usr/bin/yq

Plain binary

wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -O /usr/bin/yq &&\
    chmod +x /usr/bin/yq

For instance, VERSION=v4.2.0 and BINARY=yq_linux_amd64

MacOS / Linux via Homebrew:

Using Homebrew

brew install yq

or, for the (deprecated) v3 version:

brew install [email protected]

Note that for v3, as it is a versioned brew it will not add the yq command to your path automatically. Please follow the instructions given by brew upon installation.

Linux via snap:

snap install yq

or, for the (deprecated) v3 version:

snap install yq --channel=v3/stable

Snap notes

yq installs with strict confinement in snap, this means it doesn't have direct access to root files. To read root files you can:

sudo cat /etc/myfile | yq e '.a.path' - 

And to write to a root file you can either use sponge:

sudo cat /etc/myfile | yq e '.a.path = "value"' - | sudo sponge /etc/myfile

or write to a temporary file:

sudo cat /etc/myfile | yq e '.a.path = "value"' | sudo tee /etc/myfile.tmp
sudo mv /etc/myfile.tmp /etc/myfile
rm /etc/myfile.tmp

Run with Docker

Oneshot use:

docker run --rm -v "${PWD}":/workdir mikefarah/yq <command> [flags] [expression ]FILE...

Pipe in via STDIN:

You'll need to pass the -i\--interactive flag to docker:

cat myfile.yml | docker run -i --rm mikefarah/yq e . -

Run commands interactively:

docker run --rm -it -v "${PWD}":/workdir --entrypoint sh mikefarah/yq

It can be useful to have a bash function to avoid typing the whole docker command:

yq() {
  docker run --rm -i -v "${PWD}":/workdir mikefarah/yq "$@"
}

Running as root:

yq's docker image no longer runs under root (https://github.com/mikefarah/yq/pull/860). If you'd like to install more things in the docker image, or you're having permissions issues when attempting to read/write files you'll need to either:

docker run --user="root" -it --entrypoint sh mikefarah/yq

Or, in your docker file:

FROM mikefarah/yq

USER root
RUN apk add bash
USER yq

GitHub Action

  - name: Set foobar to cool
    uses: mikefarah/[email protected]
    with:
      cmd: yq eval -i '.foo.bar = "cool"' 'config.yml'

See https://mikefarah.gitbook.io/yq/usage/github-action for more.

Go Get:

GO111MODULE=on go get github.com/mikefarah/yq/v4

Community Supported Installation methods

As these are supported by the community ❤️ - however, they may be out of date with the officially supported releases.

Webi

webi yq

See webi Supported by @adithyasunil26 (https://github.com/webinstall/webi-installers/tree/master/yq)

Windows:

Chocolatey Chocolatey

choco install yq

Supported by @chillum (https://chocolatey.org/packages/yq)

Mac:

Using MacPorts

sudo port selfupdate
sudo port install yq

Supported by @herbygillot (https://ports.macports.org/maintainer/github/herbygillot)

Alpine Linux

  • Enable edge/community repo by adding $MIRROR/alpine/edge/community to /etc/apk/repositories
  • Update database index with apk update
  • Install yq with apk add yq

Supported by Tuan Hoang https://pkgs.alpinelinux.org/package/edge/community/x86/yq

On Ubuntu 16.04 or higher from Debian package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CC86BB64
sudo add-apt-repository ppa:rmescandon/yq
sudo apt update
sudo apt install yq -y

Supported by @rmescandon (https://launchpad.net/~rmescandon/+archive/ubuntu/yq)

Features

Usage

Check out the documentation for more detailed and advanced usage.

Usage:
  yq [flags]
  yq [command]

Available Commands:
  eval             Apply the expression to each document in each yaml file in sequence
  eval-all         Loads _all_ yaml documents of _all_ yaml files and runs expression once
  help             Help about any command
  shell-completion Generate completion script

Flags:
  -C, --colors                force print with colors
  -e, --exit-status           set exit status if there are no matches or null or false is returned
  -f, --front-matter string   (extract|process) first input as yaml front-matter. Extract will pull out the yaml content, process will run the expression against the yaml content, leaving the remaining data intact
  -h, --help                  help for yq
  -I, --indent int            sets indent level for output (default 2)
  -i, --inplace               update the yaml file inplace of first yaml file given.
  -M, --no-colors             force print with no colors
  -N, --no-doc                Don't print document separators (---)
  -n, --null-input            Don't read input, simply evaluate the expression given. Useful for creating yaml docs from scratch.
  -P, --prettyPrint           pretty print, shorthand for '... style = ""'
  -j, --tojson                output as json. Set indent to 0 to print json in one line.
      --unwrapScalar          unwrap scalar, print the value with no quotes, colors or comments (default true)
  -v, --verbose               verbose mode
  -V, --version               Print version information and quit

Use "yq [command] --help" for more information about a command.

Known Issues / Missing Features

See tips and tricks for more common problems and solutions.

Comments
  • Can't handle multiple yaml documents within one file

    Can't handle multiple yaml documents within one file

    Given the following Kubernetes YAML configuration file:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
       name: somename
    spec:
       revisionHistoryLimit: 5
       minReadySeconds: 10
       strategy:
          type: RollingUpdate
          rollingUpdate:
             maxUnavailable: 0
             maxSurge: 1
       replicas: 1
       template:
          metadata:
             labels:
                microservice: somename
          spec: 
             containers:
             - name: serviceapi
               image: myimage:0.0.6
               ports:
               - containerPort: 8080
               env:
    ##### ENVIRONMENT VARIABLES
                - name: somename
                  valueFrom:
                    configMapKeyRef:
                       name: serviceapi-environment-configuration
                       key: somekey
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: somename
      labels: 
         microservice: somename
    spec:
       type: NodePort
       ports:
       - port: 8080
       selector:
          microservice: somename
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: some-name
      namespace: default
    data:
      someData: data
    

    This command will work:

    ./yaml w -i myfile.yaml spec.template.spec.containers[0].image myimage:0.0.19
    

    The image value will be replaced, however, the file will then change to this:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
       name: somename
    spec:
       revisionHistoryLimit: 5
       minReadySeconds: 10
       strategy:
          type: RollingUpdate
          rollingUpdate:
             maxUnavailable: 0
             maxSurge: 1
       replicas: 1
       template:
          metadata:
             labels:
                microservice: somename
          spec: 
             containers:
             - name: serviceapi
               image: myimage:0.0.19
               ports:
               - containerPort: 8080
               env:
    ##### ENVIRONMENT VARIABLES
                - name: somename
                  valueFrom:
                    configMapKeyRef:
                       name: serviceapi-environment-configuration
                       key: somekey
    

    As you can see, the Services and ConfigMap sections (denoted with ---) have disappeared.

    enhancement 
    opened by IdanAdar 27
  • In place write strips out comments

    In place write strips out comments

    The CLI strips out comments given the following yaml file:

    # comment
    a:
      b:
    

    Using the following command for my test:

    yaml w -i test.yml a.b.c[0] "test"

    yaml-v3 
    opened by jmreicha 26
  • Provide installation instructions from Alpine

    Provide installation instructions from Alpine

    The installation instructions for Linux assume Ubuntu, but some users may want to use yq on things like Alpine which don't have snap, apt, or go. What would be the best installation process for gettin yq working while also minimizing dependencies/size?

    opened by Lukenickerson 24
  • Add sort_by operator

    Add sort_by operator

    aggregationRule:
      clusterRoleSelectors:
        - matchLabels:
            a: "true"
        - matchLabels:
            c: "true"
        - matchLabels:
            b: "true"
    

    Attempts

    • yq eval 'sortKeys(.)' some-file.yaml
    • yq eval 'sortKeys(..)' some-file.yaml
    enhancement v4 
    opened by 030 21
  • cannot find package

    cannot find package "github.com/mikefarah/yaml/v2"

    $ GO111MODULE=on go get -v github.com/mikefarah/yq 
    github.com/mikefarah/yaml (download)
    package github.com/mikefarah/yaml/v2: cannot find package "github.com/mikefarah/yaml/v2" in any of:
    	/usr/lib/go-1.10/src/github.com/mikefarah/yaml/v2 (from $GOROOT)
    	/home/rotary/go/src/github.com/mikefarah/yaml/v2 (from $GOPATH)
    
    $ GO11MODULE=on go get -v github.com/mikefarah/yaml/v2
    github.com/mikefarah/yaml (download)
    package github.com/mikefarah/yaml/v2: cannot find package "github.com/mikefarah/yaml/v2" in any of:
    	/usr/lib/go-1.10/src/github.com/mikefarah/yaml/v2 (from $GOROOT)
    	/home/rotary/go/src/github.com/mikefarah/yaml/v2 (from $GOPATH)
    
    
    opened by rotarydrone 21
  • Improve Github action for use on self-hosted runners

    Improve Github action for use on self-hosted runners

    Please describe your feature request. I am using the action a lot on self-hosted runners and as a result have literally thousands of Docker images laying around. This happens due to the usage of the Dockerfile which will produce a new image on every use. On Github hosted runners this is not a problem as everything is thrown away afterwards.

    Describe the solution you'd like It would be great if the action can switch to using a Docker image directly. That would mean either publishing a 2nd image or adding the entrypoint.sh to the main image.

    enhancement v4 
    opened by kuhnroyal 19
  • cannot open files with sudo

    cannot open files with sudo

    Seems like opening a "root-only" file does not work with sudo.

    E.g.:

    $ sudo yq r /etc/netplan/50-cloud-init.yaml network.version
    open /etc/netplan/50-cloud-init.yaml: permission denied
    
    opened by gildas 19
  • "Working with XML" documentation example does not work for version 4.17.2

    Describe the bug Trying "Parse xml: simple" from top of this page https://mikefarah.gitbook.io/yq/usage/xml

    Version of yq: 4.17.2 $ yq --version yq (https://github.com/mikefarah/yq/) version 4.17.2

    Operating system: Ubuntu 20.04.3 LTS Installed via: snap $ snap list |grep yq yq 4.17.2 1557 latest/stable mikefarah

    Input XML test.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <cat>
      <says>meow</says>
      <legs>4</legs>
      <cute>true</cute>
    </cat>
    

    Command The command you ran:

    yq -p=xml "." test.xml
    

    Actual behavior

    Error: unknown command "." for "yq" Run 'yq --help' for usage.

    Expected behavior

    cat:
      says: meow
      legs: "4"
      cute: "true"
    

    Additional context no

    bug v4 
    opened by app 18
  • Converting YAML to JSON is super slow

    Converting YAML to JSON is super slow

    Describe the bug When converting a 5000 line YAML to JSON using yq:

    time docker run \                                                      
            --rm \
            -u $(id -ru):$(id -rg) \
            -v $(pwd):/shared \
            -w /shared \
            mikefarah/yq yq r --tojson swagger.json
    

    It takes 2 minutes:

    ...
    docker run --rm -u $(id -ru):$(id -rg) -v $(pwd):/shared -w /shared  yq r    0,07s user 0,03s system 0% cpu 2:18,42 total
    

    Similarly, a 500 line file takes around 5s, which is in itself super slow.

    Input Yaml

    5000 lines of YAML, not pasting that here.

    Command The command you ran:

    yq r --tojson swagger.yml
    

    Actual behavior

    Super slow

    Expected behavior

    It should take under a second. That's what a simple Python program does it in.

    Additional context Add any other context about the problem here.

    bug 
    opened by JoakimSoderberg 17
  • yq not found, installed with snap in GH actions

    yq not found, installed with snap in GH actions

    • I have a GitHub actions workflow that uses yq
    • it does sudo snap install yq
    • It was working well, and recently starting to fail (a couple of weeks ago it was fine)
    • it fails for not finding yq (yq: command not found)
    • I even tried the following action which fails: sudo snap install yq && yq --version
    • if I ssh into the worker to debug (using the tmate action), I can use yq. took this debugging info:
    $ which yq
    /snap/bin/yq
    
    $ echo $PATH
    /usr/share/rust/.cargo/bin:/home/runner/.config/composer/vendor/bin:/home/runner/.dotnet/tools:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/runner/.dotnet/tools
    

    This might be a Github Actions issue, or a snapcraft issue, but I thought to check here as well if you know about a change to yq (or it's packaging) that might cause this.

    bug 
    opened by itaysk 16
  • `rhash` is failing verification on the new release

    `rhash` is failing verification on the new release

    Describe the bug

    I have a tool that pulls the YQ version and checks it's rhash value for correctness.. for some reason the latest one is failing (the order of the hashes is incorrect on my machine)

    to test locally:

    docker run --rm -it debian
    apt update && apt install curl jq rhash -y
    YQ_URL="https://api.github.com/repos/mikefarah/yq/releases/latest"
    curl -sSLf -O $(curl -sSLf ${YQ_URL} -o - | jq -r '.assets[] | select(.name|test("linux_amd64$")) | .browser_download_url')
    curl -sSLf $(curl -sSLf ${YQ_URL} -o - | jq -r '.assets[] | select(.name|test("checksums$")) | .browser_download_url') -o checksums
    rhash -a -c <( grep '^yq_linux_amd64 ' checksums )
    
    --( Verifying XXX )------------------------------------------------------
    yq_linux_amd64                                      ERR
    --------------------------------------------------------------------------------
    Errors Occurred: Errors:1   Miss:0   Success:0   Total:1
    

    Additional context I tried to compare the versions and found there were 10 checksums that were in the "incorrect" location. I also checked with upstream rhash and that didn't solve the issue

    please let me know if there is additional info missing

    bug v4 
    opened by georgettica 15
  • Use yq from within go

    Use yq from within go

    I use yq since quite a while now in bash scripts and I love it. Now I've started to look into replacing some of my bash scripts with go binaries and now I struggle with doing there what I did with yq for manipulating yaml data. Is there a way to import yq and use it in go?

    enhancement v4 
    opened by fvogl 0
  • Reuse input format as output

    Reuse input format as output

    Please describe your feature request.

    An option to use the input format as the output format when pretty printing (instead of defaulting output to YAML) would be useful.

    When inplace editing (#1483), the input/output mapping should be preserved for each file separately.

    Additional context

    Thinking about using yq as a pretty printer with pre-commit, hitting a few issues.

    This one could be worked around by defining separate hooks to format JSON, YAML, ... instead of doing all in one.

    enhancement v4 
    opened by scop 0
  • Explode operator incorrectly references old values

    Explode operator incorrectly references old values

    When an object using merge alias is copied, the anchor value is modified and explode operator is used, the copied object contains old unmodified data.

    Version of yq: 4.28.1 (windows) 4.30.6 (linux) Operating system: linux and windows Installed via: choco on windows, snap on linux

    Input Yaml data1.yml:

    a: &a
      x: "OriginalValue"
    b:
      <<: *a
    

    Command The command you ran:

    yq ' .c = .b | .a.x = "ModifiedValue" | explode(.) ' input.yml
    

    Actual behavior

    a:
      x: "ModifiedValue"
    b:
      x: "ModifiedValue"
    c:
      x: "OriginalValue"
    

    Expected behavior

    a:
      x: "ModifiedValue"
    b:
      x: "ModifiedValue"
    c:
      x: "ModifiedValue"
    

    Additional context I believe result from expected behavior should be correct, since if the explode operator is omitted, the resulting yaml is:

    a: &a
      x: "ModifiedValue"
    b:
      !!merge <<: *a
    c:
      !!merge <<: *a
    

    which is correctly exploded to the yaml in expected behavior.

    Furthermore, correct result can be achieved by splitting the script into two calls of yq by runing:

    yq ' .c = .b | .a.x = "ModifiedValue" ' input.yml | yq ' explode(.) ' -
    
    bug v4 
    opened by FooRider 0
  • changed ownership of file

    changed ownership of file

    Describe the bug Ownership is changed from ejabberd to root. The app is runned as root, but changes about the owner are not expected when we use linux commands

    Version of yq: 4.30.4 Operating system: linux Installed via: binary release

    Command The command you ran:

    ./yq -i '.hosts[0] = "public.example.org"' /etc/ejabberd/ejabberd.yml
    ./yq -i 'with(.host_config."public.example.org"; . |= env(pgsql_connect) | ... style="")' /etc/ejabberd/ejabberd.yml
    
    bug help wanted v4 
    opened by rkarpuzov 1
  • Inplace updates incorrectly rewrites multi-line yaml strings

    Inplace updates incorrectly rewrites multi-line yaml strings

    Describe the bug When updating YAML, e.g. with the -i (inplace) option, the updated file has incorrectly modified multi-line strings.

    Version of yq: 4.26.1 Operating system: mac Installed via: homebrew

    Input Yaml Concise yaml document(s) (as simple as possible to show the bug, please keep it to 10 lines or less) input.yml:

    name: A name
    description: -<
      A description that uses multi-line format.
    value: one
    

    Command The command you ran:

    yq -i ".value=\"two\"" input.yaml 
    

    Actual behavior

    name: A name
    description: -< A description that uses multi-line format.
    value: two
    

    Expected behavior

    name: A name
    description: -<
      A description that uses multi-line format.
    value: two
    

    It would also be valid if it at least rewrote the YAML in a valid way, i.e.:

    name: A name
    description: A description that uses multi-line format.
    value: two
    

    (i.e. without the YAML formatting characters added to the string value.)

    Additional context

    The behaviour is the same without the -i option, and if the multi line string spans more lines, and if it has a blank line after it. This may be related to/have the same root cause as #439 and #566.

    bug v4 
    opened by greenatatlassian 0
  • Variables are mixed up

    Variables are mixed up

    Describe the bug Variables seem to be mixed up when using within a map.

    Version of yq: 4.30.5 Operating system: mac Installed via: homebrew

    Input Yaml Concise yaml document(s) (as simple as possible to show the bug, please keep it to 10 lines or less) input.yml:

    key1:
      - value1A
      - value1B
      - value1C
    
    key2:
      - value2A
      - value2B
      - value2C
    

    Command The command you ran:

    yq e '. as $root | keys | map(select(. == "key1" or . == "key2") | . as $kind | $root[$kind] | map({"combination": ($kind + "/" + .)})) | flatten' input.yml
    

    Actual behavior

    - combination: key1/value1A
    - combination: key2/value1A
    - combination: key1/value1B
    - combination: key2/value1B
    - combination: key1/value1C
    - combination: key2/value1C
    - combination: key1/value2A
    - combination: key2/value2A
    - combination: key1/value2B
    - combination: key2/value2B
    - combination: key1/value2C
    - combination: key2/value2C
    

    Expected behavior

    - combination: key1/value1A
    - combination: key1/value1B
    - combination: key1/value1C
    - combination: key2/value2A
    - combination: key2/value2B
    - combination: key2/value2C
    

    Additional context

    I'm aware the the expression isn't fully optimized (e.g. pick could be used). But the very same expression works in jq:

    yq -o=json input.yml | jq '. as $root | keys | map(select(. == "key1" or . == "key2") | . as $kind | $root[$kind] | map({"combination": ($kind + "/" + .)})) | flatten' -
    

    results in:

    [
      {
        "combination": "key1/value1A"
      },
      {
        "combination": "key1/value1B"
      },
      {
        "combination": "key1/value1C"
      },
      {
        "combination": "key2/value2A"
      },
      {
        "combination": "key2/value2B"
      },
      {
        "combination": "key2/value2C"
      }
    ]
    

    which is the equivalent to the expected yaml.

    bug v4 
    opened by ffried 0
Releases(v4.30.6)
Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.

dasel Dasel (short for data-selector) allows you to query and modify data structures using selector strings. Comparable to jq / yq, but supports JSON,

Tom Wright 3.9k Jan 2, 2023
🔄 A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON

proto2yaml ?? A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON. Currently supported exports are for: Packages Service

Kristof Kowalski 9 Nov 10, 2022
An open-source GitLab command line tool bringing GitLab's cool features to your command line

GLab is an open source GitLab CLI tool bringing GitLab to your terminal next to where you are already working with git and your code without switching

Clement Sam 2.1k Dec 30, 2022
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

null 0 Nov 22, 2021
A command line tool to prompt for a value to be included in another command line.

readval is a command line tool which is designed for one specific purpose—to prompt for a value to be included in another command line. readval prints

Venky 0 Dec 22, 2021
Use the command to convert arbitrary formats to Go Struct (including json, toml, yaml, etc.)

go2struct-tool Use the command to convert arbitrary formats to Go Struct (including json, toml, yaml, etc.) Installation Run the following command und

Afeyer 1 Dec 16, 2021
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

asciigraph Go package to make lightweight ASCII line graphs ╭┈╯. Installation go get github.com/guptarohit/asciigraph Usage Basic graph package main

Rohit Gupta 2.1k Jan 8, 2023
git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.

Table of contents Introduction Reference Contributing Introduction Overview git-xargs is a command-line tool (CLI) for making updates across multiple

Gruntwork 713 Dec 31, 2022
git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command

git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command. You give git-xargs:

Maxar Infrastructure 1 Feb 5, 2022
Package command provide simple API to create modern command-line interface

Package command Package command provide simple API to create modern command-line interface, mainly for lightweight usage, inspired by cobra Usage pack

chenen 0 Jan 16, 2022
A command line tool for simplified docker volume command built with go

dockervol A command line tool for simplified docker volume command built with go. Features: Remove anonymous volume (beta) Remove volume by matching n

Moh Achun Armando 0 Dec 18, 2021
Watcher - A simple command line app to watch files in a directory for changes and run a command when files change!

Watcher - Develop your programs easily Watcher watches all the files present in the directory it is run from of the directory that is specified while

Geet Sethi 1 Mar 27, 2022
Generate High Level Cloud Architecture diagrams using YAML syntax.

A commandline tool that generate High Level microservice & serverless Architecture diagrams using a declarative syntax defined in a YAML file.

Luca Sepe 557 Dec 24, 2022
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.

Sampler. Visualization for any shell command. Sampler is a tool for shell commands execution, visualization and alerting. Configured with a simple YAM

Alexander Lukyanchikov 11.1k Dec 28, 2022
YAML Incremental Digger.

yd YAML Incremental Digger. Installation $ go install github.com/skanehira/[email protected] Usage All of first, you can read yaml file as following. $ yd fil

skanehira 15 Feb 19, 2022
YAML support for the Go language

YAML support for the Go language Why a new library? As of this writing, there already exists a de facto standard library for YAML processing for Go: h

Masaaki Goshima 798 Dec 31, 2022
An alternative syntax to generate YAML (or JSON) from commandline

yo An alternative syntax to generate YAML (or JSON) from commandline. The ultimate commanline YAML (or JSON) generator! ... I'm kidding of course! but

Luca Sepe 10 Jul 30, 2022
CLI for SendGrid, which helps in managing SSO users, can install and update users from yaml config

Sendgrid API This script is needed to add new users to SendGrid as SSO teammates. Previously, all users were manually added and manually migrating the

ANNA 4 Jul 20, 2022
yq lets you read YAML files easily on the terminal. You can find key/values easily

yq yq lets you read YAML files easily on the terminal. You can find key/values easily. Motivation Reading yaml configurations for k8s file becomes ard

Farhan 3 Nov 2, 2021