diff --git a/charts/kubedb-ui-presets/README.md b/charts/kubedb-ui-presets/README.md
index f3a0479f4..4d1f70232 100644
--- a/charts/kubedb-ui-presets/README.md
+++ b/charts/kubedb-ui-presets/README.md
@@ -60,63 +60,123 @@ The following table lists the configurable parameters of the `kubedb-ui-presets`
| databases.ClickHouse.versions.available | | []
|
| databases.ClickHouse.versions.default | | ""
|
| databases.ClickHouse.versions.toggle | | true
|
+| databases.ClickHouse.mode.available | | []
|
+| databases.ClickHouse.mode.default | | ""
|
+| databases.ClickHouse.mode.toggle | | true
|
| databases.Druid.versions.available | | []
|
| databases.Druid.versions.default | | ""
|
| databases.Druid.versions.toggle | | true
|
+| databases.Druid.mode.available | | []
|
+| databases.Druid.mode.default | | ""
|
+| databases.Druid.mode.toggle | | true
|
| databases.Elasticsearch.versions.available | | []
|
| databases.Elasticsearch.versions.default | | ""
|
| databases.Elasticsearch.versions.toggle | | true
|
+| databases.Elasticsearch.mode.available | | []
|
+| databases.Elasticsearch.mode.default | | ""
|
+| databases.Elasticsearch.mode.toggle | | true
|
| databases.FerretDB.versions.available | | []
|
| databases.FerretDB.versions.default | | ""
|
| databases.FerretDB.versions.toggle | | true
|
+| databases.FerretDB.mode.available | | []
|
+| databases.FerretDB.mode.default | | ""
|
+| databases.FerretDB.mode.toggle | | true
|
| databases.Kafka.versions.available | | []
|
| databases.Kafka.versions.default | | ""
|
| databases.Kafka.versions.toggle | | true
|
+| databases.Kafka.mode.available | | []
|
+| databases.Kafka.mode.default | | ""
|
+| databases.Kafka.mode.toggle | | true
|
| databases.MariaDB.versions.available | | []
|
| databases.MariaDB.versions.default | | ""
|
| databases.MariaDB.versions.toggle | | true
|
+| databases.MariaDB.mode.available | | []
|
+| databases.MariaDB.mode.default | | ""
|
+| databases.MariaDB.mode.toggle | | true
|
| databases.Memcached.versions.available | | []
|
| databases.Memcached.versions.default | | ""
|
| databases.Memcached.versions.toggle | | true
|
+| databases.Memcached.mode.available | | []
|
+| databases.Memcached.mode.default | | ""
|
+| databases.Memcached.mode.toggle | | true
|
| databases.MongoDB.versions.available | | []
|
| databases.MongoDB.versions.default | | ""
|
| databases.MongoDB.versions.toggle | | true
|
+| databases.MongoDB.mode.available | | []
|
+| databases.MongoDB.mode.default | | ""
|
+| databases.MongoDB.mode.toggle | | true
|
| databases.MSSQLServer.versions.available | | []
|
| databases.MSSQLServer.versions.default | | ""
|
| databases.MSSQLServer.versions.toggle | | true
|
+| databases.MSSQLServer.mode.available | | []
|
+| databases.MSSQLServer.mode.default | | ""
|
+| databases.MSSQLServer.mode.toggle | | true
|
| databases.MySQL.versions.available | | []
|
| databases.MySQL.versions.default | | ""
|
| databases.MySQL.versions.toggle | | true
|
+| databases.MySQL.mode.available | | []
|
+| databases.MySQL.mode.default | | ""
|
+| databases.MySQL.mode.toggle | | true
|
| databases.PerconaXtraDB.versions.available | | []
|
| databases.PerconaXtraDB.versions.default | | ""
|
| databases.PerconaXtraDB.versions.toggle | | true
|
+| databases.PerconaXtraDB.mode.available | | []
|
+| databases.PerconaXtraDB.mode.default | | ""
|
+| databases.PerconaXtraDB.mode.toggle | | true
|
| databases.PgBouncer.versions.available | | []
|
| databases.PgBouncer.versions.default | | ""
|
| databases.PgBouncer.versions.toggle | | true
|
+| databases.PgBouncer.mode.available | | []
|
+| databases.PgBouncer.mode.default | | ""
|
+| databases.PgBouncer.mode.toggle | | true
|
| databases.Pgpool.versions.available | | []
|
| databases.Pgpool.versions.default | | ""
|
| databases.Pgpool.versions.toggle | | true
|
+| databases.Pgpool.mode.available | | []
|
+| databases.Pgpool.mode.default | | ""
|
+| databases.Pgpool.mode.toggle | | true
|
| databases.Postgres.versions.available | | []
|
| databases.Postgres.versions.default | | ""
|
| databases.Postgres.versions.toggle | | true
|
+| databases.Postgres.mode.available | | []
|
+| databases.Postgres.mode.default | | ""
|
+| databases.Postgres.mode.toggle | | true
|
| databases.ProxySQL.versions.available | | []
|
| databases.ProxySQL.versions.default | | ""
|
| databases.ProxySQL.versions.toggle | | true
|
+| databases.ProxySQL.mode.available | | []
|
+| databases.ProxySQL.mode.default | | ""
|
+| databases.ProxySQL.mode.toggle | | true
|
| databases.RabbitMQ.versions.available | | []
|
| databases.RabbitMQ.versions.default | | ""
|
| databases.RabbitMQ.versions.toggle | | true
|
+| databases.RabbitMQ.mode.available | | []
|
+| databases.RabbitMQ.mode.default | | ""
|
+| databases.RabbitMQ.mode.toggle | | true
|
| databases.Redis.versions.available | | []
|
| databases.Redis.versions.default | | ""
|
| databases.Redis.versions.toggle | | true
|
+| databases.Redis.mode.available | | []
|
+| databases.Redis.mode.default | | ""
|
+| databases.Redis.mode.toggle | | true
|
| databases.Singlestore.versions.available | | []
|
| databases.Singlestore.versions.default | | ""
|
| databases.Singlestore.versions.toggle | | true
|
+| databases.Singlestore.mode.available | | []
|
+| databases.Singlestore.mode.default | | ""
|
+| databases.Singlestore.mode.toggle | | true
|
| databases.Solr.versions.available | | []
|
| databases.Solr.versions.default | | ""
|
| databases.Solr.versions.toggle | | true
|
+| databases.Solr.mode.available | | []
|
+| databases.Solr.mode.default | | ""
|
+| databases.Solr.mode.toggle | | true
|
| databases.ZooKeeper.versions.available | | []
|
| databases.ZooKeeper.versions.default | | ""
|
| databases.ZooKeeper.versions.toggle | | true
|
+| databases.ZooKeeper.mode.available | | []
|
+| databases.ZooKeeper.mode.default | | ""
|
+| databases.ZooKeeper.mode.toggle | | true
|
| storageClasses.available | | []
|
| storageClasses.default | | ""
|
| storageClasses.toggle | | true
|
@@ -128,12 +188,26 @@ The following table lists the configurable parameters of the `kubedb-ui-presets`
| expose.default | | true
|
| expose.toggle | | true
|
| showPreview | | false
|
+| leftPanel.showInsights | | true
|
+| leftPanel.showVaultInfo | | true
|
+| leftPanel.showOperations | | true
|
+| leftPanel.showBackup | | true
|
+| leftPanel.showBackupLegacy | | false
|
+| leftPanel.showSecurity | | false
|
+| nodeSelector | | {}
|
+| tolerations | | []
|
| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | prometheus.io/operator
|
| monitoring.exporter.resources | | {}
|
| monitoring.toggle | | true
|
| alert.toggle | | true
|
+| deletionPolicy.default | | WipeOut
|
+| deletionPolicy.toggle | | true
|
+| backup.default | | true
|
+| backup.toggle | | true
|
+| archiver.default | | false
|
| archiver.toggle | | true
|
-| archiver.default | | true
|
+| pointInTimeRecovery.default | | false
|
+| pointInTimeRecovery.toggle | | true
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
diff --git a/charts/kubedb-ui-presets/values.openapiv3_schema.yaml b/charts/kubedb-ui-presets/values.openapiv3_schema.yaml
index e2263b027..0a7d65f8e 100644
--- a/charts/kubedb-ui-presets/values.openapiv3_schema.yaml
+++ b/charts/kubedb-ui-presets/values.openapiv3_schema.yaml
@@ -16,6 +16,16 @@ properties:
- default
- toggle
type: object
+ backup:
+ properties:
+ default:
+ type: boolean
+ toggle:
+ type: boolean
+ required:
+ - default
+ - toggle
+ type: object
clusterIssuers:
properties:
available:
@@ -75,6 +85,21 @@ properties:
properties:
ClickHouse:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -91,10 +116,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Druid:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -111,10 +152,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Elasticsearch:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -131,10 +188,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
FerretDB:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -151,10 +224,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Kafka:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -171,10 +260,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
MSSQLServer:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -191,10 +296,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
MariaDB:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -211,10 +332,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Memcached:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -231,10 +368,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
MongoDB:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -251,10 +404,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
MySQL:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -271,10 +440,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
PerconaXtraDB:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -291,10 +476,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
PgBouncer:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -311,10 +512,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Pgpool:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -331,10 +548,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Postgres:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -351,10 +584,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
ProxySQL:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -371,10 +620,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
RabbitMQ:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -391,10 +656,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Redis:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -411,10 +692,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Singlestore:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -431,10 +728,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
Solr:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -451,10 +764,26 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
ZooKeeper:
properties:
+ mode:
+ properties:
+ available:
+ items:
+ type: string
+ type: array
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - available
+ - default
+ - toggle
+ type: object
versions:
properties:
available:
@@ -471,6 +800,7 @@ properties:
- toggle
type: object
required:
+ - mode
- versions
type: object
required:
@@ -495,6 +825,16 @@ properties:
- Solr
- ZooKeeper
type: object
+ deletionPolicy:
+ properties:
+ default:
+ type: string
+ toggle:
+ type: boolean
+ required:
+ - default
+ - toggle
+ type: object
deployment:
properties:
default:
@@ -518,6 +858,28 @@ properties:
- default
- toggle
type: object
+ leftPanel:
+ properties:
+ showBackup:
+ type: boolean
+ showBackupLegacy:
+ type: boolean
+ showInsights:
+ type: boolean
+ showOperations:
+ type: boolean
+ showSecurity:
+ type: boolean
+ showVaultInfo:
+ type: boolean
+ required:
+ - showBackup
+ - showBackupLegacy
+ - showInsights
+ - showOperations
+ - showSecurity
+ - showVaultInfo
+ type: object
monitoring:
properties:
agent:
@@ -567,6 +929,20 @@ properties:
- exporter
- toggle
type: object
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ pointInTimeRecovery:
+ properties:
+ default:
+ type: boolean
+ toggle:
+ type: boolean
+ required:
+ - default
+ - toggle
+ type: object
showPreview:
type: boolean
storageClasses:
@@ -594,15 +970,35 @@ properties:
- default
- toggle
type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ format: int64
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
required:
- alert
- archiver
+- backup
- clusterIssuers
- clusterTier
- databases
+- deletionPolicy
- deployment
- expose
+- leftPanel
- monitoring
+- pointInTimeRecovery
- showPreview
- storageClasses
- tls
diff --git a/charts/kubedb-ui-presets/values.yaml b/charts/kubedb-ui-presets/values.yaml
index bc59cadb4..053ada404 100644
--- a/charts/kubedb-ui-presets/values.yaml
+++ b/charts/kubedb-ui-presets/values.yaml
@@ -23,101 +23,181 @@ databases:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Druid:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Elasticsearch:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
FerretDB:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Kafka:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
MariaDB:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Memcached:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
MongoDB:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
MSSQLServer:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
MySQL:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
PerconaXtraDB:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
PgBouncer:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Pgpool:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Postgres:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
ProxySQL:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
RabbitMQ:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Redis:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Singlestore:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
Solr:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
ZooKeeper:
versions:
available: []
default: ""
toggle: true
+ mode:
+ available: []
+ default: ""
+ toggle: true
storageClasses:
available: []
@@ -135,6 +215,15 @@ expose:
default: true
toggle: true
showPreview: false
+leftPanel:
+ showInsights: true
+ showVaultInfo: true
+ showOperations: true
+ showBackup: true
+ showBackupLegacy: false
+ showSecurity: false
+nodeSelector: {}
+tolerations: []
monitoring:
# Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
@@ -145,6 +234,15 @@ monitoring:
alert:
toggle: true
-archiver:
+deletionPolicy:
+ default: WipeOut
toggle: true
+backup:
default: true
+ toggle: true
+archiver:
+ default: false
+ toggle: true
+pointInTimeRecovery:
+ default: false
+ toggle: true
diff --git a/go.mod b/go.mod
index 706b75cb5..498840bde 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ toolchain go1.23.2
require (
go.bytebuilders.dev/catalog v0.0.9-0.20241103203407-01a77a6813c9
go.bytebuilders.dev/resource-model v0.1.1-0.20241023004602-2c43ef3bb37b
- go.bytebuilders.dev/ui-wizards v0.8.0
+ go.bytebuilders.dev/ui-wizards v0.8.1-0.20241107085111-1f7fd6efa56d
go.openviz.dev/installer v0.0.0-20240731074805-a62b13eaedb0
gomodules.xyz/go-sh v0.1.0
k8s.io/api v0.30.2
@@ -85,7 +85,7 @@ require (
github.com/yudai/gojsondiff v1.0.0 // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
github.com/zeebo/xxh3 v1.0.2 // indirect
- go.appscode.dev/alerts v0.2.1-0.20240604101218-3069fbd7c6b8 // indirect
+ go.appscode.dev/alerts v0.2.1-0.20240918094400-626962340a86 // indirect
golang.org/x/crypto v0.27.0 // indirect
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
golang.org/x/net v0.29.0 // indirect
diff --git a/go.sum b/go.sum
index aca683c95..6616326a5 100644
--- a/go.sum
+++ b/go.sum
@@ -184,14 +184,14 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
-go.appscode.dev/alerts v0.2.1-0.20240604101218-3069fbd7c6b8 h1:7FP18GEp6Jm0OUt5lsS9HjVitmiU9zZ5wVQwgU+Y23g=
-go.appscode.dev/alerts v0.2.1-0.20240604101218-3069fbd7c6b8/go.mod h1:5+qwuxF78YiFg/CEGfgfXREj7KEJYLgQeFhke4+lQ8k=
+go.appscode.dev/alerts v0.2.1-0.20240918094400-626962340a86 h1:dfc+hbp0T8/WkaKpVx+VgbDNPyKMvTLa4jxdd0Dx+8c=
+go.appscode.dev/alerts v0.2.1-0.20240918094400-626962340a86/go.mod h1:5+qwuxF78YiFg/CEGfgfXREj7KEJYLgQeFhke4+lQ8k=
go.bytebuilders.dev/catalog v0.0.9-0.20241103203407-01a77a6813c9 h1:ESCaEsrR0XJrrV8E81aZJCJ0fSHHfM7e9N6IDTIo/to=
go.bytebuilders.dev/catalog v0.0.9-0.20241103203407-01a77a6813c9/go.mod h1:ndC200F9L1RM0MjYG19Bc2+nEikgPpTlGZ60d4oc+kU=
go.bytebuilders.dev/resource-model v0.1.1-0.20241023004602-2c43ef3bb37b h1:loq3wv7NQY9givjW8djFMqe/1d+8j2wE4k5hueDIWC0=
go.bytebuilders.dev/resource-model v0.1.1-0.20241023004602-2c43ef3bb37b/go.mod h1:/uMIfxqPIrDmiYWA28OW3xzogijxpwkicR4kK7jam9g=
-go.bytebuilders.dev/ui-wizards v0.8.0 h1:7hute2GVoidjP6wcI78kyUV/x2Lhpw4VodFCZpFE6Lc=
-go.bytebuilders.dev/ui-wizards v0.8.0/go.mod h1:tuKPXHNlnHLJiiV5bfPabnjQshiqIqkJ1qw6k9ctgak=
+go.bytebuilders.dev/ui-wizards v0.8.1-0.20241107085111-1f7fd6efa56d h1:DtEjx2u89fgsqU6dRQiR5h3GnQPlzTNqPmn+dxuvK3o=
+go.bytebuilders.dev/ui-wizards v0.8.1-0.20241107085111-1f7fd6efa56d/go.mod h1:uIhI+FJJnC0Lg7NU6u1XkoLuo4QkkF+3BcWpT30KhZA=
go.openviz.dev/installer v0.0.0-20240731074805-a62b13eaedb0 h1:zA5/psft6xJPNZZfDh7VpOlEEzqVOWoLQlXRFyOeyjc=
go.openviz.dev/installer v0.0.0-20240731074805-a62b13eaedb0/go.mod h1:5q9Z38No4Xw0RGJnWYqAWPpXSG4XQYqiLzGHMv4pTPI=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
diff --git a/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/memcached_alerts_types.go b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/memcached_alerts_types.go
new file mode 100644
index 000000000..ab606b3b4
--- /dev/null
+++ b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/memcached_alerts_types.go
@@ -0,0 +1,95 @@
+/*
+Copyright AppsCode Inc. and Contributors
+Licensed under the AppsCode Community License 1.0.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
+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 v1alpha1
+
+import (
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ mona "kmodules.xyz/monitoring-agent-api/api/v1"
+ api "x-helm.dev/apimachinery/apis/releases/v1alpha1"
+)
+
+const (
+ ResourceKindMemcachedAlerts = "MemcachedAlerts"
+ ResourceMemcachedAlerts = "memcachedalerts"
+ ResourceMemcachedAlertss = "memcachedalertss"
+)
+
+// MemcachedAlerts defines the schama for KubeDB Ops Manager Operator Installer.
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// +kubebuilder:object:root=true
+// +kubebuilder:resource:path=memcachedalertss,singular=memcachedalerts,categories={kubedb,appscode}
+type MemcachedAlerts struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+ Spec MemcachedAlertsSpec `json:"spec,omitempty"`
+}
+
+// MemcachedAlertsSpec is the schema for kubedb-autoscaler chart values file
+type MemcachedAlertsSpec struct {
+ api.Metadata `json:"metadata,omitempty"`
+ Form MemcachedAlertsSpecForm `json:"form"`
+ Grafana MemcachedGrafana `json:"grafana"`
+}
+
+type MemcachedAlertsSpecForm struct {
+ Alert MemcachedAlert `json:"alert"`
+}
+
+type MemcachedAlert struct {
+ Enabled mona.SeverityFlag `json:"enabled"`
+ Labels map[string]string `json:"labels"`
+ // +optional
+ Annotations map[string]string `json:"annotations"`
+ // +optional
+ AdditionalRuleLabels map[string]string `json:"additionalRuleLabels"`
+ Groups MemcachedAlertGroups `json:"groups"`
+}
+type MemcachedAlertGroups struct {
+ Database MemcachedDatabaseAlert `json:"database"`
+ Provisioner ProvisionerAlert `json:"provisioner"`
+ KubeStash KubeStashAlert `json:"kubeStash"`
+}
+type MemcachedDatabaseAlert struct {
+ Enabled mona.SeverityFlag `json:"enabled"`
+ Rules MemcachedDatabaseAlertRules `json:"rules"`
+}
+
+type MemcachedDatabaseAlertRules struct {
+ MemcachedDown FixedAlert `json:"memcachedDown"`
+ MemcachedServiceRespawn IntValAlert `json:"memcachedServiceRespawn"`
+ MemcachedConnectionThrottled IntValAlert `json:"memcachedConnectionThrottled"`
+ MemcachedConnectionsNoneMinor FixedAlert `json:"memcachedConnectionsNoneMinor"`
+ MemcachedItemsNoneMinor FixedAlert `json:"memcachedItemsNoneMinor"`
+ MemcachedEvictionsLimit IntValAlert `json:"memcachedEvictionsLimit"`
+}
+
+type MemcachedGrafana struct {
+ Enabled bool `json:"enabled"`
+ Version string `json:"version"`
+ JobName string `json:"jobName"`
+ URL string `json:"url"`
+ ApiKey string `json:"apikey"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// MemcachedAlertsList is a list of MemcachedAlertss
+type MemcachedAlertsList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ // Items is a list of MemcachedAlerts CRD objects
+ Items []MemcachedAlerts `json:"items,omitempty"`
+}
diff --git a/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/register.go b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/register.go
index 214a6c94a..b5173adad 100644
--- a/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/register.go
+++ b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/register.go
@@ -64,6 +64,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&KafkaAlertsList{},
&MariadbAlerts{},
&MariadbAlertsList{},
+ &MemcachedAlerts{},
+ &MemcachedAlertsList{},
&MongodbAlerts{},
&MongodbAlertsList{},
&MysqlAlerts{},
diff --git a/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/zz_generated.deepcopy.go b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/zz_generated.deepcopy.go
index 982f66736..1bea41bc3 100644
--- a/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/go.appscode.dev/alerts/apis/alerts/v1alpha1/zz_generated.deepcopy.go
@@ -1239,6 +1239,214 @@ func (in *MariadbAlertsSpecForm) DeepCopy() *MariadbAlertsSpecForm {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlert) DeepCopyInto(out *MemcachedAlert) {
+ *out = *in
+ if in.Labels != nil {
+ in, out := &in.Labels, &out.Labels
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.Annotations != nil {
+ in, out := &in.Annotations, &out.Annotations
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.AdditionalRuleLabels != nil {
+ in, out := &in.AdditionalRuleLabels, &out.AdditionalRuleLabels
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ out.Groups = in.Groups
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlert.
+func (in *MemcachedAlert) DeepCopy() *MemcachedAlert {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlert)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlertGroups) DeepCopyInto(out *MemcachedAlertGroups) {
+ *out = *in
+ out.Database = in.Database
+ out.Provisioner = in.Provisioner
+ out.KubeStash = in.KubeStash
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlertGroups.
+func (in *MemcachedAlertGroups) DeepCopy() *MemcachedAlertGroups {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlertGroups)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlerts) DeepCopyInto(out *MemcachedAlerts) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlerts.
+func (in *MemcachedAlerts) DeepCopy() *MemcachedAlerts {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlerts)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MemcachedAlerts) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlertsList) DeepCopyInto(out *MemcachedAlertsList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]MemcachedAlerts, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlertsList.
+func (in *MemcachedAlertsList) DeepCopy() *MemcachedAlertsList {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlertsList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *MemcachedAlertsList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlertsSpec) DeepCopyInto(out *MemcachedAlertsSpec) {
+ *out = *in
+ out.Metadata = in.Metadata
+ in.Form.DeepCopyInto(&out.Form)
+ out.Grafana = in.Grafana
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlertsSpec.
+func (in *MemcachedAlertsSpec) DeepCopy() *MemcachedAlertsSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlertsSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedAlertsSpecForm) DeepCopyInto(out *MemcachedAlertsSpecForm) {
+ *out = *in
+ in.Alert.DeepCopyInto(&out.Alert)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAlertsSpecForm.
+func (in *MemcachedAlertsSpecForm) DeepCopy() *MemcachedAlertsSpecForm {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedAlertsSpecForm)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedDatabaseAlert) DeepCopyInto(out *MemcachedDatabaseAlert) {
+ *out = *in
+ out.Rules = in.Rules
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedDatabaseAlert.
+func (in *MemcachedDatabaseAlert) DeepCopy() *MemcachedDatabaseAlert {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedDatabaseAlert)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedDatabaseAlertRules) DeepCopyInto(out *MemcachedDatabaseAlertRules) {
+ *out = *in
+ out.MemcachedDown = in.MemcachedDown
+ out.MemcachedServiceRespawn = in.MemcachedServiceRespawn
+ out.MemcachedConnectionThrottled = in.MemcachedConnectionThrottled
+ out.MemcachedConnectionsNoneMinor = in.MemcachedConnectionsNoneMinor
+ out.MemcachedItemsNoneMinor = in.MemcachedItemsNoneMinor
+ out.MemcachedEvictionsLimit = in.MemcachedEvictionsLimit
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedDatabaseAlertRules.
+func (in *MemcachedDatabaseAlertRules) DeepCopy() *MemcachedDatabaseAlertRules {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedDatabaseAlertRules)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *MemcachedGrafana) DeepCopyInto(out *MemcachedGrafana) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedGrafana.
+func (in *MemcachedGrafana) DeepCopy() *MemcachedGrafana {
+ if in == nil {
+ return nil
+ }
+ out := new(MemcachedGrafana)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MongoDBAlert) DeepCopyInto(out *MongoDBAlert) {
*out = *in
diff --git a/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/admin.go b/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/admin.go
index e5d304e32..7aeb6f328 100644
--- a/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/admin.go
+++ b/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/admin.go
@@ -50,7 +50,13 @@ type AdminOptions struct {
Deployment DeploymentProfile `json:"deployment"`
ClusterTier ClusterTierProfile `json:"clusterTier"`
- ShowPreview bool `json:"showPreview"`
+ ShowPreview bool `json:"showPreview"`
+ LeftPanel LeftPanel `json:"leftPanel"`
+
+ // +optional
+ NodeSelector map[string]string `json:"nodeSelector"`
+ // +optional
+ Tolerations []core.Toleration `json:"tolerations"`
Databases DatabasesProfile `json:"databases"`
StorageClasses RequiredClusterScopedProfile `json:"storageClasses"`
@@ -62,7 +68,10 @@ type AdminOptions struct {
Monitoring Monitoring `json:"monitoring"`
Alert Alert `json:"alert"`
- Archiver ToggleProfileOnBoolean `json:"archiver"`
+ DeletionPolicy ToggleProfileOnString `json:"deletionPolicy"`
+ Backup ToggleProfileOnBoolean `json:"backup"`
+ Archiver ToggleProfileOnBoolean `json:"archiver"`
+ PointInTimeRecovery ToggleProfileOnBoolean `json:"pointInTimeRecovery"`
}
// *** Machine-related starts *** //
@@ -106,6 +115,16 @@ type DatabasesProfile struct {
type DatabaseProfile struct {
Versions RequiredClusterScopedProfile `json:"versions"`
+ Mode RequiredClusterScopedProfile `json:"mode"`
+}
+
+type LeftPanel struct {
+ ShowInsights bool `json:"showInsights"`
+ ShowVaultInfo bool `json:"showVaultInfo"`
+ ShowOperations bool `json:"showOperations"`
+ ShowBackup bool `json:"showBackup"`
+ ShowBackupLegacy bool `json:"showBackupLegacy"`
+ ShowSecurity bool `json:"showSecurity"`
}
type ClusterScopedProfile struct {
@@ -128,6 +147,11 @@ type NamespaceScopedProfile struct {
Toggle bool `json:"toggle"`
}
+type ToggleProfileOnString struct {
+ Default string `json:"default"`
+ Toggle bool `json:"toggle"`
+}
+
type ToggleProfileOnBoolean struct {
Default bool `json:"default"`
Toggle bool `json:"toggle"`
diff --git a/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/zz_generated.deepcopy.go b/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/zz_generated.deepcopy.go
index 45f1566a0..53b7e77c5 100644
--- a/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/zz_generated.deepcopy.go
+++ b/vendor/go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1/zz_generated.deepcopy.go
@@ -34,6 +34,21 @@ func (in *AdminOptions) DeepCopyInto(out *AdminOptions) {
*out = *in
out.Deployment = in.Deployment
in.ClusterTier.DeepCopyInto(&out.ClusterTier)
+ out.LeftPanel = in.LeftPanel
+ if in.NodeSelector != nil {
+ in, out := &in.NodeSelector, &out.NodeSelector
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.Tolerations != nil {
+ in, out := &in.Tolerations, &out.Tolerations
+ *out = make([]v1.Toleration, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
in.Databases.DeepCopyInto(&out.Databases)
in.StorageClasses.DeepCopyInto(&out.StorageClasses)
out.TLS = in.TLS
@@ -41,7 +56,10 @@ func (in *AdminOptions) DeepCopyInto(out *AdminOptions) {
out.Expose = in.Expose
in.Monitoring.DeepCopyInto(&out.Monitoring)
out.Alert = in.Alert
+ out.DeletionPolicy = in.DeletionPolicy
+ out.Backup = in.Backup
out.Archiver = in.Archiver
+ out.PointInTimeRecovery = in.PointInTimeRecovery
return
}
@@ -820,6 +838,7 @@ func (in *CorekubestashcomRestoresessionEditorOptionsSpecSpec) DeepCopy() *Corek
func (in *DatabaseProfile) DeepCopyInto(out *DatabaseProfile) {
*out = *in
in.Versions.DeepCopyInto(&out.Versions)
+ in.Mode.DeepCopyInto(&out.Mode)
return
}
@@ -3802,6 +3821,22 @@ func (in *KubevaultcomVaultserverEditorOptionsSpecSpec) DeepCopy() *Kubevaultcom
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *LeftPanel) DeepCopyInto(out *LeftPanel) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeftPanel.
+func (in *LeftPanel) DeepCopy() *LeftPanel {
+ if in == nil {
+ return nil
+ }
+ out := new(LeftPanel)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LicenseSecret) DeepCopyInto(out *LicenseSecret) {
*out = *in
@@ -5226,6 +5261,22 @@ func (in *ToggleProfileOnBoolean) DeepCopy() *ToggleProfileOnBoolean {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ToggleProfileOnString) DeepCopyInto(out *ToggleProfileOnString) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToggleProfileOnString.
+func (in *ToggleProfileOnString) DeepCopy() *ToggleProfileOnString {
+ if in == nil {
+ return nil
+ }
+ out := new(ToggleProfileOnString)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UnsealerCredentialSecret) DeepCopyInto(out *UnsealerCredentialSecret) {
*out = *in
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 236f4dcf3..362b390bb 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -262,7 +262,7 @@ github.com/yudai/golcs
# github.com/zeebo/xxh3 v1.0.2
## explicit; go 1.17
github.com/zeebo/xxh3
-# go.appscode.dev/alerts v0.2.1-0.20240604101218-3069fbd7c6b8
+# go.appscode.dev/alerts v0.2.1-0.20240918094400-626962340a86
## explicit; go 1.22.0
go.appscode.dev/alerts/apis/alerts
go.appscode.dev/alerts/apis/alerts/v1alpha1
@@ -275,7 +275,7 @@ go.bytebuilders.dev/resource-model/apis/cloud
go.bytebuilders.dev/resource-model/apis/cloud/v1alpha1
go.bytebuilders.dev/resource-model/apis/config/v1alpha1
go.bytebuilders.dev/resource-model/crds
-# go.bytebuilders.dev/ui-wizards v0.8.0
+# go.bytebuilders.dev/ui-wizards v0.8.1-0.20241107085111-1f7fd6efa56d
## explicit; go 1.22.0
go.bytebuilders.dev/ui-wizards/apis/wizards
go.bytebuilders.dev/ui-wizards/apis/wizards/v1alpha1