Skip to content

Commit 5b1f96f

Browse files
[BUGFIX] Queries referencing DatasourceVariable couldn't be saved for multiple datasources (#540)
* [IGNORE] datasource plugins: refactor CUE schemas to rely on new common definitions Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr> * small patch Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr> --------- Signed-off-by: AntoineThebaud <antoine.thebaud@yahoo.fr>
1 parent 64d014c commit 5b1f96f

13 files changed

Lines changed: 42 additions & 96 deletions

File tree

clickhouse/schemas/datasources/click-house-datasource/click-house-datasource.cue

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ import (
1818
commonProxy "github.com/perses/shared/cue/common/proxy"
1919
)
2020

21-
kind: "ClickHouseDatasource"
22-
spec: {
23-
#directUrl | #proxy
24-
}
21+
#kind: "ClickHouseDatasource"
2522

26-
#directUrl: {
27-
directUrl: common.#url
23+
kind: #kind
24+
spec: {
25+
commonProxy.#baseHTTPDatasourceSpec
2826
}
2927

30-
#proxy: {
31-
proxy: commonProxy.#HTTPProxy
32-
}
28+
#selector: common.#datasourceSelector & { _kind: #kind }

clickhouse/schemas/queries/click-house-log-query/query.cue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ package model
1515

1616
import (
1717
"strings"
18+
ds "github.com/perses/plugins/clickhouse/schemas/datasources/click-house-datasource:model"
1819
)
1920

2021
kind: "ClickHouseLogQuery"
2122
spec: close({
22-
datasource?: {
23-
kind: "ClickHouseDatasource"
24-
}
25-
query: strings.MinRunes(1)
23+
ds.#selector
24+
query: strings.MinRunes(1)
2625
})

clickhouse/schemas/queries/click-house-time-series-query/query.cue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ package model
1515

1616
import (
1717
"strings"
18+
ds "github.com/perses/plugins/clickhouse/schemas/datasources/click-house-datasource:model"
1819
)
1920

2021
kind: "ClickHouseTimeSeriesQuery"
2122
spec: close({
22-
datasource?: {
23-
kind: "ClickHouseDatasource"
24-
}
25-
query: strings.MinRunes(1)
23+
ds.#selector
24+
query: strings.MinRunes(1)
2625
})

loki/schemas/datasources/loki.cue

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ import (
1818
commonProxy "github.com/perses/shared/cue/common/proxy"
1919
)
2020

21-
kind: "LokiDatasource"
22-
spec: {
23-
#directUrl | #proxy
24-
}
21+
#kind: "LokiDatasource"
2522

26-
#directUrl: {
27-
directUrl: common.#url
23+
kind: #kind
24+
spec: {
25+
commonProxy.#baseHTTPDatasourceSpec
2826
}
2927

30-
#proxy: {
31-
proxy: commonProxy.#HTTPProxy
32-
}
28+
#selector: common.#datasourceSelector & { _kind: #kind }

loki/schemas/queries/loki-log-query/query.cue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@ package model
1515

1616
import (
1717
"strings"
18+
ds "github.com/perses/plugins/loki/schemas/datasources:model"
1819
)
1920

2021
kind: "LokiLogQuery"
2122
spec: close({
22-
datasource?: {
23-
kind: "LokiDatasource"
24-
}
23+
ds.#selector
2524
direction?: "forward" | "backward"
2625
query: strings.MinRunes(1)
2726
})

loki/schemas/queries/loki-time-series-query/query.cue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ package model
1515

1616
import (
1717
"strings"
18+
ds "github.com/perses/plugins/loki/schemas/datasources:model"
1819
)
1920

2021
kind: "LokiTimeSeriesQuery"
2122
spec: close({
22-
datasource?: {
23-
kind: "LokiDatasource"
24-
}
23+
ds.#selector
2524
query: strings.MinRunes(1)
2625
})

prometheus/schemas/datasource/prometheus.cue

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,13 @@ import (
2020

2121
kind: #kind
2222
spec: {
23-
#directUrl | #proxy
23+
commonProxy.#baseHTTPDatasourceSpec
2424
scrapeInterval?: =~#durationRegex
2525
queryParams?: {[string]: string}
2626
}
2727

2828
#kind: "PrometheusDatasource"
2929

30-
#directUrl: {
31-
directUrl: common.#url
32-
}
33-
34-
#proxy: {
35-
proxy: commonProxy.#HTTPProxy
36-
}
37-
3830
#durationRegex: "^(\\d+y)?(\\d+w)?(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?(\\d+ms)?$"
3931

40-
#selector: common.#datasourceSelector & {
41-
datasource?: =~common.#variableSyntaxRegex | {
42-
kind: #kind
43-
}
44-
}
32+
#selector: common.#datasourceSelector & { _kind: #kind }

prometheus/schemas/prometheus-time-series-query/query.cue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ package model
1616
import (
1717
"strings"
1818
"github.com/perses/shared/cue/common"
19-
promDs "github.com/perses/plugins/prometheus/schemas/datasource:model"
19+
ds "github.com/perses/plugins/prometheus/schemas/datasource:model"
2020
)
2121

2222
kind: "PrometheusTimeSeriesQuery"
2323
spec: close({
24-
promDs.#selector
24+
ds.#selector
2525
query: strings.MinRunes(1)
2626
seriesNameFormat?: string
27-
minStep?: =~promDs.#durationRegex | =~common.#variableSyntaxRegex
27+
minStep?: =~ds.#durationRegex | =~common.#variableSyntaxRegex
2828
resolution?: number
2929
})
3030

pyroscope/schemas/datasource/pyroscope.cue

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ import (
1818
commonProxy "github.com/perses/shared/cue/common/proxy"
1919
)
2020

21-
kind: "PyroscopeDatasource"
22-
spec: {
23-
#directUrl | #proxy
24-
}
21+
#kind: "PyroscopeDatasource"
2522

26-
#directUrl: {
27-
directUrl: common.#url
23+
kind: #kind
24+
spec: {
25+
commonProxy.#baseHTTPDatasourceSpec
2826
}
2927

30-
#proxy: {
31-
proxy: commonProxy.#HTTPProxy
32-
}
28+
#selector: common.#datasourceSelector & { _kind: #kind }

pyroscope/schemas/pyroscope-profile-query/query.cue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@
1414
package model
1515

1616
import (
17-
pyroscope "github.com/perses/plugins/pyroscope/schemas/datasource:model"
17+
ds "github.com/perses/plugins/pyroscope/schemas/datasource:model"
1818
)
1919

2020
kind: "PyroscopeProfileQuery"
2121
spec: close({
22-
datasource?: {
23-
kind: pyroscope.kind
24-
}
22+
ds.#selector
2523
maxNodes?: number
2624
profileType: string
2725
filters?: [...{

0 commit comments

Comments
 (0)