Commit Graph
68 Commits
Author SHA1 Message Date
moebiusbandandClaude Opus 5 a5c1fdf21f fix: forward resample algorithm to metric store for running jobs
Only archived job data and internal-store node-list data honoured the
selected resample algorithm. For running jobs the algorithm was dropped:
MetricDataRepository.LoadData had no such parameter, so the memory store
fell back to an empty string, which cc-lib's GetResampler maps to LTTB.
The external store client was worse - its APIQueryRequest had no
ResampleAlgo field at all, and LoadNodeListData accepted the parameter
without using it.

Add resampleAlgo to the LoadData interface (mirroring LoadNodeListData),
forward it from metricdispatch, and set it on both stores' requests. The
field is tagged omitempty, so the wire format is unchanged when empty -
verify the deployed cc-metric-store accepts it before relying on it there.

The REST job endpoints pass a non-zero resolution and therefore do
resample, so they now request the configured default instead of an empty
string. Add config.ResampleAlgo() for that, since "" is not a neutral
value at this layer.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:17:03 +02:00
moebiusbandandClaude Opus 5 d40390061d fix: unify resample policy target-points table
The policy -> target-points mapping existed twice with different values:
internal/config (300/600/1000) fed the resampler's MinimumRequiredPoints
threshold, while internal/metricdispatch (200/500/1000) fed the requested
resolution and the frontend target point count.

Because the threshold was larger than the target, the resampler refused to
downsample series whose length fell between the two numbers, silently
dropping the resolution the backend had asked for. With the medium policy
that covered every series between 500 and 600 points.

