Lars Strojny
8a0061428d
Move conditions to the top
2022-11-24 20:21:10 +01:00
Lars Strojny
f30dfe0cee
Use constant instead of magic number
2022-11-24 20:18:48 +01:00
Lars Strojny
e5b3a90fae
Use string concatenation instead
2022-11-24 19:59:03 +01:00
Lars Strojny
d25207923c
Fix symbol name conflict
2022-11-24 19:58:07 +01:00
Lars Strojny
f45df5d422
Clean up prefix handling
2022-11-24 19:53:03 +01:00
Lars Strojny
65304798de
Memoized renderering ( #37 )
...
Pre-render metrics on discovery once and then reuse rendered response.
2022-11-24 19:35:02 +01:00
Lars Strojny
565f423dd9
Extract stringReverse() function
2022-11-24 19:24:00 +01:00
Lars Strojny
7c7673f1c2
Fix code smells ( #36 )
...
Fix code smells detected by SonarCloud
2022-11-23 14:30:23 +01:00
dependabot[bot]
f70de293a5
Bump hap-nodejs from 0.10.4 to 0.11.0 ( #31 )
2022-11-18 13:11:43 +01:00
Lars Strojny
261fa74ac9
Add configuration option for the metric server interface ( #25 )
...
Add a configuration option `interface` to allow configuring where the
HTTP metric server should bind to.
2022-11-17 13:15:07 +01:00
Lars Strojny
ce8876793d
Fall back to IPv4 if EAFNOSUPPORT ( #24 )
...
If listening to `::` fails, try `0.0.0.0` instead. Addresses #22
2022-11-16 22:47:41 +01:00
Lars Strojny
f8007b55ca
Add experimental support for basic auth and TLS ( #23 )
...
Allows restricting access to the monitoring endpoint using basic auth
and configure TLS certificates.
2022-11-16 22:19:08 +01:00
Lars Strojny
479fbe5727
Refactor internal APIs
2022-11-14 01:20:53 +01:00
Lars Strojny
34be5bbca2
Implement consistent request logging
2022-11-13 13:34:33 +01:00
Lars Strojny
8102144b85
Explicit type imports
2022-11-13 13:34:09 +01:00
Lars Strojny
b74721ee76
Handle null values in characteristics ( #20 )
...
Apparently `characteristic.value` can also be null. Let’s handle it
properly. Fixes #19
2022-11-13 11:13:13 +01:00
Lars Strojny
52efa69bf0
Automate code generation for config schema ( #16 )
...
Use a fork of https://github.com/lstrojny/json-schema-to-zod to generate
the boundary check for the config automatically.
2022-11-10 13:06:16 +01:00
Lars Strojny
1088a78079
Strict type imports ( #17 )
...
When a symbols is only used as a type, require `import type {…}`
2022-11-10 13:00:45 +01:00
Lars Strojny
822f0da2eb
Set charset in metrics content type ( #15 )
...
Send `Content-Type: text/plain; charset=utf-8; version=0.0.4` instead of
`Content-Type: text/plain; version=0.0.4` so that special characters in
names have a chance to work.
2022-11-10 11:10:31 +01:00
Lars Strojny
f6bc8ca90c
Use code generation for UUID service map ( #14 )
...
Instead of introspecting *hap-nodejs* at runtime for UUID to service
mapping, generate the map during build time.
2022-11-10 11:07:31 +01:00
Lars Strojny
71e45a3d8c
More user-friendly (and developer-friendly) zod error reporting ( #12 )
...
Show each error message from zod and include an excerpt of the data
around the failing path if possible
2022-11-09 21:36:23 +01:00
Lars Strojny
2bd799ca9c
Integration tests for the fastify HTTP adapter ( #11 )
2022-11-09 19:08:24 +01:00
Lars Strojny
eead518f95
Gracefully handle unknown service UUIDs ( #10 )
2022-11-09 14:58:03 +01:00
Lars Strojny
72761ceee6
Support "tlv8" and "data" characteristic formats ( #8 )
2022-11-09 14:10:50 +01:00
Lars Strojny
e64b621336
Mention where the escape functions come from
2022-11-09 00:41:15 +01:00
Lars Strojny
2596c9f4ea
Remove bundled hap-nodejs dependency
2022-11-08 23:58:46 +01:00
Lars Strojny
25b9afa1d2
Run tests via github actions
2022-11-08 22:59:00 +01:00
Lars Strojny
84761dfa93
Replace runtypes with zod, validate config, stricter eslint config
2022-11-08 19:13:34 +01:00
Lars Strojny
4a7d6ff6de
Allow configuring the prefix
2022-11-08 14:43:49 +01:00
Lars Strojny
900f528b95
Rename port setting
2022-11-08 14:26:08 +01:00
Lars Strojny
78a8972bb0
Expose bools as metrics as well
2022-11-08 01:20:46 +01:00
Lars Strojny
f1b48575cb
Use hap-nodejs instead
2022-11-07 23:43:44 +01:00
Lars Strojny
ba3786bf6d
Fix linting issues
2022-11-07 23:02:24 +01:00
Lars Strojny
e338c982d2
Prometheus wants counter, not count
2022-11-07 22:41:52 +01:00
Lars Strojny
7fd1c5a03c
Extract prometheus server
2022-11-07 22:31:17 +01:00
Lars Strojny
d0b9b6a36e
Rename /probe to /metrics
2022-11-07 21:01:21 +01:00
Lars Strojny
ff7fd44f2c
Extract rendering
2022-11-07 20:50:58 +01:00
Lars Strojny
4b4f8e8d0f
Remove instance attribute
2022-11-07 19:32:38 +01:00
Lars Strojny
60be04925e
Fix Promise issue
2022-11-07 19:30:55 +01:00
Lars Strojny
8e183b9fb7
Listen not only on localhost
2022-11-07 18:26:58 +01:00
Lars Strojny
00dd20559a
Initial version
2022-11-07 15:23:48 +01:00
Lars Strojny
dd4a135022
Initial commit
2022-11-06 13:04:30 +01:00