From c50127cb260a3891c898bbf1f58c9f52f8710964 Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Thu, 14 Mar 2024 04:51:27 -0700 Subject: [PATCH] Add ui support to gateway (#1173) Signed-off-by: Tamal Saha --- apis/kubedb/v1alpha2/openapi_generated.go | 54 ++++++++++++++++++- apis/kubedb/v1alpha2/types.go | 17 ++++++ apis/kubedb/v1alpha2/zz_generated.deepcopy.go | 28 ++++++++++ crds/kubedb.com_druids.yaml | 18 +++++++ crds/kubedb.com_elasticsearches.yaml | 18 +++++++ crds/kubedb.com_etcds.yaml | 18 +++++++ crds/kubedb.com_ferretdbs.yaml | 18 +++++++ crds/kubedb.com_kafkas.yaml | 18 +++++++ crds/kubedb.com_mariadbs.yaml | 18 +++++++ crds/kubedb.com_memcacheds.yaml | 18 +++++++ crds/kubedb.com_mongodbs.yaml | 18 +++++++ crds/kubedb.com_mysqls.yaml | 18 +++++++ crds/kubedb.com_perconaxtradbs.yaml | 18 +++++++ crds/kubedb.com_pgbouncers.yaml | 18 +++++++ crds/kubedb.com_pgpools.yaml | 18 +++++++ crds/kubedb.com_postgreses.yaml | 18 +++++++ crds/kubedb.com_proxysqls.yaml | 18 +++++++ crds/kubedb.com_rabbitmqs.yaml | 18 +++++++ crds/kubedb.com_redises.yaml | 18 +++++++ crds/kubedb.com_singlestores.yaml | 18 +++++++ crds/kubedb.com_solrs.yaml | 18 +++++++ crds/kubedb.com_zookeepers.yaml | 18 +++++++ crds/ui.kubedb.com_elasticsearchinsights.yaml | 18 +++++++ crds/ui.kubedb.com_mariadbinsights.yaml | 18 +++++++ crds/ui.kubedb.com_mongodbinsights.yaml | 18 +++++++ crds/ui.kubedb.com_mysqlinsights.yaml | 18 +++++++ crds/ui.kubedb.com_pgbouncerinsights.yaml | 18 +++++++ crds/ui.kubedb.com_postgresinsights.yaml | 18 +++++++ crds/ui.kubedb.com_proxysqlinsights.yaml | 18 +++++++ crds/ui.kubedb.com_redisinsights.yaml | 18 +++++++ openapi/swagger.json | 31 +++++++++++ 31 files changed, 615 insertions(+), 1 deletion(-) diff --git a/apis/kubedb/v1alpha2/openapi_generated.go b/apis/kubedb/v1alpha2/openapi_generated.go index 9b33ca5d9b..3ece16d2e4 100644 --- a/apis/kubedb/v1alpha2/openapi_generated.go +++ b/apis/kubedb/v1alpha2/openapi_generated.go @@ -538,6 +538,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser": schema_apimachinery_apis_kubedb_v1alpha2_MySQLUser(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceStatus": schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec": schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceTemplateSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedURL": schema_apimachinery_apis_kubedb_v1alpha2_NamedURL(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDB": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDB(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDBList": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBList(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDBSpec": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref), @@ -24976,12 +24977,26 @@ func schema_apimachinery_apis_kubedb_v1alpha2_Gateway(ref common.ReferenceCallba }, }, }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedURL"), + }, + }, + }, + }, + }, }, Required: []string{"name", "namespace"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceStatus"}, + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceStatus", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedURL"}, } } @@ -27463,6 +27478,43 @@ func schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceTemplateSpec(ref commo } } +func schema_apimachinery_apis_kubedb_v1alpha2_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDB(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/apis/kubedb/v1alpha2/types.go b/apis/kubedb/v1alpha2/types.go index 4dd6123bd9..0fcbd5d566 100644 --- a/apis/kubedb/v1alpha2/types.go +++ b/apis/kubedb/v1alpha2/types.go @@ -242,6 +242,9 @@ type Gateway struct { // Services is an optional configuration for services used to expose database // +optional Services []NamedServiceStatus `json:"services,omitempty"` + // UI is an optional list of database web uis + // +optional + UI []NamedURL `json:"ui,omitempty"` } type NamedServiceStatus struct { @@ -250,3 +253,17 @@ type NamedServiceStatus struct { Ports []ofst.ServicePort `json:"ports"` } + +type NamedURL struct { + // Alias represents the identifier of the service. + // This should match the db ui chart name + Alias string `json:"alias"` + + // URL of the database ui + URL string `json:"url"` + + // HelmRelease is the name of the helm release used to deploy this ui + // The name format is typically - + // +optional + HelmRelease *core.LocalObjectReference `json:"helmRelease,omitempty"` +} diff --git a/apis/kubedb/v1alpha2/zz_generated.deepcopy.go b/apis/kubedb/v1alpha2/zz_generated.deepcopy.go index f58d61ee01..dab3fe4312 100644 --- a/apis/kubedb/v1alpha2/zz_generated.deepcopy.go +++ b/apis/kubedb/v1alpha2/zz_generated.deepcopy.go @@ -1338,6 +1338,13 @@ func (in *Gateway) DeepCopyInto(out *Gateway) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.UI != nil { + in, out := &in.UI, &out.UI + *out = make([]NamedURL, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } @@ -2817,6 +2824,27 @@ func (in *NamedServiceTemplateSpec) DeepCopy() *NamedServiceTemplateSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedURL) DeepCopyInto(out *NamedURL) { + *out = *in + if in.HelmRelease != nil { + in, out := &in.HelmRelease, &out.HelmRelease + *out = new(corev1.LocalObjectReference) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedURL. +func (in *NamedURL) DeepCopy() *NamedURL { + if in == nil { + return nil + } + out := new(NamedURL) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PerconaXtraDB) DeepCopyInto(out *PerconaXtraDB) { *out = *in diff --git a/crds/kubedb.com_druids.yaml b/crds/kubedb.com_druids.yaml index bb09e7db9b..e000c7657b 100644 --- a/crds/kubedb.com_druids.yaml +++ b/crds/kubedb.com_druids.yaml @@ -24441,6 +24441,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_elasticsearches.yaml b/crds/kubedb.com_elasticsearches.yaml index ef37c17bab..5f9c7caadd 100644 --- a/crds/kubedb.com_elasticsearches.yaml +++ b/crds/kubedb.com_elasticsearches.yaml @@ -5867,6 +5867,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_etcds.yaml b/crds/kubedb.com_etcds.yaml index 91fbd7b256..992ef57dfc 100644 --- a/crds/kubedb.com_etcds.yaml +++ b/crds/kubedb.com_etcds.yaml @@ -3953,6 +3953,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_ferretdbs.yaml b/crds/kubedb.com_ferretdbs.yaml index 8fa4c7a10f..70164efd37 100644 --- a/crds/kubedb.com_ferretdbs.yaml +++ b/crds/kubedb.com_ferretdbs.yaml @@ -3989,6 +3989,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_kafkas.yaml b/crds/kubedb.com_kafkas.yaml index 52ef4d1068..f9dc28fd00 100644 --- a/crds/kubedb.com_kafkas.yaml +++ b/crds/kubedb.com_kafkas.yaml @@ -7671,6 +7671,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_mariadbs.yaml b/crds/kubedb.com_mariadbs.yaml index baeaa26c6e..fcc0064210 100644 --- a/crds/kubedb.com_mariadbs.yaml +++ b/crds/kubedb.com_mariadbs.yaml @@ -4259,6 +4259,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_memcacheds.yaml b/crds/kubedb.com_memcacheds.yaml index 9685cec69d..085031ea56 100644 --- a/crds/kubedb.com_memcacheds.yaml +++ b/crds/kubedb.com_memcacheds.yaml @@ -3729,6 +3729,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_mongodbs.yaml b/crds/kubedb.com_mongodbs.yaml index 7dc312fbb6..11fa61f9eb 100644 --- a/crds/kubedb.com_mongodbs.yaml +++ b/crds/kubedb.com_mongodbs.yaml @@ -17073,6 +17073,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_mysqls.yaml b/crds/kubedb.com_mysqls.yaml index 11bdf36fb6..3831f5e6b7 100644 --- a/crds/kubedb.com_mysqls.yaml +++ b/crds/kubedb.com_mysqls.yaml @@ -6888,6 +6888,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_perconaxtradbs.yaml b/crds/kubedb.com_perconaxtradbs.yaml index 1fc1f5712e..5905c80f53 100644 --- a/crds/kubedb.com_perconaxtradbs.yaml +++ b/crds/kubedb.com_perconaxtradbs.yaml @@ -4256,6 +4256,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_pgbouncers.yaml b/crds/kubedb.com_pgbouncers.yaml index aef9348666..bdf30ae4c5 100644 --- a/crds/kubedb.com_pgbouncers.yaml +++ b/crds/kubedb.com_pgbouncers.yaml @@ -3099,6 +3099,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_pgpools.yaml b/crds/kubedb.com_pgpools.yaml index 1da7682031..3af2e0e8fd 100644 --- a/crds/kubedb.com_pgpools.yaml +++ b/crds/kubedb.com_pgpools.yaml @@ -3791,6 +3791,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_postgreses.yaml b/crds/kubedb.com_postgreses.yaml index 18db78384b..92c34845a7 100644 --- a/crds/kubedb.com_postgreses.yaml +++ b/crds/kubedb.com_postgreses.yaml @@ -4391,6 +4391,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_proxysqls.yaml b/crds/kubedb.com_proxysqls.yaml index abdc2c7b5c..b25f2cdffa 100644 --- a/crds/kubedb.com_proxysqls.yaml +++ b/crds/kubedb.com_proxysqls.yaml @@ -3075,6 +3075,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_rabbitmqs.yaml b/crds/kubedb.com_rabbitmqs.yaml index 6e88f0a15c..c2b559bf8e 100644 --- a/crds/kubedb.com_rabbitmqs.yaml +++ b/crds/kubedb.com_rabbitmqs.yaml @@ -3965,6 +3965,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_redises.yaml b/crds/kubedb.com_redises.yaml index 7413d8610a..d96640ee97 100644 --- a/crds/kubedb.com_redises.yaml +++ b/crds/kubedb.com_redises.yaml @@ -4259,6 +4259,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_singlestores.yaml b/crds/kubedb.com_singlestores.yaml index 7fade39e53..fd2e0ea957 100644 --- a/crds/kubedb.com_singlestores.yaml +++ b/crds/kubedb.com_singlestores.yaml @@ -11828,6 +11828,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_solrs.yaml b/crds/kubedb.com_solrs.yaml index fe26692d4d..47521b448a 100644 --- a/crds/kubedb.com_solrs.yaml +++ b/crds/kubedb.com_solrs.yaml @@ -14212,6 +14212,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/kubedb.com_zookeepers.yaml b/crds/kubedb.com_zookeepers.yaml index 0ca664a15d..1b0954d259 100644 --- a/crds/kubedb.com_zookeepers.yaml +++ b/crds/kubedb.com_zookeepers.yaml @@ -3862,6 +3862,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_elasticsearchinsights.yaml b/crds/ui.kubedb.com_elasticsearchinsights.yaml index ef4faa367e..1a3d129158 100644 --- a/crds/ui.kubedb.com_elasticsearchinsights.yaml +++ b/crds/ui.kubedb.com_elasticsearchinsights.yaml @@ -149,6 +149,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_mariadbinsights.yaml b/crds/ui.kubedb.com_mariadbinsights.yaml index c3e6455651..37216e9907 100644 --- a/crds/ui.kubedb.com_mariadbinsights.yaml +++ b/crds/ui.kubedb.com_mariadbinsights.yaml @@ -142,6 +142,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_mongodbinsights.yaml b/crds/ui.kubedb.com_mongodbinsights.yaml index d67ef740ac..ef9c4b2fde 100644 --- a/crds/ui.kubedb.com_mongodbinsights.yaml +++ b/crds/ui.kubedb.com_mongodbinsights.yaml @@ -173,6 +173,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_mysqlinsights.yaml b/crds/ui.kubedb.com_mysqlinsights.yaml index 1c5dbf4c45..b9533a0bf2 100644 --- a/crds/ui.kubedb.com_mysqlinsights.yaml +++ b/crds/ui.kubedb.com_mysqlinsights.yaml @@ -142,6 +142,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_pgbouncerinsights.yaml b/crds/ui.kubedb.com_pgbouncerinsights.yaml index c53b37f3e3..87670a7b5b 100644 --- a/crds/ui.kubedb.com_pgbouncerinsights.yaml +++ b/crds/ui.kubedb.com_pgbouncerinsights.yaml @@ -155,6 +155,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_postgresinsights.yaml b/crds/ui.kubedb.com_postgresinsights.yaml index 5f977e78fe..e328ce0615 100644 --- a/crds/ui.kubedb.com_postgresinsights.yaml +++ b/crds/ui.kubedb.com_postgresinsights.yaml @@ -150,6 +150,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_proxysqlinsights.yaml b/crds/ui.kubedb.com_proxysqlinsights.yaml index df76a71ce6..f1f19c0527 100644 --- a/crds/ui.kubedb.com_proxysqlinsights.yaml +++ b/crds/ui.kubedb.com_proxysqlinsights.yaml @@ -158,6 +158,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/crds/ui.kubedb.com_redisinsights.yaml b/crds/ui.kubedb.com_redisinsights.yaml index 680995039d..a4e68567ef 100644 --- a/crds/ui.kubedb.com_redisinsights.yaml +++ b/crds/ui.kubedb.com_redisinsights.yaml @@ -142,6 +142,24 @@ spec: - ports type: object type: array + ui: + items: + properties: + alias: + type: string + helmRelease: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + url: + type: string + required: + - alias + - url + type: object + type: array required: - name - namespace diff --git a/openapi/swagger.json b/openapi/swagger.json index 9b4e501f61..831dc1ede5 100644 --- a/openapi/swagger.json +++ b/openapi/swagger.json @@ -23673,6 +23673,14 @@ "default": {}, "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedServiceStatus" } + }, + "ui": { + "description": "UI is an optional list of database web uis", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedURL" + } } } }, @@ -24864,6 +24872,29 @@ } } }, + "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedURL": { + "type": "object", + "required": [ + "alias", + "url" + ], + "properties": { + "alias": { + "description": "Alias represents the identifier of the service. This should match the db ui chart name", + "type": "string", + "default": "" + }, + "helmRelease": { + "description": "HelmRelease is the name of the helm release used to deploy this ui The name format is typically \u003calias\u003e-\u003cdb-name\u003e", + "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference" + }, + "url": { + "description": "URL of the database ui", + "type": "string", + "default": "" + } + } + }, "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.PerconaXtraDB": { "type": "object", "properties": {