Binary Data
binary data
In YAML, binary data is used to store: ๐ Non-text data (images, files, certificates, keys, etc.). Since YAML is text-based, binary data is encoded using: ๐ Base64 encoding
Binary data can be represented in YAML using Base64 encoding. This allows you to include binary data, such as images or files, within a YAML document.
converted → Base64 → stored as text
Srtucture:
file_content: !!binary |
SGVsbG8gRGV2T3Bz
file_data: !!binary |
R0lGODlhAQABAIAAAAUEBAgKACwAAAAAAAAQABAAACAkQBADs=
What happens internally:
Original data → Hello DevOps
Encoded → SGVsbG8gRGV2T3Bz
YAML stores → text safely
eg
certificate: !!binary |
MIIDdzCCAl+gAwIBAgIEbM2Q0jANBgkqhkiG9w0BAQsFADBoMQswCQYDVQQG
EwJVUzELMAkGA1UECBMCQ0ExETAPBgNVBAcTCFNhbiBKb3NlMRgwFgYDVQQK
EwwgRXhhbXBsZSBDb3JwMQ8wDQYDVQQLEwZJVCBEZXB0MRgwFgYDVQQDEw9l
eGFtcGxlLmNvbTAeFw0yMTA1MDkwODI4NDJaFw0zMTA1MDcwODI4NDJaMGgx
CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTERMA8GA1UEBxMIU2FuIEpvc2Ux
GDAWBgNVBAoTD0V4YW1wbGUgQ29ycDEPMA0GA1UECxMGSUQgRGVwdDEYMBYG
A1UEAxMPZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7mLhHjZyqfXlH65s8v1Z9Xy+5n2u7v1z9X9X9X9X9X9X9X9X9X9X9X
apiVersion: v1
kind: Secret
data:
username: YWRtaW4=
password: cGFzc3dvcmQ=
to Decode Base64
Base64 → Decoded data
# echo "password" | base64
# cGFzc3dvcmQ=
# echo cGFzc3dvcmQ= | base64 --decode
# password
# echo cGFzc3dvcmQ= | base64 -d
# password
YAML decodes the Base64 encoded data back to its original form when it is read or processed.
No comments:
Post a Comment