All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 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_info
in templates, see [#2]
- Support for multiple docker hosts, see #62
- Ability to specify custom tls cert when connecting to Uptime Kuma over HTTPS, see #66
- Ability to ignore invalid tls certs when connecting to Uptime Kuma over HTTPS, see #66
- Fix control sequences not being expanded in snippets, see #60
- Add missing
description
property, see #61 - Fix wrong name for
query
property of database monitors, see #65 - Add missing
upside_down
property alias, see #71 - Fix possible memory leak, see #41
- Add workaround for ntfy, see #72
- 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_paused
property to create new monitors in paused state, see #53
- Add missing
query
property forsqlserver
,postgres
andmysql
, see #36 - Fix parsing of recurring maintenance with no effective date range, see #43
- Filter cyclic parent_name reference, see #56
- Transparently flatten arrays in static monitor definitions, see #51
- !! 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
- autokuma: connections not being closed when an error occurs during setup, see #11
- kuma-cli: docker-host management
- kuma-cli: colored output in pretty print mode
- autokuma: add on_delete config option, see #29
- kuma-cli: toml output format as it's not compatible with all data
- lenient vector parsing for
accepted_statuscodes
, see #23 - support for
push_token
, see #21 - Snippets for reduced boilerplate
- Release pipeline
- 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 parsing of
max_retries
andmax_redirects
, see #12
- Remove leading slash from container names in template values, see #14
- Added fallback for
static_monitors
- Fall back to
DOCKER_HOST
env variable when no socket_path is specified in AutoKuma docker config - add docker image for kuma-cli, see #5
- exclude parent_name when sending monitor data to server, see #8
- Make parsing of ports more lenient, see #9
- Memory leak in kuma-client #1
- Fix documentation for maintenance cli subcommand #4
- Allow deserialization of maintenance timerange without seconds #4
- new CLI client for Uptime Kuma
kuma-cli
- split package into
kuma-client
andautokuma
- renamed env var
AUTOKUMA__KUMA__TAG_NAME
toAUTOKUMA__TAG_NAME
due to package splitting - renamed env var
AUTOKUMA__KUMA__TAG_COLOR
toAUTOKUMA__TAG_COLOR
due to package splitting - renamed env var
AUTOKUMA__KUMA__DEFAULT_SETTINGS
toAUTOKUMA__DEFAULT_SETTINGS
due to package splitting - automatically append
/socket.io/
toKUMA__URL
- Make Connection timeout configurable [
AUTOKUMA__KUMA__CONNECT_TIMEOUT
] - Make Call timeout configurable [
AUTOKUMA__KUMA__CALL_TIMEOUT
] - Allow defining default settings [
AUTOKUMA__KUMA__DEFAULT_SETTINGS
] - Add templates for setting values
- Ability to load "static" monitors from a directory [
AUTOKUMA__STATIC_MONITORS
] - Ability to disable docker intergration [
AUTOKUMA__DOCKER__ENABLED
] (useful in combination withAUTOKUMA__STATIC_MONITORS
)
- Increase default timeout for calls and connecting to 30s
- Support for authentication using credentials
- Fix typo in env variable: AUTOKUMA__DOCKER__LABEL_PREFOX -> AUTOKUMA__DOCKER__LABEL_PREFIX
- Websocket connections were not being closed correctly so they would just accumulate over time
- Ability to parse nested structs from container labels (required for notification_id_list)
- Improve error handling
- First release