From ea1e9882d687c04510076ef1ea021d98372fa88b Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Wed, 6 Mar 2024 06:27:01 -0800 Subject: [PATCH] Add service gateway info to db status (#1157) Signed-off-by: Tamal Saha --- apis/kubedb/v1alpha2/druid_types.go | 2 + apis/kubedb/v1alpha2/elasticsearch_types.go | 2 + apis/kubedb/v1alpha2/etcd_types.go | 2 + apis/kubedb/v1alpha2/ferretdb_types.go | 2 + apis/kubedb/v1alpha2/kafka_types.go | 2 + apis/kubedb/v1alpha2/mariadb_types.go | 2 + apis/kubedb/v1alpha2/memcached_types.go | 2 + apis/kubedb/v1alpha2/mongodb_types.go | 2 + apis/kubedb/v1alpha2/mysql_types.go | 2 + apis/kubedb/v1alpha2/openapi_generated.go | 226 ++++++++++++++++-- apis/kubedb/v1alpha2/perconaxtradb_types.go | 2 + apis/kubedb/v1alpha2/pgbouncer_types.go | 2 + apis/kubedb/v1alpha2/pgpool_types.go | 2 + apis/kubedb/v1alpha2/postgres_types.go | 2 + apis/kubedb/v1alpha2/proxysql_types.go | 2 + apis/kubedb/v1alpha2/rabbitmq_types.go | 2 + apis/kubedb/v1alpha2/redis_types.go | 2 + apis/kubedb/v1alpha2/singlestore_types.go | 2 + apis/kubedb/v1alpha2/solr_types.go | 2 + apis/kubedb/v1alpha2/types.go | 19 ++ apis/kubedb/v1alpha2/zookeeper_types.go | 2 + apis/kubedb/v1alpha2/zz_generated.deepcopy.go | 139 +++++++++++ crds/kubedb.com_druids.yaml | 43 ++++ crds/kubedb.com_elasticsearches.yaml | 43 ++++ crds/kubedb.com_etcds.yaml | 43 ++++ crds/kubedb.com_ferretdbs.yaml | 43 ++++ crds/kubedb.com_kafkas.yaml | 43 ++++ crds/kubedb.com_mariadbs.yaml | 43 ++++ crds/kubedb.com_memcacheds.yaml | 43 ++++ crds/kubedb.com_mongodbs.yaml | 43 ++++ crds/kubedb.com_mysqls.yaml | 43 ++++ crds/kubedb.com_perconaxtradbs.yaml | 43 ++++ crds/kubedb.com_pgbouncers.yaml | 43 ++++ crds/kubedb.com_pgpools.yaml | 43 ++++ crds/kubedb.com_postgreses.yaml | 43 ++++ crds/kubedb.com_proxysqls.yaml | 43 ++++ crds/kubedb.com_rabbitmqs.yaml | 43 ++++ crds/kubedb.com_redises.yaml | 43 ++++ crds/kubedb.com_singlestores.yaml | 43 ++++ crds/kubedb.com_solrs.yaml | 43 ++++ crds/kubedb.com_zookeepers.yaml | 43 ++++ crds/ui.kubedb.com_elasticsearchinsights.yaml | 43 ++++ crds/ui.kubedb.com_mariadbinsights.yaml | 43 ++++ crds/ui.kubedb.com_mongodbinsights.yaml | 43 ++++ crds/ui.kubedb.com_mysqlinsights.yaml | 43 ++++ crds/ui.kubedb.com_pgbouncerinsights.yaml | 43 ++++ crds/ui.kubedb.com_postgresinsights.yaml | 43 ++++ crds/ui.kubedb.com_proxysqlinsights.yaml | 43 ++++ crds/ui.kubedb.com_redisinsights.yaml | 43 ++++ openapi/swagger.json | 85 +++++++ 50 files changed, 1649 insertions(+), 19 deletions(-) diff --git a/apis/kubedb/v1alpha2/druid_types.go b/apis/kubedb/v1alpha2/druid_types.go index 3f1ca2e79c..b8708d1fda 100644 --- a/apis/kubedb/v1alpha2/druid_types.go +++ b/apis/kubedb/v1alpha2/druid_types.go @@ -207,6 +207,8 @@ type DruidStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/elasticsearch_types.go b/apis/kubedb/v1alpha2/elasticsearch_types.go index 89c557aade..ab91ce2385 100644 --- a/apis/kubedb/v1alpha2/elasticsearch_types.go +++ b/apis/kubedb/v1alpha2/elasticsearch_types.go @@ -376,6 +376,8 @@ type ElasticsearchStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/etcd_types.go b/apis/kubedb/v1alpha2/etcd_types.go index caa57e978e..476be08fdf 100644 --- a/apis/kubedb/v1alpha2/etcd_types.go +++ b/apis/kubedb/v1alpha2/etcd_types.go @@ -122,6 +122,8 @@ type EtcdStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/ferretdb_types.go b/apis/kubedb/v1alpha2/ferretdb_types.go index dd2c726cd6..d7433cae50 100644 --- a/apis/kubedb/v1alpha2/ferretdb_types.go +++ b/apis/kubedb/v1alpha2/ferretdb_types.go @@ -116,6 +116,8 @@ type FerretDBStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } type FerretDBBackend struct { diff --git a/apis/kubedb/v1alpha2/kafka_types.go b/apis/kubedb/v1alpha2/kafka_types.go index 23b8708cb3..bc5fef5cd8 100644 --- a/apis/kubedb/v1alpha2/kafka_types.go +++ b/apis/kubedb/v1alpha2/kafka_types.go @@ -170,6 +170,8 @@ type KafkaStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } type KafkaCruiseControl struct { diff --git a/apis/kubedb/v1alpha2/mariadb_types.go b/apis/kubedb/v1alpha2/mariadb_types.go index efd8590ced..ec824685ca 100644 --- a/apis/kubedb/v1alpha2/mariadb_types.go +++ b/apis/kubedb/v1alpha2/mariadb_types.go @@ -161,6 +161,8 @@ type MariaDBStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/memcached_types.go b/apis/kubedb/v1alpha2/memcached_types.go index faf611c149..8ec14235d3 100644 --- a/apis/kubedb/v1alpha2/memcached_types.go +++ b/apis/kubedb/v1alpha2/memcached_types.go @@ -123,6 +123,8 @@ type MemcachedStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/mongodb_types.go b/apis/kubedb/v1alpha2/mongodb_types.go index 3fdabe84ec..dff61df003 100644 --- a/apis/kubedb/v1alpha2/mongodb_types.go +++ b/apis/kubedb/v1alpha2/mongodb_types.go @@ -333,6 +333,8 @@ type MongoDBStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/mysql_types.go b/apis/kubedb/v1alpha2/mysql_types.go index b023255f83..b0755ef445 100644 --- a/apis/kubedb/v1alpha2/mysql_types.go +++ b/apis/kubedb/v1alpha2/mysql_types.go @@ -263,6 +263,8 @@ type MySQLStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/openapi_generated.go b/apis/kubedb/v1alpha2/openapi_generated.go index c7e267323a..2371239d22 100644 --- a/apis/kubedb/v1alpha2/openapi_generated.go +++ b/apis/kubedb/v1alpha2/openapi_generated.go @@ -492,6 +492,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBSpec": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBStatsService": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBStatsService(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBStatus": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBStatus(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway": schema_apimachinery_apis_kubedb_v1alpha2_Gateway(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.GitRepo": schema_apimachinery_apis_kubedb_v1alpha2_GitRepo(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec": schema_apimachinery_apis_kubedb_v1alpha2_InitSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Kafka": schema_apimachinery_apis_kubedb_v1alpha2_Kafka(ref), @@ -535,6 +536,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLStatus": schema_apimachinery_apis_kubedb_v1alpha2_MySQLStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLTopology": schema_apimachinery_apis_kubedb_v1alpha2_MySQLTopology(ref), "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.PerconaXtraDB": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDB(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDBList": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBList(ref), @@ -23599,11 +23601,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DruidStatus(ref common.ReferenceCa }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -24184,11 +24191,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ElasticsearchStatus(ref common.Ref Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -24574,11 +24586,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_EtcdStatus(ref common.ReferenceCal Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -24898,11 +24915,71 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBStatus(ref common.Referenc }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, + } +} + +func schema_apimachinery_apis_kubedb_v1alpha2_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceStatus"), + }, + }, + }, + }, + }, }, + Required: []string{"name", "namespace"}, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceStatus"}, } } @@ -25471,11 +25548,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_KafkaStatus(ref common.ReferenceCa }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -25803,11 +25885,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MariaDBStatus(ref common.Reference Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -26054,11 +26141,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MemcachedStatus(ref common.Referen }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -26706,11 +26798,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MongoDBStatus(ref common.Reference Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -27136,11 +27233,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLStatus(ref common.ReferenceCa Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -27280,6 +27382,42 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLUser(ref common.ReferenceCall } } +func schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceStatus(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.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.ServicePort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.ServicePort"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceTemplateSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -27598,11 +27736,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBStatus(ref common.Ref Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -27857,11 +28000,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgBouncerStatus(ref common.Referen }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -28110,11 +28258,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgpoolStatus(ref common.ReferenceC }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -28594,11 +28747,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PostgresStatus(ref common.Referenc Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -28899,11 +29057,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLStatus(ref common.Referenc Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -29160,11 +29323,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RabbitMQStatus(ref common.Referenc }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -29851,11 +30019,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisStatus(ref common.ReferenceCa Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"), }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -30428,11 +30601,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SinglestoreStatus(ref common.Refer }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -30880,11 +31058,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrStatus(ref common.ReferenceCal }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } @@ -31199,11 +31382,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperStatus(ref common.Referen }, }, }, + "gateway": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"), + }, + }, }, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Gateway"}, } } diff --git a/apis/kubedb/v1alpha2/perconaxtradb_types.go b/apis/kubedb/v1alpha2/perconaxtradb_types.go index 021fd35d3d..a00d635ced 100644 --- a/apis/kubedb/v1alpha2/perconaxtradb_types.go +++ b/apis/kubedb/v1alpha2/perconaxtradb_types.go @@ -151,6 +151,8 @@ type PerconaXtraDBStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/pgbouncer_types.go b/apis/kubedb/v1alpha2/pgbouncer_types.go index 030076b62d..a513a0f20a 100644 --- a/apis/kubedb/v1alpha2/pgbouncer_types.go +++ b/apis/kubedb/v1alpha2/pgbouncer_types.go @@ -205,6 +205,8 @@ type PgBouncerStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +kubebuilder:validation:Enum=disable;allow;prefer;require;verify-ca;verify-full diff --git a/apis/kubedb/v1alpha2/pgpool_types.go b/apis/kubedb/v1alpha2/pgpool_types.go index c2e65ae4f6..1fad89589e 100644 --- a/apis/kubedb/v1alpha2/pgpool_types.go +++ b/apis/kubedb/v1alpha2/pgpool_types.go @@ -120,6 +120,8 @@ type PgpoolStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } type PgpoolConfiguration struct { diff --git a/apis/kubedb/v1alpha2/postgres_types.go b/apis/kubedb/v1alpha2/postgres_types.go index b3eae44e96..1b3f376153 100644 --- a/apis/kubedb/v1alpha2/postgres_types.go +++ b/apis/kubedb/v1alpha2/postgres_types.go @@ -267,6 +267,8 @@ type PostgresStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/proxysql_types.go b/apis/kubedb/v1alpha2/proxysql_types.go index a854951510..ee7ecd08b3 100644 --- a/apis/kubedb/v1alpha2/proxysql_types.go +++ b/apis/kubedb/v1alpha2/proxysql_types.go @@ -196,6 +196,8 @@ type ProxySQLStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/rabbitmq_types.go b/apis/kubedb/v1alpha2/rabbitmq_types.go index 004539213e..5d91f1d13a 100644 --- a/apis/kubedb/v1alpha2/rabbitmq_types.go +++ b/apis/kubedb/v1alpha2/rabbitmq_types.go @@ -134,6 +134,8 @@ type RabbitMQStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +kubebuilder:validation:Enum=Provisioning;Ready;NotReady;Critical diff --git a/apis/kubedb/v1alpha2/redis_types.go b/apis/kubedb/v1alpha2/redis_types.go index 9d2f2615a2..38ffedb201 100644 --- a/apis/kubedb/v1alpha2/redis_types.go +++ b/apis/kubedb/v1alpha2/redis_types.go @@ -181,6 +181,8 @@ type RedisStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` // +optional AuthSecret *Age `json:"authSecret,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/singlestore_types.go b/apis/kubedb/v1alpha2/singlestore_types.go index 0a101bc7d9..a0c9af27f8 100644 --- a/apis/kubedb/v1alpha2/singlestore_types.go +++ b/apis/kubedb/v1alpha2/singlestore_types.go @@ -148,6 +148,8 @@ type SinglestoreStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +kubebuilder:validation:Enum=server;client;metrics-exporter diff --git a/apis/kubedb/v1alpha2/solr_types.go b/apis/kubedb/v1alpha2/solr_types.go index e58b35381b..327cd2d3c1 100644 --- a/apis/kubedb/v1alpha2/solr_types.go +++ b/apis/kubedb/v1alpha2/solr_types.go @@ -172,6 +172,8 @@ type SolrStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +kubebuilder:validation:Enum=overseer;data;coordinator;combined diff --git a/apis/kubedb/v1alpha2/types.go b/apis/kubedb/v1alpha2/types.go index b8353244fc..4dd6123bd9 100644 --- a/apis/kubedb/v1alpha2/types.go +++ b/apis/kubedb/v1alpha2/types.go @@ -231,3 +231,22 @@ type ArchiverRecovery struct { // FullDBRepository means db restore + manifest restore FullDBRepository *kmapi.ObjectReference `json:"fullDBRepository,omitempty"` } + +type Gateway struct { + Name string `json:"name"` + Namespace string `json:"namespace"` + // +optional + IP string `json:"ip,omitempty"` + // +optional + Hostname string `json:"hostname,omitempty"` + // Services is an optional configuration for services used to expose database + // +optional + Services []NamedServiceStatus `json:"services,omitempty"` +} + +type NamedServiceStatus struct { + // Alias represents the identifier of the service. + Alias ServiceAlias `json:"alias"` + + Ports []ofst.ServicePort `json:"ports"` +} diff --git a/apis/kubedb/v1alpha2/zookeeper_types.go b/apis/kubedb/v1alpha2/zookeeper_types.go index 7d817044e2..517c81a109 100644 --- a/apis/kubedb/v1alpha2/zookeeper_types.go +++ b/apis/kubedb/v1alpha2/zookeeper_types.go @@ -118,6 +118,8 @@ type ZooKeeperStatus struct { // Conditions applied to the database, such as approval or denial. // +optional Conditions []kmapi.Condition `json:"conditions,omitempty"` + // +optional + Gateway *Gateway `json:"gateway,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/apis/kubedb/v1alpha2/zz_generated.deepcopy.go b/apis/kubedb/v1alpha2/zz_generated.deepcopy.go index 59b9733b0d..bf5802c753 100644 --- a/apis/kubedb/v1alpha2/zz_generated.deepcopy.go +++ b/apis/kubedb/v1alpha2/zz_generated.deepcopy.go @@ -557,6 +557,11 @@ func (in *DruidStatus) DeepCopyInto(out *DruidStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -896,6 +901,11 @@ func (in *ElasticsearchStatus) DeepCopyInto(out *ElasticsearchStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -1089,6 +1099,11 @@ func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -1295,6 +1310,11 @@ func (in *FerretDBStatus) DeepCopyInto(out *FerretDBStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -1308,6 +1328,29 @@ func (in *FerretDBStatus) DeepCopy() *FerretDBStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Gateway) DeepCopyInto(out *Gateway) { + *out = *in + if in.Services != nil { + in, out := &in.Services, &out.Services + *out = make([]NamedServiceStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway. +func (in *Gateway) DeepCopy() *Gateway { + if in == nil { + return nil + } + out := new(Gateway) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GitRepo) DeepCopyInto(out *GitRepo) { *out = *in @@ -1651,6 +1694,11 @@ func (in *KafkaStatus) DeepCopyInto(out *KafkaStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -1828,6 +1876,11 @@ func (in *MariaDBStatus) DeepCopyInto(out *MariaDBStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -1977,6 +2030,11 @@ func (in *MemcachedStatus) DeepCopyInto(out *MemcachedStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -2348,6 +2406,11 @@ func (in *MongoDBStatus) DeepCopyInto(out *MongoDBStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -2611,6 +2674,11 @@ func (in *MySQLStatus) DeepCopyInto(out *MySQLStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -2706,6 +2774,27 @@ func (in *MySQLUser) DeepCopy() *MySQLUser { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedServiceStatus) DeepCopyInto(out *NamedServiceStatus) { + *out = *in + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]offshootapiapiv1.ServicePort, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedServiceStatus. +func (in *NamedServiceStatus) DeepCopy() *NamedServiceStatus { + if in == nil { + return nil + } + out := new(NamedServiceStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NamedServiceTemplateSpec) DeepCopyInto(out *NamedServiceTemplateSpec) { *out = *in @@ -2871,6 +2960,11 @@ func (in *PerconaXtraDBStatus) DeepCopyInto(out *PerconaXtraDBStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -3018,6 +3112,11 @@ func (in *PgBouncerStatus) DeepCopyInto(out *PgBouncerStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -3177,6 +3276,11 @@ func (in *PgpoolStatus) DeepCopyInto(out *PgpoolStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -3442,6 +3546,11 @@ func (in *PostgresStatus) DeepCopyInto(out *PostgresStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -3636,6 +3745,11 @@ func (in *ProxySQLStatus) DeepCopyInto(out *ProxySQLStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -3775,6 +3889,11 @@ func (in *RabbitMQStatus) DeepCopyInto(out *RabbitMQStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -4186,6 +4305,11 @@ func (in *RedisStatus) DeepCopyInto(out *RedisStatus) { *out = new(Age) (*in).DeepCopyInto(*out) } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -4448,6 +4572,11 @@ func (in *SinglestoreStatus) DeepCopyInto(out *SinglestoreStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -4736,6 +4865,11 @@ func (in *SolrStatus) DeepCopyInto(out *SolrStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } @@ -4938,6 +5072,11 @@ func (in *ZooKeeperStatus) DeepCopyInto(out *ZooKeeperStatus) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Gateway != nil { + in, out := &in.Gateway, &out.Gateway + *out = new(Gateway) + (*in).DeepCopyInto(*out) + } return } diff --git a/crds/kubedb.com_druids.yaml b/crds/kubedb.com_druids.yaml index c72b4eaa37..bb09e7db9b 100644 --- a/crds/kubedb.com_druids.yaml +++ b/crds/kubedb.com_druids.yaml @@ -24402,6 +24402,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_elasticsearches.yaml b/crds/kubedb.com_elasticsearches.yaml index eb978ecd93..ef37c17bab 100644 --- a/crds/kubedb.com_elasticsearches.yaml +++ b/crds/kubedb.com_elasticsearches.yaml @@ -5828,6 +5828,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_etcds.yaml b/crds/kubedb.com_etcds.yaml index 58d849ed5f..91fbd7b256 100644 --- a/crds/kubedb.com_etcds.yaml +++ b/crds/kubedb.com_etcds.yaml @@ -3914,6 +3914,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_ferretdbs.yaml b/crds/kubedb.com_ferretdbs.yaml index b86292104c..8fa4c7a10f 100644 --- a/crds/kubedb.com_ferretdbs.yaml +++ b/crds/kubedb.com_ferretdbs.yaml @@ -3950,6 +3950,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_kafkas.yaml b/crds/kubedb.com_kafkas.yaml index 0fd5d602ed..52ef4d1068 100644 --- a/crds/kubedb.com_kafkas.yaml +++ b/crds/kubedb.com_kafkas.yaml @@ -7632,6 +7632,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_mariadbs.yaml b/crds/kubedb.com_mariadbs.yaml index 9d12c641bc..21b1dbdeb0 100644 --- a/crds/kubedb.com_mariadbs.yaml +++ b/crds/kubedb.com_mariadbs.yaml @@ -4204,6 +4204,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_memcacheds.yaml b/crds/kubedb.com_memcacheds.yaml index fc0198d666..9685cec69d 100644 --- a/crds/kubedb.com_memcacheds.yaml +++ b/crds/kubedb.com_memcacheds.yaml @@ -3690,6 +3690,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_mongodbs.yaml b/crds/kubedb.com_mongodbs.yaml index d372c5a395..7dc312fbb6 100644 --- a/crds/kubedb.com_mongodbs.yaml +++ b/crds/kubedb.com_mongodbs.yaml @@ -17034,6 +17034,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_mysqls.yaml b/crds/kubedb.com_mysqls.yaml index 191d505f21..11bdf36fb6 100644 --- a/crds/kubedb.com_mysqls.yaml +++ b/crds/kubedb.com_mysqls.yaml @@ -6849,6 +6849,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_perconaxtradbs.yaml b/crds/kubedb.com_perconaxtradbs.yaml index f8239c6a5f..1fc1f5712e 100644 --- a/crds/kubedb.com_perconaxtradbs.yaml +++ b/crds/kubedb.com_perconaxtradbs.yaml @@ -4217,6 +4217,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_pgbouncers.yaml b/crds/kubedb.com_pgbouncers.yaml index c3df9442c1..aef9348666 100644 --- a/crds/kubedb.com_pgbouncers.yaml +++ b/crds/kubedb.com_pgbouncers.yaml @@ -3060,6 +3060,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_pgpools.yaml b/crds/kubedb.com_pgpools.yaml index 6b4dbf36f8..c76129dc96 100644 --- a/crds/kubedb.com_pgpools.yaml +++ b/crds/kubedb.com_pgpools.yaml @@ -3564,6 +3564,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_postgreses.yaml b/crds/kubedb.com_postgreses.yaml index 1467303b9b..18db78384b 100644 --- a/crds/kubedb.com_postgreses.yaml +++ b/crds/kubedb.com_postgreses.yaml @@ -4352,6 +4352,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_proxysqls.yaml b/crds/kubedb.com_proxysqls.yaml index 435408b0b9..abdc2c7b5c 100644 --- a/crds/kubedb.com_proxysqls.yaml +++ b/crds/kubedb.com_proxysqls.yaml @@ -3036,6 +3036,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_rabbitmqs.yaml b/crds/kubedb.com_rabbitmqs.yaml index 45da153f8d..6e88f0a15c 100644 --- a/crds/kubedb.com_rabbitmqs.yaml +++ b/crds/kubedb.com_rabbitmqs.yaml @@ -3926,6 +3926,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_redises.yaml b/crds/kubedb.com_redises.yaml index fd2aa14351..7413d8610a 100644 --- a/crds/kubedb.com_redises.yaml +++ b/crds/kubedb.com_redises.yaml @@ -4220,6 +4220,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_singlestores.yaml b/crds/kubedb.com_singlestores.yaml index 49e0156aed..172bfe524d 100644 --- a/crds/kubedb.com_singlestores.yaml +++ b/crds/kubedb.com_singlestores.yaml @@ -11601,6 +11601,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_solrs.yaml b/crds/kubedb.com_solrs.yaml index ebeb288f49..fe26692d4d 100644 --- a/crds/kubedb.com_solrs.yaml +++ b/crds/kubedb.com_solrs.yaml @@ -14173,6 +14173,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/kubedb.com_zookeepers.yaml b/crds/kubedb.com_zookeepers.yaml index 0fa0104a81..0ca664a15d 100644 --- a/crds/kubedb.com_zookeepers.yaml +++ b/crds/kubedb.com_zookeepers.yaml @@ -3823,6 +3823,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_elasticsearchinsights.yaml b/crds/ui.kubedb.com_elasticsearchinsights.yaml index d66efe2239..ef4faa367e 100644 --- a/crds/ui.kubedb.com_elasticsearchinsights.yaml +++ b/crds/ui.kubedb.com_elasticsearchinsights.yaml @@ -110,6 +110,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_mariadbinsights.yaml b/crds/ui.kubedb.com_mariadbinsights.yaml index d5f416b5cc..c3e6455651 100644 --- a/crds/ui.kubedb.com_mariadbinsights.yaml +++ b/crds/ui.kubedb.com_mariadbinsights.yaml @@ -103,6 +103,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_mongodbinsights.yaml b/crds/ui.kubedb.com_mongodbinsights.yaml index 716d67c247..d67ef740ac 100644 --- a/crds/ui.kubedb.com_mongodbinsights.yaml +++ b/crds/ui.kubedb.com_mongodbinsights.yaml @@ -134,6 +134,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_mysqlinsights.yaml b/crds/ui.kubedb.com_mysqlinsights.yaml index 8b84263efd..1c5dbf4c45 100644 --- a/crds/ui.kubedb.com_mysqlinsights.yaml +++ b/crds/ui.kubedb.com_mysqlinsights.yaml @@ -103,6 +103,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_pgbouncerinsights.yaml b/crds/ui.kubedb.com_pgbouncerinsights.yaml index 1649d484f8..c53b37f3e3 100644 --- a/crds/ui.kubedb.com_pgbouncerinsights.yaml +++ b/crds/ui.kubedb.com_pgbouncerinsights.yaml @@ -116,6 +116,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_postgresinsights.yaml b/crds/ui.kubedb.com_postgresinsights.yaml index 5f819450b5..5f977e78fe 100644 --- a/crds/ui.kubedb.com_postgresinsights.yaml +++ b/crds/ui.kubedb.com_postgresinsights.yaml @@ -111,6 +111,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_proxysqlinsights.yaml b/crds/ui.kubedb.com_proxysqlinsights.yaml index 929e60108c..df76a71ce6 100644 --- a/crds/ui.kubedb.com_proxysqlinsights.yaml +++ b/crds/ui.kubedb.com_proxysqlinsights.yaml @@ -119,6 +119,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/crds/ui.kubedb.com_redisinsights.yaml b/crds/ui.kubedb.com_redisinsights.yaml index c42b1db2e1..680995039d 100644 --- a/crds/ui.kubedb.com_redisinsights.yaml +++ b/crds/ui.kubedb.com_redisinsights.yaml @@ -103,6 +103,49 @@ spec: - type type: object type: array + gateway: + properties: + hostname: + type: string + ip: + type: string + name: + type: string + namespace: + type: string + services: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + required: + - alias + - ports + type: object + type: array + required: + - name + - namespace + type: object observedGeneration: format: int64 type: integer diff --git a/openapi/swagger.json b/openapi/swagger.json index edd5962cbe..20b94aee3f 100644 --- a/openapi/swagger.json +++ b/openapi/swagger.json @@ -23398,6 +23398,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -23628,6 +23631,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -23639,6 +23645,37 @@ } } }, + "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway": { + "type": "object", + "required": [ + "name", + "namespace" + ], + "properties": { + "hostname": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "name": { + "type": "string", + "default": "" + }, + "namespace": { + "type": "string", + "default": "" + }, + "services": { + "description": "Services is an optional configuration for services used to expose database", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedServiceStatus" + } + } + } + }, "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.GitRepo": { "type": "object", "required": [ @@ -23888,6 +23925,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -24042,6 +24082,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -24412,6 +24455,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -24675,6 +24721,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -24767,6 +24816,27 @@ } } }, + "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedServiceStatus": { + "type": "object", + "required": [ + "alias", + "ports" + ], + "properties": { + "alias": { + "description": "Alias represents the identifier of the service.", + "type": "string", + "default": "" + }, + "ports": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/xyz.kmodules.offshoot-api.api.v1.ServicePort" + } + } + } + }, "dev.kubedb.apimachinery.apis.kubedb.v1alpha2.NamedServiceTemplateSpec": { "type": "object", "required": [ @@ -24962,6 +25032,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -25125,6 +25198,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -25390,6 +25466,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -25576,6 +25655,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer", @@ -25794,6 +25876,9 @@ "$ref": "#/definitions/xyz.kmodules.client-go.api.v1.Condition" } }, + "gateway": { + "$ref": "#/definitions/dev.kubedb.apimachinery.apis.kubedb.v1alpha2.Gateway" + }, "observedGeneration": { "description": "observedGeneration is the most recent generation observed for this resource. It corresponds to the resource's generation, which is updated on mutation by the API Server.", "type": "integer",