From d16286d916592d870dfd2040fd1b0c477ffb17eb Mon Sep 17 00:00:00 2001 From: Jeremy Rickards Date: Tue, 7 Apr 2026 23:08:43 +0200 Subject: [PATCH 1/3] Add logstable `migrate.cue` migration script Signed-off-by: Jeremy Rickards --- logstable/schemas/migrate/migrate.cue | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 logstable/schemas/migrate/migrate.cue diff --git a/logstable/schemas/migrate/migrate.cue b/logstable/schemas/migrate/migrate.cue new file mode 100644 index 000000000..75d0678ba --- /dev/null +++ b/logstable/schemas/migrate/migrate.cue @@ -0,0 +1,29 @@ +// Copyright The Perses Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migrate + +#grafanaType: "logs" +#panel: _ + +kind: "LogsTable" +spec: { + if #panel.options.wrapLogMessage != _|_ { + allowWrap: #panel.options.wrapLogMessage + } + if #panel.options.showTime != _|_ { + showTime: #panel.options.showTime + } + #enableLogDetails: *#panel.options.enableLogDetails | true + enableDetails: #enableLogDetails +} From 6f4d967c7c25b803a284c8bdd1ad1470eb135c6f Mon Sep 17 00:00:00 2001 From: Jeremy Rickards Date: Tue, 7 Apr 2026 23:09:18 +0200 Subject: [PATCH 2/3] Add basic test for logstabel migration Signed-off-by: Jeremy Rickards --- .../schemas/migrate/tests/basic/expected.json | 8 +++++++ .../schemas/migrate/tests/basic/input.json | 22 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 logstable/schemas/migrate/tests/basic/expected.json create mode 100644 logstable/schemas/migrate/tests/basic/input.json diff --git a/logstable/schemas/migrate/tests/basic/expected.json b/logstable/schemas/migrate/tests/basic/expected.json new file mode 100644 index 000000000..53ecd2480 --- /dev/null +++ b/logstable/schemas/migrate/tests/basic/expected.json @@ -0,0 +1,8 @@ +{ + "kind": "LogsTable", + "spec": { + "allowWrap": true, + "enableDetails": true, + "showTime": true + } +} diff --git a/logstable/schemas/migrate/tests/basic/input.json b/logstable/schemas/migrate/tests/basic/input.json new file mode 100644 index 000000000..96918fcf7 --- /dev/null +++ b/logstable/schemas/migrate/tests/basic/input.json @@ -0,0 +1,22 @@ +{ + "datasource": { + "uid": "loki" + }, + "options": { + "showLabels": false, + "showTime": true, + "sortOrder": "Descending", + "wrapLogMessage": true + }, + "targets": [ + { + "datasource": { + "uid": "loki" + }, + "expr": "{pod_name=~\"$pod\"} |~ \"$search\"", + "refId": "A" + } + ], + "title": "Logs Panel", + "type": "logs" +} From 7a21c2ce048b14c003f8f9e76fcd9ee05c87d7ea Mon Sep 17 00:00:00 2001 From: Jeremy Rickards Date: Tue, 7 Apr 2026 23:09:56 +0200 Subject: [PATCH 3/3] Add `enableLogDetails` migration script test Signed-off-by: Jeremy Rickards --- .../tests/details-disabled/expected.json | 8 +++++++ .../migrate/tests/details-disabled/input.json | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 logstable/schemas/migrate/tests/details-disabled/expected.json create mode 100644 logstable/schemas/migrate/tests/details-disabled/input.json diff --git a/logstable/schemas/migrate/tests/details-disabled/expected.json b/logstable/schemas/migrate/tests/details-disabled/expected.json new file mode 100644 index 000000000..24367ef28 --- /dev/null +++ b/logstable/schemas/migrate/tests/details-disabled/expected.json @@ -0,0 +1,8 @@ +{ + "kind": "LogsTable", + "spec": { + "allowWrap": false, + "enableDetails": false, + "showTime": false + } +} diff --git a/logstable/schemas/migrate/tests/details-disabled/input.json b/logstable/schemas/migrate/tests/details-disabled/input.json new file mode 100644 index 000000000..baf4439d6 --- /dev/null +++ b/logstable/schemas/migrate/tests/details-disabled/input.json @@ -0,0 +1,23 @@ +{ + "datasource": { + "uid": "loki" + }, + "options": { + "enableLogDetails": false, + "showLabels": false, + "showTime": false, + "sortOrder": "Descending", + "wrapLogMessage": false + }, + "targets": [ + { + "datasource": { + "uid": "loki" + }, + "expr": "{job=\"nginx\"}", + "refId": "A" + } + ], + "title": "Logs", + "type": "logs" +}