forked from toolshed/docs.coopcloud.tech
		
	docs/maintainers/handbook.md aktualisiert
Thats how I until now understood process of adding an env var. Thought it might help other's who are new. I am very open to suggestions, other best practices, corrected typos...
This commit is contained in:
		@ -124,6 +124,43 @@ You can also access it in your configs using the following syntax:
 | 
				
			|||||||
{{ env "FOO" }}
 | 
					{{ env "FOO" }}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Example: Adding environment variables to existing recipe
 | 
				
			||||||
 | 
					Here is a four step example how to add a new environment variable to a recipe without breaking existing deployments. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. add env-var to the `compose.yml` in section `environment`:
 | 
				
			||||||
 | 
					   ```yaml
 | 
				
			||||||
 | 
					       environment:
 | 
				
			||||||
 | 
					         # ... existing envs
 | 
				
			||||||
 | 
					         - REQUIRE_AUTH_FOR_PROFILE_REQUESTS=${REQUIRE_AUTH_FOR_PROFILE_REQUESTS:-false}
 | 
				
			||||||
 | 
					         # ... other existing envs
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   With `${REQUIRE_AUTH_FOR_PROFILE_REQUESTS:-false}` you set a default value (`false`), ensuring not to break existing deployments. 
 | 
				
			||||||
 | 
					   If you're sure that it won't cause problems, if operators of existing deployments don't set the variable, you could also just put:
 | 
				
			||||||
 | 
					   ```yaml
 | 
				
			||||||
 | 
					       environment:
 | 
				
			||||||
 | 
					         # ... existing envs
 | 
				
			||||||
 | 
					         - REQUIRE_AUTH_FOR_PROFILE_REQUESTS
 | 
				
			||||||
 | 
					         # ... other exisitng envs
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. add env-var to the `.env.sample`
 | 
				
			||||||
 | 
					   ```yaml
 | 
				
			||||||
 | 
					   #REQUIRE_AUTH_FOR_PROFILE_REQUESTS=true
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. now you can use the environment-variable in your `.tmpl` files, e.g. add to `homserver.yaml.tmpl`
 | 
				
			||||||
 | 
					   ```yaml
 | 
				
			||||||
 | 
					   require_auth_for_profile_requests: {{ env "REQUIRE_AUTH_FOR_PROFILE_REQUESTS" }}
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					4. increase number of YAML-version in `abra.sh` (e.g. from `v30` to `v31`), only then it will be deployed. 
 | 
				
			||||||
 | 
					   ```yaml
 | 
				
			||||||
 | 
					   export HOMESERVER_YAML_VERSION=v31
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Note: If during development and testing you have to increase it several times, you can just "flatten" it in the end. Only make sure that you `undeploy`/`deploy` your existing instance.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Global environment variables
 | 
					### Global environment variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `TYPE`: specifies the recipe name
 | 
					- `TYPE`: specifies the recipe name
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user