> For the complete documentation index, see [llms.txt](https://totalsoft.gitbook.io/graphql-rocket-generator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://totalsoft.gitbook.io/graphql-rocket-generator/built-in-architecture/deployment.md).

# Deployment

When you are ready you can deploy your application on any platform. This template also includes a pre-configured Dockerfile and optional Helm files.&#x20;

Application (or non-system) containers security can be enhanced by running as a non-root user. This can reduce the damage done by a malicious actor that gains access to the application and the underlying system, because it will have only the rights assigned to that user (for example it will not be able to install arbitrary software).&#x20;

Once the project is generated, a user is created for your project. Default name is "*appuser*". You can change the name in Dockerfile.

## HashiCorp Vault

**HashiCorp Vault** is a secrets management tool specifically designed to control access to sensitive credentials in a low-trust environment.&#x20;

It can be used to store sensitive values and at the same time dynamically generate access for specific services/applications on lease. Plus, Vault can be used to authenticate users (machines or humans) to make sure they are authorised to access a particular file.&#x20;

The generated project comes with default configurations for Vault. At release time, the configurations must be changed with the Vault secrets defined for your project.&#x20;

{% hint style="info" %}
By default, the project doesn't use secrets defined in Vault. In order to use it, the 'vaultEnvironment' property must be set to true in values.yaml at release.
{% endhint %}

More info: <https://opensource.com/article/18/3/just-say-no-root-containers>


---

# 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:

```
GET https://totalsoft.gitbook.io/graphql-rocket-generator/built-in-architecture/deployment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
