From 2ed6d5c9deb11ddf30199ff80ab48170414c4dea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 12:14:50 +0000 Subject: [PATCH] chore: update docs/yaml.md [20260518-1212] --- docs/yaml.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/yaml.md b/docs/yaml.md index 73db2c27..c9e578ed 100644 --- a/docs/yaml.md +++ b/docs/yaml.md @@ -25,19 +25,19 @@ - [wikipedia: YAML](https://en.wikipedia.org/wiki/YAML) - [redhat.com: YAML for beginners](https://www.redhat.com/en/blog/yaml-beginners) YAML is an easy, expressive, data-oriented language that distinguishes itself from document markup languages. - [thoughtworks.com: Templating in YAML](https://www.thoughtworks.com/radar/techniques/templating-in-yaml) As infrastructures grow in complexity, so do the configuration files that define them. Tools such as [AWS CloudFormation](https://aws.amazon.com/cloudformation//), [Kubernetes](https://www.thoughtworks.com/radar/platforms/kubernetes) and [Helm](https://www.thoughtworks.com/radar/tools/helm) expect configuration files in JSON or YAML syntax, presumably in an attempt to make them easy to write and process. However, in most cases, teams quickly reach the point where they have some parts that are similar but not quite the same, for example, when the same service must be deployed in different regions with a slightly different setup. For such cases tools offer templating in YAML (or JSON), which has caused a huge amount of [frustration with practitioners](https://leebriggs.co.uk/blog/2019/02/07/why-are-we-templating-yaml). The problem is that the syntax of JSON and YAML requires all sorts of awkward compromises to graft templating features such as conditionals and loops into the files. **We recommend using an API from a programming language instead or, when this is not an option, a templating system in a programming language, either a general-purpose language such as Python or something specialized such as [Jsonnet](https://jsonnet.org/).** -- [Steve Horsfield: DevOps tricks - Templating YAML files](https://stevehorsfield.wordpress.com/2019/08/13/devops-tricks-templating-yaml-files//) Basic text tools fall foul of YAMLโ€™s indentation sensitivity. On the other hand, **YAML tools like [ytt](https://get-ytt.io/) are pretty difficult to interpret.** In my case, I opted for a small [jq](https://stedolan.github.io/jq//) program executed via [yq](https://mikefarah.gitbook.io/yq/). +- [Steve Horsfield: DevOps tricks - Templating YAML files](https://stevehorsfield.wordpress.com/2019/08/13/devops-tricks-templating-yaml-files///) Basic text tools fall foul of YAMLโ€™s indentation sensitivity. On the other hand, **YAML tools like [ytt](https://get-ytt.io/) are pretty difficult to interpret.** In my case, I opted for a small [jq](https://stedolan.github.io/jq///) program executed via [yq](https://mikefarah.gitbook.io/yq/). - [redhat.com: Understanding YAML for Ansible. Validating YAML files with YAMLlint ๐ŸŒŸ](https://www.redhat.com/en/blog/understanding-yaml-ansible) Ansible playbooks are written in YAML, YAML Ain't Markup Language. Understanding YAML syntax is a key to success with Ansible. -- [linuxhandbook.com: YAML Basics Every DevOps Engineer Must Know ๐ŸŒŸ](https://linuxhandbook.com/yaml-basics//) +- [linuxhandbook.com: YAML Basics Every DevOps Engineer Must Know ๐ŸŒŸ](https://linuxhandbook.com/yaml-basics///) - [developers.redhat.com: How to configure YAML schema to make editing files easier](https://developers.redhat.com/blog/2020/11/25/how-to-configure-yaml-schema-to-make-editing-files-easier/) - [kubernetestutorials.com: Kubernetes : Introduction to YAML ๐ŸŒŸ](https://kubernetestutorials.com/kubernetes-tutorials/kubernetes-introduction-to-yaml/) - [betterprogramming.pub: YAML Tutorial: Get Started With YAML in 5 Minutes](https://betterprogramming.pub/yaml-tutorial-get-started-with-yaml-in-5-minutes-549d462972d8) Syntax, salient features, and advanced features. - [abhisheksaini.hashnode.dev: YAML For Data Representation?](https://abhisheksaini.hashnode.dev/yaml-for-representation) YAML is a better option than JSON when comes to representation of Data -- [boxunix.com: A Better Way of Organizing Your Kubernetes Manifest Files ๐ŸŒŸ](https://boxunix.com/2020/05/15/a-better-way-of-organizing-your-kubernetes-manifest-files//) +- [boxunix.com: A Better Way of Organizing Your Kubernetes Manifest Files ๐ŸŒŸ](https://boxunix.com/2020/05/15/a-better-way-of-organizing-your-kubernetes-manifest-files///) - [opensource.com: Make YAML as easy as it looks](https://opensource.com/article/21/9/yaml-cheat-sheet) YAML looks simple so why is it so hard to write? Learn the two secrets to YAML success. - [javascript.plainenglish.io: Everything You Need To Know About YAML Files](https://javascript.plainenglish.io/everything-you-need-to-know-about-yaml-files-5423358cc5c9) Learning about YAML gives you an advantage over your peers since it literally makes programming and configuring cloud computing resources easier. - [w3schools.io: YAML - yaml vs yml file](https://www.w3schools.io/file/yaml-vs-yml/) - [==blog.devgenius.io: YAML with Python==](https://blog.devgenius.io/yaml-with-python-d6787a9bd8ab) This article aims to outline the basics of YAML and write a simple python script that reads configuration details from a YAML file. -- [==realpython.com: YAML: The Missing Battery in Python==](https://realpython.com/python-yaml//) Python lacks built-in support for the YAML data format, commonly used for configuration and serialization, despite clear similarities between the two languages. In this tutorial, youโ€™ll learn how to work with YAML in Python using the available third-party libraries, with a focus on PyYAML. +- [==realpython.com: YAML: The Missing Battery in Python==](https://realpython.com/python-yaml///) Python lacks built-in support for the YAML data format, commonly used for configuration and serialization, despite clear similarities between the two languages. In this tutorial, youโ€™ll learn how to work with YAML in Python using the available third-party libraries, with a focus on PyYAML. - [betterprogramming.pub: 10 Things You Might Not Know About YAML](https://betterprogramming.pub/10-things-you-might-not-know-about-yaml-b0589da547c) Harness the true power of YAML - [==spacelift.io/blog/yaml==](https://spacelift.io/blog/yaml) YAML Tutorial : A Complete Language Guide with Examples - [ruudvanasseldonk.com: The yaml document from hell](https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell) @@ -112,7 +112,7 @@ - [dev.to: The JSON trick 25% of Python devs don't know about](https://dev.to/codereviewdoctor/the-json-trick-25-of-python-devs-dont-know-about-including-devs-at-microsoft-sentry-unicef-and-more-4h10) Reading and writing JSON files in Python. - [dev.to: Convert nested JSON to simple JSON in Javascript](https://dev.to/urstrulyvishwak/convert-nested-json-to-simple-json-in-javascript-4a34) - [pythonspeed.com: Processing large JSON files in Python without running out of memory](https://pythonspeed.com/articles/json-memory-streaming/) -- [thenewstack.io: Why (and How) You Should Manage JSON with SQL](https://thenewstack.io/why-and-how-you-should-manage-json-with-sql//) +- [thenewstack.io: Why (and How) You Should Manage JSON with SQL](https://thenewstack.io/why-and-how-you-should-manage-json-with-sql///) - [betterprogramming.pub: How to Make JSON and Python Talk to Each Other](https://betterprogramming.pub/how-to-make-json-and-python-talk-to-each-other-41531d58e59d) Processing and creating JSON data in Python - [betterprogramming.pub: Exploring JSON, JSON5, and Circular References](https://betterprogramming.pub/exploring-json-json5-and-circular-references-2b5b0c5de532) An in-depth guide on JavaScript Object Notation (JSON) - [automationreinvented.blogspot.com: What is Json Schema and how to perform schema validation using Rest Assured?](https://automationreinvented.blogspot.com/2022/03/what-is-json-schema-and-how-to-perform.html) @@ -153,11 +153,11 @@ - [Validating Kubernetes YAML for best practice and policies ๐ŸŒŸ](https://learnkube.com/validating-kubernetes-yaml) In this article, you will learn and compare six different tools: - [Kubeval](https://teresaforcades.com/pensament/medicina.html/) - [Kube-score ๐ŸŒŸ](https://github.com/zegl/kube-score) **Kubernetes object analysis with recommendations for improved reliability and security. kube-score is a opensource tool that performs static code analysis of Kubernetes object definitions. The output is a list of recommendations where one can improve to make application more secure and resilient.** - - [Config-lint](https://stelligent.github.io/config-lint/) + - [Config-lint](https://stelligent.github.io/config-lint//) - [Copper](https://github.com/cloud66-oss/copper) - [Conftest](https://www.conftest.dev/) - [Polaris](https://github.com/FairwindsOps/polaris) -- [kubevious.io: Top Kubernetes YAML Validation Tools](https://kubevious.io/blog/post/top-kubernetes-yaml-validation-tools//) +- [kubevious.io: Top Kubernetes YAML Validation Tools](https://kubevious.io/blog/post/top-kubernetes-yaml-validation-tools///) - [KubeLinter](https://github.com/stackrox/kube-linter) KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices. - [==thomasthornton.cloud: Analyze your Kubernetes YAML files and Helm Charts to ensure best practices using KubeLinter in Azure DevOps Pipeline==](https://thomasthornton.cloud/2022/04/13/analyze-your-kubernetes-yaml-files-and-helm-charts-to-ensure-best-practices-using-kuberlinter-in-azure-devops-pipeline/) - [medium.com/@jonathan_37674: How to validate Kubernetes YAML files? | ARMO](https://medium.com/@jonathan_37674/how-to-validate-kubernetes-yaml-files-armo-e45dd006d633) Explore defining Kubernetes applications using YAML configs and the various steps we can take to effectively validate these config definitions. @@ -167,10 +167,10 @@ - [ketch](https://theketch.io) - [civo.com: Deployments without YAML using Ketch](https://www.civo.com/learn) - [ketch: Getting Started](https://learn.theketch.io/docs/getting-started) - [github.com/shipa-corp/ketch](https://github.com/theketchio/ketch/) Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface. -- [shipa.io: DevOps Challenge โ€“ Kubernetes Deployment: Ketch vs YAML](https://shipa.io/devops-challenge-kubernetes-deployment-ketch-vs-yaml//) +- [shipa.io: DevOps Challenge โ€“ Kubernetes Deployment: Ketch vs YAML](https://shipa.io/devops-challenge-kubernetes-deployment-ketch-vs-yaml///) - [naml: Not another markup language](https://github.com/krisnova/naml) Framework for replacing Kubernetes YAML with Go. -- [jvns.ca: A list of new(ish) command line tools](https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools//) - - [jq](https://stedolan.github.io/jq//) (a great JSON-wrangling tool) +- [jvns.ca: A list of new(ish) command line tools](https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools///) + - [jq](https://stedolan.github.io/jq///) (a great JSON-wrangling tool) - [jc](https://github.com/kellyjonbrazil/jc) (convert various toolsโ€™ output into JSON) - [jo](https://github.com/jpmens/jo) (create JSON objects) - [yq](https://github.com/mikefarah/yq) (like jq, but for YAML). thereโ€™s also another yq