🚨🚨 That's a lot of YAML 🚨🚨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#Made with💖by https://ghuntley.com after one too many CustomResourceDefinitions
#Improvements welcome,mash the↗️Octocat↗️and share how YAML makes your life better.
No:
Body:
Wants:
To:
Write:
-YAML
#🤔Why YAML is the right devops technology for you🤔
#
#-100%test coverage,always compiles just fine with no errors or warnings,always shippable
#-no enforced error handling during development because runtime"panic at the disco"in production is dope
#-"something broke"is way better than stack tra ces with line numbers
#-you need to burn hours as part of setting up a new CI pipeline
#-safe choice with unquestionable industry adopt ion,"used by kubernetes"
#-is marginally better than windows.ini
#-unlike json[1][2],YAML supports comments
#-no official documentation(other than a specif ication for implementers)is totally fine
#-you need a super safe way to"execute this cod e"
#🍿wait a sec,did you say"executable yaml"??🍿
#-https://ruby-doc.org/stdlib-2.4.0/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security
#-https://www.php.net/manual/en/function.yaml-parse.php#refsect1-function.yaml-parse-notes
#-https://securitylab.github.com/research/swagger-ya ml-parser-vulnerability/
#-https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.lo ad(input)-Deprecation
#🚨Anyone who uses YAML long enough will eventually get burned when attempting to abbreviate Norway🚨
#`NO`is parsed as a boolean type,which with the YAML 1.1 spec,there are 22 options to write"tru e"or"false."
#You have to wrap"NO"in quotes to get the expec ted result.
NI:Nicaragua
NL:Netherlands
NO:Norway#💣!
#🚨Anyone wondering why their first seven Kubernetes clusters deploy just fine,and the eighth fails?🚨
-07
-08
#Results in
[7,"08"]
#YAML knows that,when you have something that lo oks like the time of day,
#what you _really_ wanted is the time of seconds since midnight
timeOfDay:
whatYouWrote:04:30#And when you parse this file and serialize it ag ain,you may get before YAML 1.2...
whatYouSurelyMeant:16200#Have fun debugging this one!
whatYouShouldHaveWritten:!!str 04:30
#YAML is the super best way to encode Octal(tm)and learning the hard way that Kubernetes uses YAM L 1.1
#is a DevOps rite of passage.Below YAML 1.2 a la rge integer is automatically converted to octal.[3]
-YAML 1.1 uses`0666`notation.
-YAML 1.2 uses`0o666`notation
#YAML is great for specifying package versions,a s long as you like versions being parsed as floati ng point.
versions:
foo:1.7#These two packages have the same version.
bar:1.70#These two packages have the same version.
fizz:1.7.0#But these two packages have different versions.
buzz:1.70.0#But these two packages have different versions.
#🤢I have recently been learning GitHub Actions
[](https://github.com/ghuntley/noyaml)