> For the complete documentation index, see [llms.txt](https://v2.dataos.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v2.dataos.info/concepts/resources/secret/projections/how-projections-work.md).

# How projections work

Use this page to understand what happens after DataOS resolves a projection.

### What happens at runtime

After DataOS processes the projection, the generated values are prepared for the container.

```
Environment variables are injected into the container.

Generated files are mounted into the configured directory.

Generated arguments are passed to the container command.

Dictionary values are made available to the consuming runtime.
```

The application does not need to know that the values came from a projection. It reads them like normal environment variables, files, or arguments.

### Runtime flow

{% stepper %}
{% step %}

### Template execution

DataOS processes your templates using Go `text/template` or Liquid.
{% endstep %}

{% step %}

### Secret creation

Generated files and environment variables are stored in Kubernetes Secrets.
{% endstep %}

{% step %}

### Container mounting

DataOS mounts the generated output into the container as:

* **Environment variables** through `envFrom`
* **Files** through `volumeMounts` in the configured directory
  {% endstep %}

{% step %}

### Runtime access

Your application reads the projected values like standard files, variables, and arguments.
{% endstep %}
{% endstepper %}

### Default mount paths

* **Environment variables**: available as standard environment variables
* **Files without a directory**: `/etc/dataos/secret/`
* **Files with a custom directory**: your specified path
* **Config files**: `/etc/dataos/config/`: reserved
* **Work directory**: `/etc/dataos/work/`: reserved


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://v2.dataos.info/concepts/resources/secret/projections/how-projections-work.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
