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