0Pricing
Helm Academy · Lesson

Piping Values Through Functions

Chaining transformations with the pipe operator.

Piping Values Through Functions is a free Helm Academy lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Helm Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Why Pipelines Exist

Raw values are rarely manifest-ready. A pipeline lets you transform a value step by step before it lands in your YAML.

The Pipe Operator

The pipe ( | ) sends the value on its left into the function on its right, just like a shell pipe. 🔧

{{ .Values.name | upper }}

Left Becomes Last Argument

The piped value is passed as the last argument to the next function. That is the key rule to keep chains readable.

{{ .Values.greeting | trim }}

Chaining Many Steps

You can chain several functions in a row. Each result flows into the next, building a clean transformation pipeline.

{{ .Values.name | lower | quote }}

Reading a Pipeline Right

Read a pipeline left to right: start with the source, then apply each function in turn until the final value emerges.

Pipes vs Nested Calls

A pipeline is just sugar for nested calls. Both forms are valid, but pipes read far more cleanly for long chains.

{{ quote (upper .Values.name) }}

Passing Extra Arguments

Functions in a pipe can take their own arguments too. The piped value still arrives as the final argument after them.

{{ .Values.name | trunc 10 }}

Pipelines and quote

Ending a string pipeline with quote is a common habit. It wraps the result in double quotes so the YAML stays valid.

{{ .Values.message | quote }}

Parentheses Group Sub-Pipelines

Wrap a sub-expression in parentheses to compute it first, then feed that whole result into the outer pipeline.

{{ (.Values.a | upper) | quote }}

Where Pipelines Run

Pipelines live inside the double-brace action. Helm evaluates them at render time and substitutes the final string into your manifest.

Keep Chains Short

Long chains get hard to debug. Favor a few clear steps, and split logic into variables when a pipeline grows unwieldy.

Quick Check

How does the pipe pass a value to the next function?

Recap

You learned that the pipe chains functions, passing each value as the last argument. Clean, short pipelines make templates easy to read. 🎉

Frequently asked questions

Is the “Piping Values Through Functions” lesson free?

Yes — the full text of “Piping Values Through Functions” is free to read here on the web, and the Helm Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Helm Academy course, upgrade to CoddyKit PRO.

What will I learn in “Piping Values Through Functions”?

Chaining transformations with the pipe operator. You practise Helm Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Helm Academy?

No prior experience is required. Helm Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Piping Values Through Functions” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Helm Academy lesson?

Yes. Every Helm Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Piping Values Through Functions
  2. default, required, and quote
  3. String Helpers from the Sprig Library
  4. Encoding with b64enc, toYaml, and indent
← Back to Helm Academy