Releases: BigBoot/AutoKuma
Releases · BigBoot/AutoKuma
Release v2.1.0-rc.1
Changed
- The kuma cli will automatically pick up an existing autokuma config so it's possible to use a shared config. (This works for both env variable config as well as config files)
Added
- Added advanced docker host config for connecting to docker using TLS with custom certs, see #162
- Support for SMTP entity type, see #159
- Add
kumacli to the autokuma docker container for easier troubleshooting - Support for loading config values from files via
@/path/to/filesyntax in environment variables, useful for Docker/Kubernetes secrets, see #136 - Support for defining
!Snippetsvia environment variables usingAUTOKUMA__SNIPPETS__n__KEY/AUTOKUMA__SNIPPETS__n__VALUE, see #171 - Add support for
retry_only_on_status_code_failureonjson-querymonitors, see #172
Fixed
- Fix autokuma trying to use itself as a config file, see #149
- Fix resend_interval missing for most monitor types, see #152
- Fix duplicate monitor creation caused by
db.clean()racing against a stale WebSocket cache snapshot when creating many monitors in a batch, see #177 - Fix "entity reappeared" guard in the deletion queue never firing due to a variable shadowing bug
- Fix connection not recovering after EngineIO errors or Uptime Kuma restarts — dead connections are now dropped and reconnected on the next sync cycle, see #157
Release v2.0.0
Changed
⚠️ BREAKING CHANGE⚠️ Uptime Kuma v2 support is now enabled by default, v1 compatible images are available with theuptime-kuma-v1-prefix, please make sure to use the correct tag.- AutoKuma now keeps the connection alive between syncs, this should dramatically reduce the load on uptime kuma
- Improve error messages for label parsing
Fixed
- Improve parsing for
expected_valueproperties - DateTime parsing now works for MariaDB backed uptime kuma instances
- Improve parsing for
notification.activeandnotifcation.is_default - Default values not being applied correctly
Added
- Add container exclusion patterns for Docker Compose temporary containers, see #141 @Laptop765
- Remote Database Shrink and Remote Database GetSize command, see #144 @ianmclinden
Release v1.0.0
Changed
⚠️ BREAKING CHANGE⚠️ AutoKuma now requires persistent storage:
AutoKuma previously relied on using an Uptime Kuma label on monitors to store internal data, allowing it to operate statelessly without requiring storage.
However, this approach had significant drawbacks: it always added a label to monitors managed by AutoKuma and only worked for monitors, not for other entities like notification providers, docker hosts, labels, etc.
Starting with this version, AutoKuma will instead track its monitors using a database that needs to be stored in a persistent location.
For a Docker Compose setup, you can use a named volume. Please refer to the example docker-compose.yml for guidance.
To prevent data loss, AutoKuma will refuse to run if it detects any old monitors with an AutoKuma label. After adding a persistent storage location, AutoKuma will need to be started once with the environment variable AUTOKUMA__MIGRATE=true set to take over any existing monitors. This environment variable can be removed afterward.
- Access to environment variables in templates restricted to variables starting with
AUTOKUMA__ENV__, see #97 - Changed Monitor::proxy_id to Option, parsing now supports both numbers and strings, see #95
- File source now skips hidden files
- File source now skips unsupported file types, see #127
Added
- All CLI commands now support reading multiple files/ids/slugs at once, as well as parsing arrays of objects where applicable, #74
- Access to
system_infoin templates, see [#2] - Ability to generate TOTP tokens from a TOTP secret
- Support for creating Tags from Labels, see #40
- File source now supports multiple entities per file, the ids will be named
<file_stem>[<index>]accordingly, see #86 - Kubernetes integration, see #58
- File source can now follow symlinks (configurable, disabled by default)
- Add
--mfa-secretto kuma CLI - Add authentication using a jwt token:
- AutoKuma will store a jwt token after the initial login and use this for subsequent logins, alternatively a token can be supplied manually in the config
- Kuma CLI now has a
logincommand which allows manually obtaining a jwt token - Kuma CLI now has a
--auth_tokenoption to allow authenticating with a jwt token - Kuma CLI now has a
--store-authoption which will store the token after a succesfull login (e.g. usingkuma login --store-auth [username]) - Added grace period before removing entities when the definitions vanish (e.g. when updating a container)
Fixed
- File source now skips unsupported files rather then interrupting the whole sync, see #89
- File source now supports nested folders, the ids will be in the format
<folder>/<filename>without the file extension, see #28 - Add missing retry_interval alias, see #96
- Fix wrong path for websocket url, see #123
Release v0.8.0
Release v0.7.0
Added
- Enable SSL for docker connections (using DOCKER_HOST, DOCKER_CERT_PATH, DOCKER_TLS_VERIFY env vars), see #50
- Create monitors from docker swarm services, see #54
create_pausedproperty to create new monitors in paused state, see #53
Fixed
- Add missing
queryproperty forsqlserver,postgresandmysql, see #36 - Fix parsing of recurring maintenance with no effective date range, see #43
- Filter cyclic parent_name reference, see #56
Changed
- Transparently flatten arrays in static monitor definitions, see #51
Release v0.6.0
Changed
- !! WARNING POTENTIAL BREAKING CHANGE !!: switch from custom templating to Tera
This change might break your current configuration if one of the following applies:- Your labels contain
{{,}},{%,%},{#or#}:
Wrap your labels in{% raw %}{% endraw %}to ensure Tera does not try to parse them, e.g.:
kuma.mygroup.group.name: "This is a {{ Group }}"->kuma.mygroup.group.name: "{% raw %}This is a {{ Group }}{% endraw %}" - You are using Snippets with arguments:
The syntax for snippet arguments changed from{{@0}},{{@1}},{{@2}}etc. to{{args[0]}},{{args[1]}},{{args[2]}}etc.
- Your labels contain
- Static Monitors will be be postprocessed in the same way as monitors defined by container labels, see #33
Fixed
- autokuma: connections not being closed when an error occurs during setup, see #11
Added
- kuma-cli: docker-host management
- kuma-cli: colored output in pretty print mode
- autokuma: add on_delete config option, see #29
Removed
- kuma-cli: toml output format as it's not compatible with all data
Release v0.5.0
Release v0.4.1
Added
- Ability to replace template values in tag names (as long as the tags start with the defined prefix), see #14
- Ability to load user-wide AutoKuma config
- log_dir config for storing logs as files
Fixed
- Fixed parsing of max_retries and max_redirects, see #12
- Release pipeline
Changed
- Remove leading slash from container names in template values, see #14
- Added fallback for static_monitors