Move the table into internal/config as the single source of truth (import
direction rules out the reverse, since metricdispatch already imports
config) and keep the 200/500/1000 values, which already drove the requested
resolution. metricdispatch.TargetPointsForPolicy now delegates to it, so
MinimumRequiredPoints equals the target and resampling happens exactly when
a series exceeds it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:16:46 +02:00
Aditya Ujeniya c509a0104b change resampling policy points 2026-07-20 09:43:18 +02:00
moebiusband ffbe171327 Merge branch 'main' into feature/526-average-resample 2026-06-18 07:17:41 +02:00
moebiusbandandClaude Opus 4.8 411bc9b317 feat(web): make footer legal links configurable
Add a "main.footer-links" config option so the footer Imprint and
Privacy Policy links can point at internal pages (default) or external
URLs. External http(s) targets open in a new tab; empty/unset values
fall back to the built-in /imprint and /privacy routes, keeping the
existing ./var/*.tmpl override mechanism intact.

Closes #517

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: c5dca72c848f
2026-06-17 17:29:50 +02:00
moebiusbandandClaude Opus 4.8 83d04dff17 feat(auth): replace .env/godotenv secret handling with config-based secrets
Secrets (JWT keys, LDAP sync password, OIDC client id/secret, cross-login
keys) are now configured directly in config.json under the auth section
where they are used. Each secret can still be supplied via its existing
environment variable, which takes precedence over the config value.

The godotenv dependency, the .env file, configs/env-template.txt and the
loadEnvironment() bootstrap step are removed. -init now writes the demo
JWT keys into config.json instead of a .env file.

Closes #283

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 3a7cb814c53f
2026-06-17 12:28:17 +02:00
moebiusband 0c56591e4b Adopt config to use policy based resampler configuration
Entire-Checkpoint: 7536f551d548
2026-03-20 08:03:34 +01:00
moebiusband 0069c86e81 Replace explicit resampling config with policy based approach
Entire-Checkpoint: f69e38210bb1
2026-03-20 05:34:12 +01:00
moebiusband 09d0ba71d2 Provide idential nodestate functionality in NATS API
Entire-Checkpoint: 3a40b75edd68
2026-03-16 12:13:14 +01:00
moebiusband df93dbed63 Add busyTimeout config setting
Entire-Checkpoint: 81097a6c52a2
2026-03-16 11:30:21 +01:00
moebiusband 00d2f97c4c fix: Large heap allocations in sqlite driver. Sanitize sqlite config and make it configurablex. Allow to cancel queries. 2026-03-11 11:14:37 +01:00
moebiusband 2a659915a4 Update config schema 2026-02-18 10:18:33 +01:00
moebiusband 98f9c18f72 Merge branch 'dev' into log-aggregator 2026-02-15 19:53:34 +01:00
moebiusband 54ea5d7900 Add nodestate retention and archiving 2026-02-12 09:21:44 +01:00
moebiusband 363e839c49 Add simple log viewer in web frontend 2026-02-07 07:05:33 +01:00
moebiusband 1d4c79c821 Unify JSON attribute naming ot use kebab style case. Cleanup configuration. 2026-01-20 09:47:13 +01:00
moebiusband 5281f3bb60 Remove obsolete config option disable-archive 2026-01-19 16:42:30 +01:00
Michael Panzlaff 489ad44b9f Make apiAllowedIPs optional
If our test and production instance just use *, one might as well make
that the default value. This should ease configuration for minimal
setups.
2026-01-15 16:08:29 +01:00
moebiusband 4cec933349 Remove obsolete cluster config section 2026-01-13 06:28:33 +01:00
moebiusband 8576ae458d Switch to cc-lib v2 2025-12-24 09:24:18 +01:00
moebiusband 9bf5c5dc1a Update README and config schema 2025-12-23 09:34:09 +01:00
moebiusband c1135531ba Port NATS api to ccMessages 2025-12-23 07:56:13 +01:00
moebiusband 1cd4a57bd3 Remove support for mysql/mariadb 2025-12-20 11:13:41 +01:00
moebiusband d30c6ef3bf Make NATS API subjects configurable 2025-12-17 06:08:09 +01:00
moebiusband d7d81e352d Update cc-lib to v1.0.0 and fix bug in init 2025-12-15 12:20:42 +01:00
Aditya Ujeniya fed62b6c45 Functionality to configure resampling 2025-12-12 14:51:01 +01:00
moebiusband bac51891b7 Move avro into memorystore. Refactor
Does not compile
2025-10-18 08:30:42 +02:00
Christoph Kluge 471ec1cd2e change deprecated defaultMetrics loader to new confkey
- see PR #333
2025-10-08 18:24:41 +02:00
moebiusband e58b0fa015 Add ui config tests and fix bugs 2025-09-30 09:01:54 +02:00
moebiusband 4fc78bc382 Refactor variable namings and doc comments 2025-09-27 09:27:36 +02:00
Jan EitzingerandGitHub 916077c6f8 Merge branch 'dev' into add_uiconfig_schema 2025-09-26 13:27:18 +02:00
Aditya Ujeniya b2368a0751 Connectivity to CCMS feature readded 2025-09-10 14:23:18 +02:00
Aditya Ujeniya af43901ca3 Trial and Test MetricStore components 2025-09-08 22:54:13 +02:00
Aditya Ujeniya 62565b9ae2 Combined metricstore api and functions 2025-09-08 11:29:27 +02:00
Aditya Ujeniya bca176170c Migration SQL fix 2025-09-03 08:22:15 +02:00
Christoph Kluge 7a54e2cfb3 add required and minItems flags to uiConfigSchema 2025-07-21 11:37:05 +02:00
Christoph Kluge 54283f6d3c add schema definition for uiConfig 2025-07-21 11:21:54 +02:00
moebiusband 0754ba5292 Port configuration to ccConfig scheme
Decentralize config validation
Modularize configuration handling
2025-07-07 13:09:12 +02:00
moebiusband 639e1b9c6d Port to cc-lib. Extend legal header. 2025-06-30 12:06:35 +02:00
Christoph Kluge c964f09a4f Merge branch 'dev' into review_logging 2025-02-28 17:19:00 +01:00
moebiusband c661baf058 Load new default metrics config from working directory 2025-02-28 14:36:19 +01:00
Christoph Kluge bd0cc69668 Review fatalf log calls and messages 2025-02-27 18:10:04 +01:00
exterr2f f158eaa29c Add default_metrics.json which sets the defaults for job_view_selectedMetrics:cluster for new users 2025-02-10 09:39:49 +01:00
Christoph Kluge a7395ed45b remove config for polarPlotMetrics 2024-12-04 13:57:05 +01:00
moebiusband 1aae1c59d0 Make continous scroll the default 2024-12-03 07:27:10 +01:00
moebiusband fb8bbea99d Remove year in copyright notice 2024-04-11 23:04:30 +02:00
Christoph Kluge b9b452f043 feat: prototype infinite scroll implementation 2024-03-26 15:56:07 +01:00
Christoph Kluge 849b7e038d Fix: make footprint display configurable app-wide
- note: requires full ui-defaults object in config
2024-03-14 15:14:19 +01:00
Christoph Kluge b623092721 feat: persist analysis and status pie selections 2023-08-30 15:15:53 +02:00
moebiusband 32b0c8bdd7 Refactor and cleanup Auth configuration 2023-08-18 10:43:06 +02:00