feat(config)!: Reworked how configuration is loaded
Some checks failed
Build and deploy / Deploy container (push) Blocked by required conditions
Build and deploy / build (push) Has been cancelled

The environment variable `AUTOMATION_CONFIG` has been renamed to
`AUTOMATION__ENTRYPOINT` and can now also be set in `automation.toml` by
specifying:
```
automation = "<path>"
```

Directly accessing the environment variables in lua in no longer
possible. To pass in configuration or secrets you can now instead make
use of the `variables` and `secrets` modules.

To set values in these modules you can either specify them in
`automation.toml`:
```
[variables]
<name> = <value>

[secrets]
<name> = <value>
```

Or specify the environment variables `AUTOMATION__VARIABLES__<name>` and
`AUTOMATION__SECRETS__<name>` to set variables and secrets respectively.
By adding the suffix `__FILE` to the environment variable name the
contents of a file can be loaded into the variable or secret.

Note that variables and secrets are identical in functionality and the
name difference exists purely to make it clear that secret values are
meant to be kept secret.
This commit is contained in:
2025-09-05 02:46:37 +02:00
parent 7a9f464e61
commit c26190b45f
9 changed files with 174 additions and 26 deletions

View File

@@ -21,6 +21,6 @@ RUN cargo auditable build --release
FROM gcr.io/distroless/cc-debian12:nonroot AS runtime
COPY --from=builder /app/target/release/automation /app/automation
ENV AUTOMATION_CONFIG=/app/config.lua
ENV AUTOMATION__ENTRYPOINT=/app/config.lua
COPY ./config.lua /app/config.lua
CMD [ "/app/automation" ]