diff --git a/go.mod b/go.mod index cd2a7d2be..cdbd7e5ca 100644 --- a/go.mod +++ b/go.mod @@ -20,9 +20,9 @@ require ( k8s.io/api v0.29.0 k8s.io/apimachinery v0.29.0 k8s.io/klog/v2 v2.110.1 - kmodules.xyz/client-go v0.29.8 + kmodules.xyz/client-go v0.29.9 kmodules.xyz/custom-resources v0.29.1 - kubedb.dev/apimachinery v0.42.0 + kubedb.dev/apimachinery v0.42.2-0.20240227074455-429a2b10fe50 sigs.k8s.io/controller-runtime v0.17.0 xorm.io/xorm v1.3.6 ) diff --git a/go.sum b/go.sum index 750b6175a..5ec6f6566 100644 --- a/go.sum +++ b/go.sum @@ -579,16 +579,16 @@ k8s.io/utils v0.0.0-20231127182322-b307cd553661 h1:FepOBzJ0GXm8t0su67ln2wAZjbQ6R k8s.io/utils v0.0.0-20231127182322-b307cd553661/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk= kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80= -kmodules.xyz/client-go v0.29.8 h1:8Uw7zoaye0ZaY47fBVTLjDOOn6cXzLPYBNnzHj7pgH4= -kmodules.xyz/client-go v0.29.8/go.mod h1:WYM/ZC3I5/AUGHYyYYEzYHFhnSwK+tEZyGld6KpLoxI= +kmodules.xyz/client-go v0.29.9 h1:nZcKM4YzmHAAQ62EYLep1NQdhARA9uOnYOiHMRf2VVg= +kmodules.xyz/client-go v0.29.9/go.mod h1:WYM/ZC3I5/AUGHYyYYEzYHFhnSwK+tEZyGld6KpLoxI= kmodules.xyz/custom-resources v0.29.1 h1:xiNylhs3ILRbcUhxxy306AOy9GMA4Mq7xFIptZKgal4= kmodules.xyz/custom-resources v0.29.1/go.mod h1:829zDY1EjaxPP52h1T73LZx/vgv8Pld9/uTT/ViZTc0= kmodules.xyz/monitoring-agent-api v0.29.0 h1:gpFl6OZrlMLb/ySMHdREI9EwGtnJ91oZBn9H1UFRwB4= kmodules.xyz/monitoring-agent-api v0.29.0/go.mod h1:iNbvaMTgVFOI5q2LJtGK91j4Dmjv4ZRiRdasGmWLKQI= kmodules.xyz/offshoot-api v0.29.0 h1:GHLhxxT9jU1N8+FvOCCeJNyU5g0duYS46UGrs6AHNLY= kmodules.xyz/offshoot-api v0.29.0/go.mod h1:5NxhBblXoDHWStx9HCDJR2KFTwYjEZ7i1Id3jelIunw= -kubedb.dev/apimachinery v0.42.0 h1:i+Lq2LIrdGOqBNizP83YYhLO8YvGCx4e1chKQwMG78E= -kubedb.dev/apimachinery v0.42.0/go.mod h1:SAqjTUSzUBFedESPe0HJmV+pElaCPA7tyg4OUFyWi1c= +kubedb.dev/apimachinery v0.42.2-0.20240227074455-429a2b10fe50 h1:cyVDIRYXLBss+GjVBNwh7qaWZaCn10BxRw7SUnGbcJs= +kubedb.dev/apimachinery v0.42.2-0.20240227074455-429a2b10fe50/go.mod h1:snGyLCdf0EDRjEMVxAtbObhL8lyFG/y/hNNVprYu1yE= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= diff --git a/pgpool/kubedb_client_builder.go b/pgpool/kubedb_client_builder.go index 1b2a5fc8a..41e71b790 100644 --- a/pgpool/kubedb_client_builder.go +++ b/pgpool/kubedb_client_builder.go @@ -106,23 +106,23 @@ func (o *KubeDBClientBuilder) getURL() string { func (o *KubeDBClientBuilder) getBackendAuth() (string, string, error) { pp := o.pgpool - var secretName string - if pp.Spec.Backend != nil { - apb := &appbinding.AppBinding{} - err := o.kc.Get(o.ctx, types.NamespacedName{ - Name: pp.Spec.Backend.Name, - Namespace: pp.Namespace, - }, apb) - if err != nil { - return "", "", err - } - if apb.Spec.Secret == nil { - return "", "", fmt.Errorf("backend database auth secret not found") - } - secretName = apb.Spec.Secret.Name + if pp.Spec.PostgresRef == nil { + return "", "", fmt.Errorf("there is no postgresRef found for pgpool %s/%s", pp.Namespace, pp.Name) + } + apb := &appbinding.AppBinding{} + err := o.kc.Get(o.ctx, types.NamespacedName{ + Name: pp.Spec.PostgresRef.Name, + Namespace: pp.Spec.PostgresRef.Namespace, + }, apb) + if err != nil { + return "", "", err } + if apb.Spec.Secret == nil { + return "", "", fmt.Errorf("backend postgres auth secret unspecified for pgpool %s/%s", pp.Namespace, pp.Name) + } + var secret core.Secret - err := o.kc.Get(o.ctx, client.ObjectKey{Namespace: pp.Namespace, Name: secretName}, &secret) + err = o.kc.Get(o.ctx, client.ObjectKey{Namespace: pp.Spec.PostgresRef.Namespace, Name: apb.Spec.Secret.Name}, &secret) if err != nil { return "", "", err } diff --git a/vendor/kmodules.xyz/client-go/apiextensions/v1/crd.go b/vendor/kmodules.xyz/client-go/apiextensions/v1/crd.go index d49713a2c..28156ee2a 100644 --- a/vendor/kmodules.xyz/client-go/apiextensions/v1/crd.go +++ b/vendor/kmodules.xyz/client-go/apiextensions/v1/crd.go @@ -18,6 +18,7 @@ package v1 import ( "context" + "time" "github.com/pkg/errors" api "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" @@ -29,6 +30,10 @@ import ( kutil "kmodules.xyz/client-go" ) +const ( + RetryTimeout = 10 * time.Minute +) + func CreateOrUpdateCustomResourceDefinition( ctx context.Context, c cs.Interface, @@ -70,7 +75,7 @@ func TryUpdateCustomResourceDefinition( opts metav1.UpdateOptions, ) (result *api.CustomResourceDefinition, err error) { attempt := 0 - err = wait.PollUntilContextTimeout(ctx, kutil.RetryInterval, kutil.RetryTimeout, true, func(ctx context.Context) (bool, error) { + err = wait.PollUntilContextTimeout(ctx, kutil.RetryInterval, RetryTimeout, true, func(ctx context.Context) (bool, error) { attempt++ cur, e2 := c.ApiextensionsV1().CustomResourceDefinitions().Get(ctx, name, metav1.GetOptions{}) if kerr.IsNotFound(e2) { diff --git a/vendor/kmodules.xyz/client-go/core/v1/kubernetes.go b/vendor/kmodules.xyz/client-go/core/v1/kubernetes.go index 7c8f60dcf..635473739 100644 --- a/vendor/kmodules.xyz/client-go/core/v1/kubernetes.go +++ b/vendor/kmodules.xyz/client-go/core/v1/kubernetes.go @@ -19,6 +19,8 @@ package v1 import ( "sort" + "kmodules.xyz/client-go/meta" + jsoniter "github.com/json-iterator/go" "gomodules.xyz/mergo" core "k8s.io/api/core/v1" @@ -108,6 +110,31 @@ func UpsertContainer(containers []core.Container, upsert core.Container) []core. return append(containers, upsert) } +func MergeContainer(container core.Container, containerTemplate core.Container) core.Container { + container.Command = containerTemplate.Command + container.Args = meta.UpsertArgumentList(container.Args, containerTemplate.Args) + container.WorkingDir = containerTemplate.WorkingDir + container.EnvFrom = containerTemplate.EnvFrom + container.Env = UpsertEnvVars(container.Env, containerTemplate.Env...) + container.Ports = UpsertContainerPorts(container.Ports, containerTemplate.Ports...) + container.Resources = containerTemplate.Resources + container.ResizePolicy = containerTemplate.ResizePolicy + container.RestartPolicy = containerTemplate.RestartPolicy + container.VolumeMounts = UpsertVolumeMount(container.VolumeMounts, containerTemplate.VolumeMounts...) + container.VolumeDevices = containerTemplate.VolumeDevices + container.LivenessProbe = containerTemplate.LivenessProbe + container.ReadinessProbe = containerTemplate.ReadinessProbe + container.StartupProbe = containerTemplate.StartupProbe + container.Lifecycle = containerTemplate.Lifecycle + container.TerminationMessagePath = containerTemplate.TerminationMessagePath + container.TerminationMessagePolicy = containerTemplate.TerminationMessagePolicy + container.ImagePullPolicy = containerTemplate.ImagePullPolicy + container.SecurityContext = containerTemplate.SecurityContext + container.StdinOnce = containerTemplate.StdinOnce + container.TTY = containerTemplate.TTY + return container +} + func UpsertContainers(containers []core.Container, addons []core.Container) []core.Container { out := containers for _, c := range addons { @@ -264,6 +291,26 @@ func EnsureVolumeMountDeletedByPath(mounts []core.VolumeMount, mountPath string) return mounts } +func UpsertContainerPorts(ports []core.ContainerPort, np ...core.ContainerPort) []core.ContainerPort { + upsert := func(p core.ContainerPort) { + for i, port := range ports { + if port.Name == p.Name { + err := mergo.Merge(&ports[i], p, mergo.WithOverride) + if err != nil { + panic(err) + } + return + } + } + ports = append(ports, p) + } + + for _, port := range np { + upsert(port) + } + return ports +} + func GetEnvByName(envs []core.EnvVar, name string) *core.EnvVar { for i := range envs { if envs[i].Name == name { diff --git a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connect_cluster_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connect_cluster_helpers.go index 79524a438..44b80dd3b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connect_cluster_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connect_cluster_helpers.go @@ -309,17 +309,20 @@ func (k *ConnectCluster) setDefaultInitContainerSecurityContext(podTemplate *ofs } initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, strings.ToLower(connectorVersion.Spec.Type)) - if initContainer == nil { initContainer = &core.Container{ Name: strings.ToLower(connectorVersion.Spec.Type), } - podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) + } + + if initContainer != nil && (initContainer.Resources.Requests == nil && initContainer.Resources.Limits == nil) { + apis.SetDefaultResourceLimits(&initContainer.Resources, api.DefaultInitContainerResource) } if initContainer.SecurityContext == nil { initContainer.SecurityContext = &core.SecurityContext{} } k.assignDefaultInitContainerSecurityContext(connectorVersion, initContainer.SecurityContext) + podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) } } @@ -339,12 +342,12 @@ func (k *ConnectCluster) setDefaultContainerSecurityContext(kfVersion *catalog.K container = &core.Container{ Name: ConnectClusterContainerName, } - podTemplate.Spec.Containers = append(podTemplate.Spec.Containers, *container) } if container.SecurityContext == nil { container.SecurityContext = &core.SecurityContext{} } k.assignDefaultContainerSecurityContext(kfVersion, container.SecurityContext) + podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *container) } func (k *ConnectCluster) assignDefaultInitContainerSecurityContext(connectorVersion *catalog.KafkaConnectorVersion, sc *core.SecurityContext) { diff --git a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connector_types.go b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connector_types.go index f0417d4dd..234784fac 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connector_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/connector_types.go @@ -80,15 +80,19 @@ type ConnectorStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` } -// +kubebuilder:validation:Enum=Pending;Running;Paused;Stopped;Unknown +// +kubebuilder:validation:Enum=Pending;Unassigned;Running;Paused;Failed;Restarting;Stopped;Destroyed;Unknown type ConnectorPhase string const ( - ConnectorPhasePending ConnectorPhase = "Pending" - ConnectorPhaseRunning ConnectorPhase = "Running" - ConnectorPhasePaused ConnectorPhase = "Paused" - ConnectorPhaseStopped ConnectorPhase = "Stopped" - ConnectorPhaseUnknown ConnectorPhase = "Unknown" + ConnectorPhasePending ConnectorPhase = "Pending" + ConnectorPhaseUnassigned ConnectorPhase = "Unassigned" + ConnectorPhaseRunning ConnectorPhase = "Running" + ConnectorPhasePaused ConnectorPhase = "Paused" + ConnectorPhaseFailed ConnectorPhase = "Failed" + ConnectorPhaseRestarting ConnectorPhase = "Restarting" + ConnectorPhaseStopped ConnectorPhase = "Stopped" + ConnectorPhaseDestroyed ConnectorPhase = "Destroyed" + ConnectorPhaseUnknown ConnectorPhase = "Unknown" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go index eb69a09fd..518d0c06a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go @@ -760,6 +760,8 @@ const ( SolrInitContainerName = "init-solr" SolrAdmin = "admin" SecurityJSON = "security.json" + SolrZkDigest = "zk-digest" + SolrZkReadonlyDigest = "zk-digest-readonly" SolrVolumeDefaultConfig = "default-config" SolrVolumeCustomConfig = "custom-config" @@ -791,9 +793,11 @@ const ( SolrCloudDistribUpdateConnTimeoutKey = "distribUpdateConnTimeout" SolrCloudDistribUpdateConnTimeoutValue = 60000 SolrCloudZKCredentialProviderKey = "zkCredentialsProvider" - SolrCloudZKCredentialProviderValue = "org.apache.solr.common.cloud.DefaultZkCredentialsProvider" + SolrCloudZKCredentialProviderValue = "org.apache.solr.common.cloud.DigestZkCredentialsProvider" SolrCloudZKAclProviderKey = "zkACLProvider" - SolrCloudZKAclProviderValue = "org.apache.solr.common.cloud.DefaultZkACLProvider" + SolrCloudZKAclProviderValue = "org.apache.solr.common.cloud.DigestZkACLProvider" + SolrCloudZKCredentialsInjectorKey = "zkCredentialsInjector" + SolrCloudZKCredentialsInjectorValue = "org.apache.solr.common.cloud.VMParamsZkCredentialsInjector" ShardHandlerFactorySocketTimeoutKey = "socketTimeout" ShardHandlerFactorySocketTimeoutValue = 600000 @@ -835,17 +839,19 @@ const ( DruidMainConfigDir = "/opt/druid/conf" DruidCustomConfigDir = "/tmp/config/custom-config" - DruidVolumeConfigCommon = "common-config-volume" - DruidVolumeConfigNodes = "nodetype-config-volume" - DruidConfigFileNameCommon = "common.runtime.properties" - DruidConfigFileNameJVM = "jvm.config" - DruidVolumeConfigFileNodes = "runtime.properties" - DruidConfigFileNameCoordinators = "coordinators.properties" - DruidConfigFileNameHistoricals = "historicals.properties" - DruidConfigFileNameMiddleManagers = "middleManagers.properties" - DruidConfigFileNameBrokers = "brokers.properties" - DruidConfigFileNameRouters = "routers.properties" - DruidVolumeMySQLMetadataStorage = "mysql-metadata-storage" + DruidVolumeCommonConfig = "common-config-volume" + DruidCommonConfigFile = "common.runtime.properties" + DruidCoordinatorsJVMConfigFile = "coordinators.jvm.config" + DruidHistoricalsJVMConfigFile = "historicals.jvm.config" + DruidBrokersJVMConfigFile = "brokers.jvm.config" + DruidMiddleManagersJVMConfigFile = "middleManagers.jvm.config" + DruidRoutersJVMConfigFile = "routers.jvm.config" + DruidCoordinatorsConfigFile = "coordinators.properties" + DruidHistoricalsConfigFile = "historicals.properties" + DruidMiddleManagersConfigFile = "middleManagers.properties" + DruidBrokersConfigFile = "brokers.properties" + DruidRoutersConfigFile = "routers.properties" + DruidVolumeMySQLMetadataStorage = "mysql-metadata-storage" DruidContainerName = "druid" DruidInitContainerName = "init-druid" @@ -856,6 +862,13 @@ const ( EnvDruidZKServicePassword = "DRUID_ZK_SERVICE_PASSWORD" EnvDruidCoordinatorAsOverlord = "DRUID_COORDINATOR_AS_OVERLORD" + DruidPortCoordinators = 8081 + DruidPortOverlords = 8090 + DruidPortHistoricals = 8083 + DruidPortMiddleManagers = 8091 + DruidPortBrokers = 8082 + DruidPortRouters = 8888 + // Common Runtime Configurations Properties // ZooKeeperSpec DruidZKServiceHost = "druid.zk.service.host" @@ -927,8 +940,7 @@ const ( DruidExtensionPostgreSQLMetadataStorage = "postgresql-metadata-storage" DruidExtensionBasicSecurity = "druid-basic-security" DruidExtensionMultiStageQuery = "druid-multi-stage-query" - - DruidService = "druid.service" + DruidService = "druid.service" /// Coordinators Configurations DruidCoordinatorStartDelay = "druid.coordinator.startDelay" @@ -1001,22 +1013,6 @@ const ( DruidHealthDataOne = "1" ) -type DruidMetadataStorageType string - -const ( - DruidMetadataStorageMySQL DruidMetadataStorageType = "MySQL" - DruidMetadataStoragePostgreSQL DruidMetadataStorageType = "PostgreSQL" -) - -type DruidDeepStorageType string - -const ( - DruidDeepStorageS3 DruidDeepStorageType = "s3" - DruidDeepStorageGoogle DruidDeepStorageType = "google" - DruidDeepStorageAzure DruidDeepStorageType = "azure" - DruidDeepStorageHDFS DruidDeepStorageType = "hdfs" -) - const ( RabbitMQAMQPPort = 5672 RabbitMQPeerDiscoveryPort = 4369 diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go index 828d0dc1b..3073a5a04 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go @@ -118,6 +118,10 @@ func (d *Druid) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]stri return d.offShootLabels(meta_util.OverwriteKeys(d.OffShootSelectors(), extraLabels...), svcTemplate.Labels) } +func (r *Druid) Finalizer() string { + return fmt.Sprintf("%s/%s", apis.Finalizer, r.ResourceSingular()) +} + func (d *Druid) DefaultUserCredSecretName(username string) string { return meta_util.NameWithSuffix(d.Name, strings.ReplaceAll(fmt.Sprintf("%s-cred", username), "_", "-")) } @@ -153,18 +157,18 @@ func (d *Druid) DruidNodeRoleStringSingular(nodeRole DruidNodeRoleType) string { func (d *Druid) DruidNodeContainerPort(nodeRole DruidNodeRoleType) int32 { if nodeRole == DruidNodeRoleCoordinators { - return 8081 + return DruidPortCoordinators } else if nodeRole == DruidNodeRoleOverlords { - return 8090 + return DruidPortOverlords } else if nodeRole == DruidNodeRoleMiddleManagers { - return 8091 + return DruidPortMiddleManagers } else if nodeRole == DruidNodeRoleHistoricals { - return 8083 + return DruidPortHistoricals } else if nodeRole == DruidNodeRoleBrokers { - return 8082 + return DruidPortBrokers } // Routers - return 8888 + return DruidPortRouters } func (d *Druid) SetHealthCheckerDefaults() { @@ -334,8 +338,7 @@ func (d *Druid) SetDefaults() { d.Spec.Topology.Coordinators.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.Coordinators.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.Coordinators.PodTemplate) - d.setCoordinatorsDefaultContainerResourceLimits(&d.Spec.Topology.Coordinators.PodTemplate) + d.setDefaultContainerResourceLimits(&d.Spec.Topology.Coordinators.PodTemplate) } } if d.Spec.Topology.Overlords != nil { @@ -347,7 +350,6 @@ func (d *Druid) SetDefaults() { d.Spec.Topology.Overlords.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.Overlords.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.Overlords.PodTemplate) d.setDefaultContainerResourceLimits(&d.Spec.Topology.Overlords.PodTemplate) } } @@ -360,7 +362,6 @@ func (d *Druid) SetDefaults() { d.Spec.Topology.MiddleManagers.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.MiddleManagers.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.MiddleManagers.PodTemplate) d.setDefaultContainerResourceLimits(&d.Spec.Topology.MiddleManagers.PodTemplate) } } @@ -368,12 +369,11 @@ func (d *Druid) SetDefaults() { if d.Spec.Topology.Historicals.Replicas == nil { d.Spec.Topology.Historicals.Replicas = pointer.Int32P(1) } - if d.Spec.Version > "25.0.0" { + if version.Major() > 25 { if d.Spec.Topology.Historicals.PodTemplate.Spec.SecurityContext == nil { d.Spec.Topology.Historicals.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.Historicals.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.Historicals.PodTemplate) d.setDefaultContainerResourceLimits(&d.Spec.Topology.Historicals.PodTemplate) } } @@ -386,7 +386,6 @@ func (d *Druid) SetDefaults() { d.Spec.Topology.Brokers.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.Brokers.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.Brokers.PodTemplate) d.setDefaultContainerResourceLimits(&d.Spec.Topology.Brokers.PodTemplate) } @@ -400,30 +399,15 @@ func (d *Druid) SetDefaults() { d.Spec.Topology.Routers.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: druidVersion.Spec.SecurityContext.RunAsUser} } d.setDefaultContainerSecurityContext(&druidVersion, &d.Spec.Topology.Routers.PodTemplate) - d.setDefaultInitContainerSecurityContext(&druidVersion, &d.Spec.Topology.Routers.PodTemplate) d.setDefaultContainerResourceLimits(&d.Spec.Topology.Routers.PodTemplate) } } } if d.Spec.MetadataStorage != nil { - if d.Spec.MetadataStorage.Name != nil && d.Spec.MetadataStorage.Namespace == nil { - *d.Spec.MetadataStorage.Namespace = d.Namespace - } - } -} - -func (d *Druid) setDefaultInitContainerSecurityContext(druidVersion *catalog.DruidVersion, podTemplate *ofst.PodTemplateSpec) { - initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, DruidInitContainerName) - if initContainer == nil { - initContainer = &v1.Container{ - Name: DruidInitContainerName, + if d.Spec.MetadataStorage.Name != "" && d.Spec.MetadataStorage.Namespace == "" { + d.Spec.MetadataStorage.Namespace = d.Namespace } } - if initContainer.SecurityContext == nil { - initContainer.SecurityContext = &v1.SecurityContext{} - } - d.assignDefaultContainerSecurityContext(druidVersion, initContainer.SecurityContext) - podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) } func (d *Druid) setDefaultContainerSecurityContext(druidVersion *catalog.DruidVersion, podTemplate *ofst.PodTemplateSpec) { @@ -438,6 +422,18 @@ func (d *Druid) setDefaultContainerSecurityContext(druidVersion *catalog.DruidVe } d.assignDefaultContainerSecurityContext(druidVersion, container.SecurityContext) podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *container) + + initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, DruidInitContainerName) + if initContainer == nil { + initContainer = &v1.Container{ + Name: DruidInitContainerName, + } + } + if initContainer.SecurityContext == nil { + initContainer.SecurityContext = &v1.SecurityContext{} + } + d.assignDefaultContainerSecurityContext(druidVersion, initContainer.SecurityContext) + podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) } func (d *Druid) assignDefaultContainerSecurityContext(druidVersion *catalog.DruidVersion, sc *v1.SecurityContext) { @@ -465,12 +461,10 @@ func (d *Druid) setDefaultContainerResourceLimits(podTemplate *ofst.PodTemplateS if dbContainer != nil && (dbContainer.Resources.Requests == nil && dbContainer.Resources.Limits == nil) { apis.SetDefaultResourceLimits(&dbContainer.Resources, DefaultResources) } -} -func (d *Druid) setCoordinatorsDefaultContainerResourceLimits(podTemplate *ofst.PodTemplateSpec) { - dbContainer := coreutil.GetContainerByName(podTemplate.Spec.Containers, DruidContainerName) - if dbContainer != nil && (dbContainer.Resources.Requests == nil && dbContainer.Resources.Limits == nil) { - apis.SetDefaultResourceLimits(&dbContainer.Resources, DefaultResourcesMemoryIntensive) + initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, DruidInitContainerName) + if initContainer != nil && (initContainer.Resources.Requests == nil && initContainer.Resources.Limits == nil) { + apis.SetDefaultResourceLimits(&initContainer.Resources, DefaultInitContainerResource) } } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go index 5e3c70d8b..3f1ca2e79 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go @@ -66,13 +66,6 @@ type DruidSpec struct { // StorageType can be durable (default) or ephemeral. StorageType StorageType `json:"storageType,omitempty"` - // Storage to specify how storage shall be used. - // Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` - - // To enable ssl for http layer. - // +optional - // EnableSSL bool `json:"enableSSL,omitempty"` - // disable security. It disables authentication security of user. // If unset, default is false // +optional @@ -99,7 +92,7 @@ type DruidSpec struct { // ZooKeeper contains information for Druid to connect to external dependency metadata storage // +optional - ZooKeeper *ZooKeeperRef `json:"zooKeeper,omitempty"` + ZookeeperRef *ZookeeperRef `json:"zookeeperRef,omitempty"` // PodTemplate is an optional configuration // +optional @@ -166,17 +159,13 @@ type DruidNode struct { } type MetadataStorage struct { - // Name of the appbinding of metadata storage - // +optional - Name *string `json:"name,omitempty"` - - // Namespace of the appbinding of metadata storage + // Name of the appbinding of zookeeper // +optional - Namespace *string `json:"namespace,omitempty"` + *kmapi.ObjectReference `json:",omitempty"` // If not KubeDB managed, then specify type of the metadata storage // +optional - Type *string `json:"type,omitempty"` + Type DruidMetadataStorageType `json:"type,omitempty"` // If Druid has the permission to create new tables // +optional @@ -186,22 +175,18 @@ type MetadataStorage struct { type DeepStorageSpec struct { // Specifies the storage type to be used by druid // Possible values: s3, google, azure, hdfs - Type *string `json:"type"` + Type DruidDeepStorageType `json:"type"` // deepStorage.configSecret should contain the necessary data // to connect to the deep storage // +optional - ConfigSecret *core.LocalObjectReference `json:"configSecret"` + ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` } -type ZooKeeperRef struct { +type ZookeeperRef struct { // Name of the appbinding of zookeeper // +optional - Name *string `json:"name,omitempty"` - - // Namespace of the appbinding of zookeeper - // +optional - Namespace string `json:"namespace,omitempty"` + *kmapi.ObjectReference `json:",omitempty"` // Base ZooKeeperSpec path // +optional @@ -243,6 +228,7 @@ const ( DruidPhaseCritical DruidPhase = "Critical" ) +// +kubebuilder:validation:Enum=coordinators;overlords;brokers;routers;middleManagers;historicals type DruidNodeRoleType string const ( @@ -253,3 +239,21 @@ const ( DruidNodeRoleMiddleManagers DruidNodeRoleType = "middleManagers" DruidNodeRoleHistoricals DruidNodeRoleType = "historicals" ) + +// +kubebuilder:validation:Enum=MySQL;PostgreSQL +type DruidMetadataStorageType string + +const ( + DruidMetadataStorageMySQL DruidMetadataStorageType = "MySQL" + DruidMetadataStoragePostgreSQL DruidMetadataStorageType = "PostgreSQL" +) + +// +kubebuilder:validation:Enum=s3;google;azure;hdfs +type DruidDeepStorageType string + +const ( + DruidDeepStorageS3 DruidDeepStorageType = "s3" + DruidDeepStorageGoogle DruidDeepStorageType = "google" + DruidDeepStorageAzure DruidDeepStorageType = "azure" + DruidDeepStorageHDFS DruidDeepStorageType = "hdfs" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_webhook.go index 4b4873e3d..5066e6387 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_webhook.go @@ -129,7 +129,7 @@ func (d *Druid) validateCreateOrUpdate() field.ErrorList { d.Name, "spec.deepStorage is missing")) } else { - if d.Spec.DeepStorage.Type == nil { + if d.Spec.DeepStorage.Type == "" { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("deepStorage").Child("type"), d.Name, "spec.deepStorage.type is missing")) @@ -141,7 +141,7 @@ func (d *Druid) validateCreateOrUpdate() field.ErrorList { d.Name, "spec.metadataStorage is missing")) } else { - if d.Spec.MetadataStorage.Name == nil && d.Spec.MetadataStorage.Type == nil { + if d.Spec.MetadataStorage.Name == "" && d.Spec.MetadataStorage.Type == "" { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("metadataStorage").Child("name"), d.Name, "spec.metadataStorage.type and spec.metadataStorage.name both can not be empty simultaneously")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go index 7e0afb65f..dd2c726cd 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go @@ -102,7 +102,7 @@ type FerretDBSpec struct { // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` - Backend *Backend `json:"backend"` + Backend *FerretDBBackend `json:"backend"` } type FerretDBStatus struct { @@ -118,15 +118,7 @@ type FerretDBStatus struct { Conditions []kmapi.Condition `json:"conditions,omitempty"` } -// +kubebuilder:validation:Enum=server;client; -type FerretDBCertificateAlias string - -const ( - FerretDBServerCert FerretDBCertificateAlias = "server" - FerretDBClientCert FerretDBCertificateAlias = "client" -) - -type Backend struct { +type FerretDBBackend struct { // +optional Postgres *PostgresRef `json:"postgres,omitempty"` // A DB inside backend specifically made for ferretdb @@ -159,6 +151,14 @@ type PostgresServiceRef struct { PgPort int32 `json:"pgPort,omitempty"` } +// +kubebuilder:validation:Enum=server;client +type FerretDBCertificateAlias string + +const ( + FerretDBServerCert FerretDBCertificateAlias = "server" + FerretDBClientCert FerretDBCertificateAlias = "client" +) + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object type FerretDBList struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go index c27e69500..aef776d1b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go @@ -168,7 +168,7 @@ func (f *FerretDB) ValidateCreateOrUpdate() field.ErrorList { `'spec.terminationPolicy' value 'Halt' or 'Delete' is not supported yet for FerretDB`)) } - // Backend related + // FerretDBBackend related if f.Spec.Backend.ExternallyManaged { if f.Spec.Backend.Postgres == nil { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("backend"), diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go index 8e65621f5..a3e57ebb4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go @@ -386,12 +386,12 @@ func (k *Kafka) setDefaultContainerSecurityContext(kfVersion *catalog.KafkaVersi dbContainer = &core.Container{ Name: KafkaContainerName, } - podTemplate.Spec.Containers = append(podTemplate.Spec.Containers, *dbContainer) } if dbContainer.SecurityContext == nil { dbContainer.SecurityContext = &core.SecurityContext{} } k.assignDefaultContainerSecurityContext(kfVersion, dbContainer.SecurityContext) + podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *dbContainer) } func (k *Kafka) assignDefaultContainerSecurityContext(kfVersion *catalog.KafkaVersion, sc *core.SecurityContext) { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go index 04e099462..c7e267323 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go @@ -461,7 +461,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver": schema_apimachinery_apis_kubedb_v1alpha2_Archiver(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ArchiverRecovery": schema_apimachinery_apis_kubedb_v1alpha2_ArchiverRecovery(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec": schema_apimachinery_apis_kubedb_v1alpha2_AutoOpsSpec(ref), - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Backend": schema_apimachinery_apis_kubedb_v1alpha2_Backend(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConnectionPoolConfig": schema_apimachinery_apis_kubedb_v1alpha2_ConnectionPoolConfig(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConsumerNamespaces": schema_apimachinery_apis_kubedb_v1alpha2_ConsumerNamespaces(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec": schema_apimachinery_apis_kubedb_v1alpha2_CoordinatorSpec(ref), @@ -488,6 +487,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.EtcdStatus": schema_apimachinery_apis_kubedb_v1alpha2_EtcdStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDB": schema_apimachinery_apis_kubedb_v1alpha2_FerretDB(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBApp": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBApp(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBBackend": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBBackend(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBList": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBList(ref), "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), @@ -600,9 +600,9 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeper": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeper(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperApp": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperList": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperList(ref), - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperRef": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperRef(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperSpec": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperStatus": schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperStatus(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef": schema_apimachinery_apis_kubedb_v1alpha2_ZookeeperRef(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.elasticsearchApp": schema_apimachinery_apis_kubedb_v1alpha2_elasticsearchApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.elasticsearchStatsService": schema_apimachinery_apis_kubedb_v1alpha2_elasticsearchStatsService(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.etcdApp": schema_apimachinery_apis_kubedb_v1alpha2_etcdApp(ref), @@ -629,6 +629,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.redisSentinelStatsService": schema_apimachinery_apis_kubedb_v1alpha2_redisSentinelStatsService(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.redisStatsService": schema_apimachinery_apis_kubedb_v1alpha2_redisStatsService(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.singlestoreApp": schema_apimachinery_apis_kubedb_v1alpha2_singlestoreApp(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.zookeeperStatsService": schema_apimachinery_apis_kubedb_v1alpha2_zookeeperStatsService(ref), } } @@ -22992,40 +22993,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_AutoOpsSpec(ref common.ReferenceCa } } -func schema_apimachinery_apis_kubedb_v1alpha2_Backend(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "postgres": { - SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgresRef"), - }, - }, - "linkedDB": { - SchemaProps: spec.SchemaProps{ - Description: "A DB inside backend specifically made for ferretdb", - Type: []string{"string"}, - Format: "", - }, - }, - "externallyManaged": { - SchemaProps: spec.SchemaProps{ - Default: false, - Type: []string{"boolean"}, - Format: "", - }, - }, - }, - Required: []string{"externallyManaged"}, - }, - }, - Dependencies: []string{ - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgresRef"}, - } -} - func schema_apimachinery_apis_kubedb_v1alpha2_ConnectionPoolConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23225,6 +23192,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DeepStorageSpec(ref common.Referen "type": { SchemaProps: spec.SchemaProps{ Description: "Specifies the storage type to be used by druid Possible values: s3, google, azure, hdfs", + Default: "", Type: []string{"string"}, Format: "", }, @@ -23539,10 +23507,10 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DruidSpec(ref common.ReferenceCall Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DeepStorageSpec"), }, }, - "zooKeeper": { + "zookeeperRef": { SchemaProps: spec.SchemaProps{ Description: "ZooKeeper contains information for Druid to connect to external dependency metadata storage", - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperRef"), + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"), }, }, "podTemplate": { @@ -23592,7 +23560,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DruidSpec(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DeepStorageSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DruidClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MetadataStorage", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeperRef"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DeepStorageSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DruidClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MetadataStorage", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"}, } } @@ -24680,6 +24648,40 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBApp(ref common.ReferenceCa } } +func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBBackend(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "postgres": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgresRef"), + }, + }, + "linkedDB": { + SchemaProps: spec.SchemaProps{ + Description: "A DB inside backend specifically made for ferretdb", + Type: []string{"string"}, + Format: "", + }, + }, + "externallyManaged": { + SchemaProps: spec.SchemaProps{ + Default: false, + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + Required: []string{"externallyManaged"}, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgresRef"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -24830,7 +24832,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBSpec(ref common.ReferenceC }, "backend": { SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Backend"), + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBBackend"), }, }, }, @@ -24838,7 +24840,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBSpec(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Backend", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBBackend", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -26066,20 +26068,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MetadataStorage(ref common.Referen SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Description: "Name of the appbinding of metadata storage", - Type: []string{"string"}, - Format: "", - }, - }, - "namespace": { - SchemaProps: spec.SchemaProps{ - Description: "Namespace of the appbinding of metadata storage", - Type: []string{"string"}, - Format: "", - }, - }, "type": { SchemaProps: spec.SchemaProps{ Description: "If not KubeDB managed, then specify type of the metadata storage", @@ -28020,10 +28008,10 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgpoolSpec(ref common.ReferenceCal Format: "int32", }, }, - "backend": { + "postgresRef": { SchemaProps: spec.SchemaProps{ - Description: "Backend refers to the AppBinding of the backend PostgreSQL server", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Description: "PostgresRef refers to the AppBinding of the backend PostgreSQL server", + Ref: ref("kmodules.xyz/client-go/api/v1.ObjectReference"), }, }, "authSecret": { @@ -28079,11 +28067,11 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgpoolSpec(ref common.ReferenceCal }, }, }, - Required: []string{"version", "backend"}, + Required: []string{"version", "postgresRef"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PgpoolConfiguration", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.ObjectReference", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PgpoolConfiguration", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -30736,7 +30724,8 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrSpec(ref common.ReferenceCallb }, "zookeeperRef": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Description: "\t// ZooKeeper contains information for Solr to store configurations for collections", + Ref: ref("kmodules.xyz/client-go/api/v1.ObjectReference"), }, }, "solrModules": { @@ -30797,6 +30786,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrSpec(ref common.ReferenceCallb Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, + "zookeeperDigestSecret": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "zookeeperDigestReadonlySecret": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, "authConfigSecret": { SchemaProps: spec.SchemaProps{ Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), @@ -30838,11 +30837,11 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrSpec(ref common.ReferenceCallb }, }, }, - Required: []string{"version", "zookeeperRef"}, + Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SolrClusterTopology"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.ObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SolrClusterTopology"}, } } @@ -31054,39 +31053,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperList(ref common.Reference } } -func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperRef(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{ - Description: "Name of the appbinding of zookeeper", - Type: []string{"string"}, - Format: "", - }, - }, - "namespace": { - SchemaProps: spec.SchemaProps{ - Description: "Namespace of the appbinding of zookeeper", - Type: []string{"string"}, - Format: "", - }, - }, - "pathsBase": { - SchemaProps: spec.SchemaProps{ - Description: "Base ZooKeeperSpec path", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - } -} - func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -31145,7 +31111,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref common.Reference SchemaProps: spec.SchemaProps{ Description: "PodTemplate is an optional configuration for pods used to expose database", Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec"), + Ref: ref("kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec"), }, }, "serviceTemplates": { @@ -31183,12 +31149,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref common.Reference Ref: ref("kmodules.xyz/client-go/api/v1.HealthCheckSpec"), }, }, + "monitor": { + SchemaProps: spec.SchemaProps{ + Description: "Monitor is used monitor database instance", + Ref: ref("kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec"), + }, + }, }, Required: []string{"version", "adminServerPort"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -31235,6 +31207,25 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperStatus(ref common.Referen } } +func schema_apimachinery_apis_kubedb_v1alpha2_ZookeeperRef(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "pathsBase": { + SchemaProps: spec.SchemaProps{ + Description: "Base ZooKeeperSpec path", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_elasticsearchApp(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -31754,3 +31745,23 @@ func schema_apimachinery_apis_kubedb_v1alpha2_singlestoreApp(ref common.Referenc "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Singlestore"}, } } + +func schema_apimachinery_apis_kubedb_v1alpha2_zookeeperStatsService(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "ZooKeeper": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeper"), + }, + }, + }, + Required: []string{"ZooKeeper"}, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZooKeeper"}, + } +} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go index 875cd3ec8..c2e65ae4f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go @@ -70,8 +70,8 @@ type PgpoolSpec struct { // +optional Replicas *int32 `json:"replicas,omitempty"` - // Backend refers to the AppBinding of the backend PostgreSQL server - Backend *core.LocalObjectReference `json:"backend"` + // PostgresRef refers to the AppBinding of the backend PostgreSQL server + PostgresRef *kmapi.ObjectReference `json:"postgresRef"` // Pgpool secret containing username and password for pgpool pcp user // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go index 3aa8e55a1..59ac256b6 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go @@ -114,9 +114,9 @@ func (p *Pgpool) ValidateCreateOrUpdate() field.ErrorList { } } - if p.Spec.Backend == nil { - errorList = append(errorList, field.Required(field.NewPath("spec").Child("backend").Child("name"), - "`spec.backend.name` is missing", + if p.Spec.PostgresRef == nil { + errorList = append(errorList, field.Required(field.NewPath("spec").Child("postgresRef"), + "`spec.postgresRef` is missing", )) } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go index 205271986..fb3d502dd 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go @@ -304,6 +304,9 @@ func (r *RabbitMQ) SetDefaults() { } r.SetHealthCheckerDefaults() + if r.Spec.Monitor != nil { + r.Spec.Monitor.SetDefaults() + } } func (r *RabbitMQ) setDefaultContainerSecurityContext(rmVersion *catalog.RabbitMQVersion, podTemplate *ofst.PodTemplateSpec) { @@ -322,7 +325,7 @@ func (r *RabbitMQ) setDefaultContainerSecurityContext(rmVersion *catalog.RabbitM container = &core.Container{ Name: RabbitMQContainerName, } - podTemplate.Spec.Containers = append(podTemplate.Spec.Containers, *container) + podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *container) } if container.SecurityContext == nil { container.SecurityContext = &core.SecurityContext{} @@ -334,7 +337,7 @@ func (r *RabbitMQ) setDefaultContainerSecurityContext(rmVersion *catalog.RabbitM initContainer = &core.Container{ Name: RabbitMQInitContainerName, } - podTemplate.Spec.InitContainers = append(podTemplate.Spec.InitContainers, *initContainer) + podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) } if initContainer.SecurityContext == nil { initContainer.SecurityContext = &core.SecurityContext{} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go index 242eaebf5..1b26eee8a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go @@ -198,6 +198,18 @@ func (s *Solr) SetDefaults(slVersion *catalog.SolrVersion) { } } + if s.Spec.ZookeeperDigestSecret == nil { + s.Spec.ZookeeperDigestSecret = &v1.LocalObjectReference{ + Name: s.SolrSecretName("zk-digest"), + } + } + + if s.Spec.ZookeeperDigestReadonlySecret == nil { + s.Spec.ZookeeperDigestReadonlySecret = &v1.LocalObjectReference{ + Name: s.SolrSecretName("zk-digest-readonly"), + } + } + if s.Spec.AuthConfigSecret == nil { s.Spec.AuthConfigSecret = &v1.LocalObjectReference{ Name: s.SolrSecretName("auth-config"), @@ -214,11 +226,10 @@ func (s *Solr) SetDefaults(slVersion *catalog.SolrVersion) { } if s.Spec.Topology.Data.PodTemplate.Spec.SecurityContext == nil { - s.Spec.Topology.Data.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: slVersion.Spec.SecurityContext.RunAsUser} + s.Spec.Topology.Data.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{} } s.Spec.Topology.Data.PodTemplate.Spec.SecurityContext.FSGroup = slVersion.Spec.SecurityContext.RunAsUser s.setDefaultContainerSecurityContext(slVersion, &s.Spec.Topology.Data.PodTemplate) - s.setDefaultInitContainerSecurityContext(slVersion, &s.Spec.Topology.Data.PodTemplate) s.setDefaultContainerResourceLimits(&s.Spec.Topology.Data.PodTemplate) } @@ -231,11 +242,10 @@ func (s *Solr) SetDefaults(slVersion *catalog.SolrVersion) { } if s.Spec.Topology.Overseer.PodTemplate.Spec.SecurityContext == nil { - s.Spec.Topology.Overseer.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: slVersion.Spec.SecurityContext.RunAsUser} + s.Spec.Topology.Overseer.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{} } s.Spec.Topology.Overseer.PodTemplate.Spec.SecurityContext.FSGroup = slVersion.Spec.SecurityContext.RunAsUser s.setDefaultContainerSecurityContext(slVersion, &s.Spec.Topology.Overseer.PodTemplate) - s.setDefaultInitContainerSecurityContext(slVersion, &s.Spec.Topology.Overseer.PodTemplate) s.setDefaultContainerResourceLimits(&s.Spec.Topology.Overseer.PodTemplate) } @@ -248,11 +258,10 @@ func (s *Solr) SetDefaults(slVersion *catalog.SolrVersion) { } if s.Spec.Topology.Coordinator.PodTemplate.Spec.SecurityContext == nil { - s.Spec.Topology.Coordinator.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: slVersion.Spec.SecurityContext.RunAsUser} + s.Spec.Topology.Coordinator.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{} } s.Spec.Topology.Coordinator.PodTemplate.Spec.SecurityContext.FSGroup = slVersion.Spec.SecurityContext.RunAsUser s.setDefaultContainerSecurityContext(slVersion, &s.Spec.Topology.Coordinator.PodTemplate) - s.setDefaultInitContainerSecurityContext(slVersion, &s.Spec.Topology.Coordinator.PodTemplate) s.setDefaultContainerResourceLimits(&s.Spec.Topology.Coordinator.PodTemplate) } } else { @@ -262,17 +271,16 @@ func (s *Solr) SetDefaults(slVersion *catalog.SolrVersion) { } if s.Spec.PodTemplate.Spec.SecurityContext == nil { - s.Spec.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{FSGroup: slVersion.Spec.SecurityContext.RunAsUser} + s.Spec.PodTemplate.Spec.SecurityContext = &v1.PodSecurityContext{} } s.Spec.PodTemplate.Spec.SecurityContext.FSGroup = slVersion.Spec.SecurityContext.RunAsUser s.setDefaultContainerSecurityContext(slVersion, &s.Spec.PodTemplate) - s.setDefaultInitContainerSecurityContext(slVersion, &s.Spec.PodTemplate) s.setDefaultContainerResourceLimits(&s.Spec.PodTemplate) } } -func (s *Solr) setDefaultInitContainerSecurityContext(slVersion *catalog.SolrVersion, podTemplate *ofst.PodTemplateSpec) { +func (s *Solr) setDefaultContainerSecurityContext(slVersion *catalog.SolrVersion, podTemplate *ofst.PodTemplateSpec) { initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, SolrInitContainerName) if initContainer == nil { initContainer = &v1.Container{ @@ -282,12 +290,9 @@ func (s *Solr) setDefaultInitContainerSecurityContext(slVersion *catalog.SolrVer if initContainer.SecurityContext == nil { initContainer.SecurityContext = &v1.SecurityContext{} } - apis.SetDefaultResourceLimits(&initContainer.Resources, DefaultResources) s.assignDefaultContainerSecurityContext(slVersion, initContainer.SecurityContext) podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) -} -func (s *Solr) setDefaultContainerSecurityContext(slVersion *catalog.SolrVersion, podTemplate *ofst.PodTemplateSpec) { container := coreutil.GetContainerByName(podTemplate.Spec.Containers, SolrContainerName) if container == nil { container = &v1.Container{ @@ -324,7 +329,7 @@ func (s *Solr) assignDefaultContainerSecurityContext(slVersion *catalog.SolrVers func (s *Solr) setDefaultContainerResourceLimits(podTemplate *ofst.PodTemplateSpec) { dbContainer := coreutil.GetContainerByName(podTemplate.Spec.Containers, SolrContainerName) if dbContainer != nil && (dbContainer.Resources.Requests == nil && dbContainer.Resources.Limits == nil) { - apis.SetDefaultResourceLimits(&dbContainer.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&dbContainer.Resources, DefaultResourcesMemoryIntensive) } initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, SolrInitContainerName) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go index 8c54f41d7..e58b35381 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go @@ -69,7 +69,8 @@ type SolrSpec struct { // Storage to specify how storage shall be used Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` - ZookeeperRef *core.LocalObjectReference `json:"zookeeperRef"` + // // ZooKeeper contains information for Solr to store configurations for collections + ZookeeperRef *kmapi.ObjectReference `json:"zookeeperRef,omitempty"` // +optional SolrModules []string `json:"solrModules,omitempty"` @@ -95,6 +96,12 @@ type SolrSpec struct { // +optional AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty"` + // +optional + ZookeeperDigestSecret *core.LocalObjectReference `json:"zookeeperDigestSecret,omitempty"` + + // +optional + ZookeeperDigestReadonlySecret *core.LocalObjectReference `json:"zookeeperDigestReadonlySecret,omitempty"` + // +optional AuthConfigSecret *core.LocalObjectReference `json:"authConfigSecret,omitempty"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go index c0fdaddc6..8ea234831 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go @@ -25,6 +25,7 @@ import ( "kubedb.dev/apimachinery/apis/kubedb" "kubedb.dev/apimachinery/crds" + promapi "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1" "gomodules.xyz/pointer" core "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -33,10 +34,12 @@ import ( appslister "k8s.io/client-go/listers/apps/v1" "k8s.io/klog/v2" "kmodules.xyz/client-go/apiextensions" + coreutil "kmodules.xyz/client-go/core/v1" meta_util "kmodules.xyz/client-go/meta" "kmodules.xyz/client-go/policy/secomp" appcat "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1" - ofst "kmodules.xyz/offshoot-api/api/v1" + mona "kmodules.xyz/monitoring-agent-api/api/v1" + ofst "kmodules.xyz/offshoot-api/api/v2" ) func (z *ZooKeeper) CustomResourceDefinition() *apiextensions.CustomResourceDefinition { @@ -170,8 +173,6 @@ func (z *ZooKeeper) SetDefaults() { if z.Spec.TerminationPolicy == "" { z.Spec.TerminationPolicy = TerminationPolicyDelete } - - apis.SetDefaultResourceLimits(&z.Spec.PodTemplate.Spec.Resources, DefaultResources) if z.Spec.Replicas == nil { z.Spec.Replicas = pointer.Int32P(1) } @@ -193,23 +194,59 @@ func (z *ZooKeeper) SetDefaults() { z.setDefaultContainerSecurityContext(&zkVersion, &z.Spec.PodTemplate) + dbContainer := coreutil.GetContainerByName(z.Spec.PodTemplate.Spec.Containers, ZooKeeperContainerName) + if dbContainer != nil && (dbContainer.Resources.Requests == nil && dbContainer.Resources.Limits == nil) { + apis.SetDefaultResourceLimits(&dbContainer.Resources, DefaultResources) + } + + initContainer := coreutil.GetContainerByName(z.Spec.PodTemplate.Spec.InitContainers, ZooKeeperInitContainerName) + if initContainer != nil && (initContainer.Resources.Requests == nil && initContainer.Resources.Limits == nil) { + apis.SetDefaultResourceLimits(&initContainer.Resources, DefaultInitContainerResource) + } + z.SetHealthCheckerDefaults() + if z.Spec.Monitor != nil { + z.Spec.Monitor.SetDefaults() + } } func (z *ZooKeeper) setDefaultContainerSecurityContext(zkVersion *catalog.ZooKeeperVersion, podTemplate *ofst.PodTemplateSpec) { if podTemplate == nil { return } - if podTemplate.Spec.ContainerSecurityContext == nil { - podTemplate.Spec.ContainerSecurityContext = &core.SecurityContext{} - } if podTemplate.Spec.SecurityContext == nil { podTemplate.Spec.SecurityContext = &core.PodSecurityContext{} } if podTemplate.Spec.SecurityContext.FSGroup == nil { podTemplate.Spec.SecurityContext.FSGroup = zkVersion.Spec.SecurityContext.RunAsUser } - z.assignDefaultContainerSecurityContext(zkVersion, podTemplate.Spec.ContainerSecurityContext) + + container := coreutil.GetContainerByName(podTemplate.Spec.Containers, ZooKeeperContainerName) + if container == nil { + container = &core.Container{ + Name: ZooKeeperContainerName, + } + } + if container.SecurityContext == nil { + container.SecurityContext = &core.SecurityContext{} + } + + z.assignDefaultContainerSecurityContext(zkVersion, container.SecurityContext) + + podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *container) + + initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, ZooKeeperInitContainerName) + if initContainer == nil { + initContainer = &core.Container{ + Name: ZooKeeperInitContainerName, + } + } + if initContainer.SecurityContext == nil { + initContainer.SecurityContext = &core.SecurityContext{} + } + z.assignDefaultContainerSecurityContext(zkVersion, initContainer.SecurityContext) + + podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) } func (z *ZooKeeper) assignDefaultContainerSecurityContext(zkVersion *catalog.ZooKeeperVersion, sc *core.SecurityContext) { @@ -235,6 +272,46 @@ func (z *ZooKeeper) assignDefaultContainerSecurityContext(zkVersion *catalog.Zoo } } +type zookeeperStatsService struct { + *ZooKeeper +} + +func (z zookeeperStatsService) GetNamespace() string { + return z.ZooKeeper.GetNamespace() +} + +func (z zookeeperStatsService) ServiceName() string { + return z.OffshootName() + "-stats" +} + +func (z zookeeperStatsService) ServiceMonitorName() string { + return z.ServiceName() +} + +func (z zookeeperStatsService) ServiceMonitorAdditionalLabels() map[string]string { + return z.OffshootLabels() +} + +func (z zookeeperStatsService) Path() string { + return DefaultStatsPath +} + +func (z zookeeperStatsService) Scheme() string { + return "" +} + +func (z zookeeperStatsService) TLSConfig() *promapi.TLSConfig { + return nil +} + +func (z *ZooKeeper) StatsService() mona.StatsAccessor { + return &zookeeperStatsService{z} +} + +func (z *ZooKeeper) StatsServiceLabels() map[string]string { + return z.ServiceLabels(StatsServiceAlias, map[string]string{LabelRole: RoleStats}) +} + type ZooKeeperApp struct { *ZooKeeper } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go index 210cdc477..7d817044e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go @@ -20,7 +20,8 @@ import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kmapi "kmodules.xyz/client-go/api/v1" - ofst "kmodules.xyz/offshoot-api/api/v1" + mona "kmodules.xyz/monitoring-agent-api/api/v1" + ofst "kmodules.xyz/offshoot-api/api/v2" ) const ( @@ -99,6 +100,10 @@ type ZooKeeperSpec struct { // +optional // +kubebuilder:default={periodSeconds: 20, timeoutSeconds: 10, failureThreshold: 3} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` + + // Monitor is used monitor database instance + // +optional + Monitor *mona.AgentSpec `json:"monitor,omitempty"` } // ZooKeeperStatus defines the observed state of ZooKeeper diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go index ad23533a4..d37cd2954 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go @@ -22,11 +22,13 @@ import ( "kubedb.dev/apimachinery/apis/catalog/v1alpha1" + core "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" + ofst "kmodules.xyz/offshoot-api/api/v2" ctrl "sigs.k8s.io/controller-runtime" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" @@ -107,7 +109,7 @@ func (z *ZooKeeper) ValidateCreateOrUpdate() (admission.Warnings, error) { err.Error())) } - err = z.validateVolumesMountPaths() + err = z.validateVolumesMountPaths(&z.Spec.PodTemplate) if err != nil { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("podTemplate").Child("spec").Child("volumeMounts"), z.Name, @@ -159,16 +161,25 @@ var zookeeperReservedVolumeMountPaths = []string{ ZooKeeperDataVolumePath, } -func (z *ZooKeeper) validateVolumesMountPaths() error { - if z.Spec.PodTemplate.Spec.VolumeMounts == nil { +func (z *ZooKeeper) validateVolumesMountPaths(podTemplate *ofst.PodTemplateSpec) error { + if podTemplate == nil { return nil } - rPaths := zookeeperReservedVolumeMountPaths - volumeMountPaths := z.Spec.PodTemplate.Spec.VolumeMounts - for _, rvm := range rPaths { - for _, ugv := range volumeMountPaths { - if ugv.Name == rvm { - return errors.New("Cannot use a reserve volume name: " + rvm) + var containerList []core.Container + if podTemplate.Spec.Containers != nil { + containerList = append(containerList, podTemplate.Spec.Containers...) + } + if podTemplate.Spec.InitContainers != nil { + containerList = append(containerList, podTemplate.Spec.InitContainers...) + } + + for _, rvmp := range zookeeperReservedVolumeMountPaths { + for i := range containerList { + mountPathList := containerList[i].VolumeMounts + for j := range mountPathList { + if mountPathList[j].MountPath == rvmp { + return errors.New("Can't use a reserve volume mount path name: " + rvmp) + } } } } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go index 3e5d7018b..59b9733b0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go @@ -171,27 +171,6 @@ func (in *AutoOpsSpec) DeepCopy() *AutoOpsSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Backend) DeepCopyInto(out *Backend) { - *out = *in - if in.Postgres != nil { - in, out := &in.Postgres, &out.Postgres - *out = new(PostgresRef) - (*in).DeepCopyInto(*out) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend. -func (in *Backend) DeepCopy() *Backend { - if in == nil { - return nil - } - out := new(Backend) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConnectionPoolConfig) DeepCopyInto(out *ConnectionPoolConfig) { *out = *in @@ -321,11 +300,6 @@ func (in *Databases) DeepCopy() *Databases { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DeepStorageSpec) DeepCopyInto(out *DeepStorageSpec) { *out = *in - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } if in.ConfigSecret != nil { in, out := &in.ConfigSecret, &out.ConfigSecret *out = new(corev1.LocalObjectReference) @@ -546,9 +520,9 @@ func (in *DruidSpec) DeepCopyInto(out *DruidSpec) { *out = new(DeepStorageSpec) (*in).DeepCopyInto(*out) } - if in.ZooKeeper != nil { - in, out := &in.ZooKeeper, &out.ZooKeeper - *out = new(ZooKeeperRef) + if in.ZookeeperRef != nil { + in, out := &in.ZookeeperRef, &out.ZookeeperRef + *out = new(ZookeeperRef) (*in).DeepCopyInto(*out) } in.PodTemplate.DeepCopyInto(&out.PodTemplate) @@ -1177,6 +1151,27 @@ func (in *FerretDBApp) DeepCopy() *FerretDBApp { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FerretDBBackend) DeepCopyInto(out *FerretDBBackend) { + *out = *in + if in.Postgres != nil { + in, out := &in.Postgres, &out.Postgres + *out = new(PostgresRef) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FerretDBBackend. +func (in *FerretDBBackend) DeepCopy() *FerretDBBackend { + if in == nil { + return nil + } + out := new(FerretDBBackend) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FerretDBList) DeepCopyInto(out *FerretDBList) { *out = *in @@ -1253,7 +1248,7 @@ func (in *FerretDBSpec) DeepCopyInto(out *FerretDBSpec) { } if in.Backend != nil { in, out := &in.Backend, &out.Backend - *out = new(Backend) + *out = new(FerretDBBackend) (*in).DeepCopyInto(*out) } return @@ -1998,19 +1993,9 @@ func (in *MemcachedStatus) DeepCopy() *MemcachedStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MetadataStorage) DeepCopyInto(out *MetadataStorage) { *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - if in.Namespace != nil { - in, out := &in.Namespace, &out.Namespace - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) + if in.ObjectReference != nil { + in, out := &in.ObjectReference, &out.ObjectReference + *out = new(apiv1.ObjectReference) **out = **in } if in.CreateTables != nil { @@ -3136,9 +3121,9 @@ func (in *PgpoolSpec) DeepCopyInto(out *PgpoolSpec) { *out = new(int32) **out = **in } - if in.Backend != nil { - in, out := &in.Backend, &out.Backend - *out = new(corev1.LocalObjectReference) + if in.PostgresRef != nil { + in, out := &in.PostgresRef, &out.PostgresRef + *out = new(apiv1.ObjectReference) **out = **in } if in.AuthSecret != nil { @@ -4676,7 +4661,7 @@ func (in *SolrSpec) DeepCopyInto(out *SolrSpec) { } if in.ZookeeperRef != nil { in, out := &in.ZookeeperRef, &out.ZookeeperRef - *out = new(corev1.LocalObjectReference) + *out = new(apiv1.ObjectReference) **out = **in } if in.SolrModules != nil { @@ -4704,6 +4689,16 @@ func (in *SolrSpec) DeepCopyInto(out *SolrSpec) { *out = new(corev1.LocalObjectReference) **out = **in } + if in.ZookeeperDigestSecret != nil { + in, out := &in.ZookeeperDigestSecret, &out.ZookeeperDigestSecret + *out = new(corev1.LocalObjectReference) + **out = **in + } + if in.ZookeeperDigestReadonlySecret != nil { + in, out := &in.ZookeeperDigestReadonlySecret, &out.ZookeeperDigestReadonlySecret + *out = new(corev1.LocalObjectReference) + **out = **in + } if in.AuthConfigSecret != nil { in, out := &in.AuthConfigSecret, &out.AuthConfigSecret *out = new(corev1.LocalObjectReference) @@ -4883,27 +4878,6 @@ func (in *ZooKeeperList) DeepCopyObject() runtime.Object { return nil } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ZooKeeperRef) DeepCopyInto(out *ZooKeeperRef) { - *out = *in - if in.Name != nil { - in, out := &in.Name, &out.Name - *out = new(string) - **out = **in - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZooKeeperRef. -func (in *ZooKeeperRef) DeepCopy() *ZooKeeperRef { - if in == nil { - return nil - } - out := new(ZooKeeperRef) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZooKeeperSpec) DeepCopyInto(out *ZooKeeperSpec) { *out = *in @@ -4936,6 +4910,11 @@ func (in *ZooKeeperSpec) DeepCopyInto(out *ZooKeeperSpec) { } } in.HealthChecker.DeepCopyInto(&out.HealthChecker) + if in.Monitor != nil { + in, out := &in.Monitor, &out.Monitor + *out = new(monitoringagentapiapiv1.AgentSpec) + (*in).DeepCopyInto(*out) + } return } @@ -4971,3 +4950,24 @@ func (in *ZooKeeperStatus) DeepCopy() *ZooKeeperStatus { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZookeeperRef) DeepCopyInto(out *ZookeeperRef) { + *out = *in + if in.ObjectReference != nil { + in, out := &in.ObjectReference, &out.ObjectReference + *out = new(apiv1.ObjectReference) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZookeeperRef. +func (in *ZookeeperRef) DeepCopy() *ZookeeperRef { + if in == nil { + return nil + } + out := new(ZookeeperRef) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/kubedb.dev/apimachinery/crds/kafka.kubedb.com_connectors.yaml b/vendor/kubedb.dev/apimachinery/crds/kafka.kubedb.com_connectors.yaml index 6cffb1684..bd3610f4b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kafka.kubedb.com_connectors.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kafka.kubedb.com_connectors.yaml @@ -100,9 +100,13 @@ spec: phase: enum: - Pending + - Unassigned - Running - Paused + - Failed + - Restarting - Stopped + - Destroyed - Unknown type: string type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml index 3025980e0..c72b4eaa3 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml @@ -62,6 +62,11 @@ spec: type: object x-kubernetes-map-type: atomic type: + enum: + - s3 + - google + - azure + - hdfs type: string required: - type @@ -100,7 +105,12 @@ spec: namespace: type: string type: + enum: + - MySQL + - PostgreSQL type: string + required: + - name type: object podTemplate: properties: @@ -24349,7 +24359,7 @@ spec: type: object version: type: string - zooKeeper: + zookeeperRef: properties: name: type: string @@ -24357,6 +24367,8 @@ spec: type: string pathsBase: type: string + required: + - name type: object required: - deepStorage diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml index 1a8e1e9f4..6b4dbf36f 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml @@ -54,12 +54,6 @@ spec: type: string type: object x-kubernetes-map-type: atomic - backend: - properties: - name: - type: string - type: object - x-kubernetes-map-type: atomic configSecret: properties: name: @@ -3446,6 +3440,15 @@ spec: type: array type: object type: object + postgresRef: + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object replicas: format: int32 type: integer @@ -3531,7 +3534,7 @@ spec: version: type: string required: - - backend + - postgresRef - version type: object status: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml index 8f4336dcc..ebeb288f4 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml @@ -14122,15 +14122,29 @@ spec: type: object version: type: string - zookeeperRef: + zookeeperDigestReadonlySecret: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + zookeeperDigestSecret: properties: name: type: string type: object x-kubernetes-map-type: atomic + zookeeperRef: + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object required: - version - - zookeeperRef type: object status: properties: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml index 0058aa123..0fa0104a8 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml @@ -84,6 +84,194 @@ spec: format: int32 type: integer type: object + monitor: + properties: + agent: + enum: + - prometheus.io/operator + - prometheus.io + - prometheus.io/builtin + type: string + prometheus: + properties: + exporter: + properties: + args: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + port: + default: 56790 + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + type: object + serviceMonitor: + properties: + interval: + type: string + labels: + additionalProperties: + type: string + type: object + type: object + type: object + type: object podTemplate: properties: controller: @@ -110,6 +298,9 @@ spec: type: object spec: properties: + activeDeadlineSeconds: + format: int64 + type: integer affinity: properties: nodeAffinity: @@ -515,165 +706,1325 @@ spec: type: array type: object type: object - args: - items: - type: string - type: array - containerSecurityContext: - properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - dnsConfig: - properties: - nameservers: - items: - type: string - type: array - options: - items: - properties: - name: - type: string - value: - type: string - type: object - type: array - searches: - items: - type: string - type: array - type: object - dnsPolicy: - type: string - enableServiceLinks: + automountServiceAccountToken: type: boolean - env: + containers: items: properties: - name: - type: string - value: - type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - properties: - containerName: - type: string - divisor: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + restartPolicy: + type: string + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + enableServiceLinks: + type: boolean + ephemeralContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + restartPolicy: + type: string + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + stdin: + type: boolean + stdinOnce: + type: boolean + targetContainerName: + type: string + terminationMessagePath: + type: string + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: + items: + properties: + devicePath: + type: string + name: + type: string + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string required: - name type: object type: array + hostAliases: + items: + properties: + hostnames: + items: + type: string + type: array + ip: + type: string + type: object + type: array hostIPC: type: boolean hostNetwork: type: boolean hostPID: type: boolean + hostUsers: + type: boolean imagePullSecrets: items: properties: @@ -1318,322 +2669,46 @@ spec: - name type: object type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - sleep: - properties: - seconds: - format: int64 - type: integer - required: - - seconds - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - sleep: - properties: - seconds: - format: int64 - type: integer - required: - - seconds - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object + nodeName: + type: string nodeSelector: additionalProperties: type: string type: object x-kubernetes-map-type: atomic + os: + properties: + name: + type: string + required: + - name + type: object + overhead: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + preemptionPolicy: + type: string priority: format: int32 type: integer priorityClassName: type: string - readinessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object + readinessGates: + items: + properties: + conditionType: + type: string + required: + - conditionType + type: object + type: array + restartPolicy: + type: string runtimeClassName: type: string schedulerName: @@ -1704,6 +2779,8 @@ spec: type: object serviceAccountName: type: string + setHostnameAsFQDN: + type: boolean shareProcessNamespace: type: boolean terminationGracePeriodSeconds: @@ -1781,26 +2858,6 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array volumes: items: properties: diff --git a/vendor/modules.txt b/vendor/modules.txt index cb12b5d8d..f6782bf4a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1385,7 +1385,7 @@ k8s.io/utils/trace # kmodules.xyz/apiversion v0.2.0 ## explicit; go 1.14 kmodules.xyz/apiversion -# kmodules.xyz/client-go v0.29.8 +# kmodules.xyz/client-go v0.29.9 ## explicit; go 1.21.5 kmodules.xyz/client-go kmodules.xyz/client-go/api/v1 @@ -1409,7 +1409,7 @@ kmodules.xyz/monitoring-agent-api/api/v1 ## explicit; go 1.21.5 kmodules.xyz/offshoot-api/api/v1 kmodules.xyz/offshoot-api/api/v2 -# kubedb.dev/apimachinery v0.42.0 +# kubedb.dev/apimachinery v0.42.2-0.20240227074455-429a2b10fe50 ## explicit; go 1.21.5 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/catalog