SGDistributedLogs


Kind: SGDistributedLogs

listKind: SGDistributedLogsList

plural: sgdistributedlogs

singular: sgdistributedlogs

shortNames sgdil


The SGDistributedLogs custom resource represents a distributed logs cluster. When a Postgres cluster is configured to use distributed logs, all logs from different sources will be forwarded to the distributed logs cluster. Under the hood, distributed log cluster use an SGCluster. Therefore, the distributed log cluster can be queried using SQL as well, for example using postgres-util.

Example:


apiVersion: stackgres.io/v1
kind: SGDistributedLogs
metadata:
  name: distributedlogs
spec:
  persistentVolume:
    size: 10Gi

See also Distribtued Logs section.

Property
Description

Workaround for hugo bug not rendering first table row

apiVersion
string
stackgres.io/v1
Constraints: required, immutable
kind
string
SGDistributedLogs
Constraints: required, immutable
metadata
object
Refer to the Kubernetes API documentation for the fields of the metadata field.
Constraints: required, updatable
spec
object


Constraints: required, updatable
status
object


Constraints: optional, updatable

SGDistributedLogs.spec

↩ Parent

Property
Description

Workaround for hugo bug not rendering first table row

persistentVolume
object
Pod’s persistent volume configuration

Constraints: required, updatable
configurations
object
Cluster custom configurations.

Constraints: optional, updatable
metadata
object
Metadata information for cluster created resources.

Constraints: optional, updatable
nonProductionOptions
object


Constraints: optional, updatable
postgresServices
object
Kubernetes services created or managed by StackGres.



Constraints: optional, updatable
profile
string
The profile allow to change in a convenient place a set of configuration defaults that affect how the cluster is generated.

All those defaults can be overwritten by setting the corresponding fields.

Available profiles are:

  • production:

    Prevents two Pods from running in the same Node (set .spec.nonProductionOptions.disableClusterPodAntiAffinity to false by default). Sets both limits and requests using SGInstanceProfile for patroni container that runs both Patroni and Postgres (set .spec.nonProductionOptions.disablePatroniResourceRequirements to false by default). Sets requests using the referenced SGInstanceProfile for sidecar containers other than patroni (set .spec.nonProductionOptions.disableClusterResourceRequirements to false by default).

  • testing:

    Allows two Pods to run in the same Node (set .spec.nonProductionOptions.disableClusterPodAntiAffinity to true by default). Sets both limits and requests using SGInstanceProfile for patroni container that runs both Patroni and Postgres (set .spec.nonProductionOptions.disablePatroniResourceRequirements to false by default). Sets requests using the referenced SGInstanceProfile for sidecar containers other than patroni (set .spec.nonProductionOptions.disableClusterResourceRequirements to false by default).

  • development:

    Allows two Pods to run in the same Node (set .spec.nonProductionOptions.disableClusterPodAntiAffinity to true by default). Unset both limits and requests for patroni container that runs both Patroni and Postgres (set .spec.nonProductionOptions.disablePatroniResourceRequirements to true by default). Unsets requests for sidecar containers other than patroni (set .spec.nonProductionOptions.disableClusterResourceRequirements to true by default).

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
Default: production
resources
object
Pod custom resources configuration.

Constraints: optional, updatable
scheduling
object
Pod custom scheduling and affinity configuration.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
sgInstanceProfile
string
Name of the SGInstanceProfile. A SGInstanceProfile defines CPU and memory limits. Must exist before creating a distributed logs. When no profile is set, a default (currently: 1 core, 2 GiB RAM) one is used.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.persistentVolume

↩ Parent

Pod’s persistent volume configuration

Property
Description

Workaround for hugo bug not rendering first table row

size
string
Size of the PersistentVolume set for the pod of the cluster for distributed logs. This size is specified either in Mebibytes, Gibibytes or Tebibytes (multiples of 2^20, 2^30 or 2^40, respectively).

Constraints: optional, updatable
storageClass
string
Name of an existing StorageClass in the Kubernetes cluster, used to create the PersistentVolumes for the instances of the cluster.

Constraints: optional, updatable

SGDistributedLogs.spec.configurations

↩ Parent

Cluster custom configurations.

Property
Description

Workaround for hugo bug not rendering first table row

sgPostgresConfig
string
Name of the SGPostgresConfig used for the distributed logs. It must exist. When not set, a default Postgres config, for the major version selected, is used.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.metadata

↩ Parent

Metadata information for cluster created resources.

Property
Description

Workaround for hugo bug not rendering first table row

annotations
object
Custom Kubernetes annotations to be passed to resources created and managed by StackGres.



Constraints: optional, updatable
labels
object
Custom Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) to be passed to resources created and managed by StackGres.

Constraints: optional, updatable

SGDistributedLogs.spec.metadata.annotations

↩ Parent

Custom Kubernetes annotations to be passed to resources created and managed by StackGres.

Example:


apiVersion: stackgres.io/v1
kind: SGDistributedLogs
metadata:
  name: stackgres
spec:
  metadata:
    annotations:
      clusterPods:
        key: value
      primaryService:
        key: value
      replicasService:
        key: value

Property
Description

Workaround for hugo bug not rendering first table row

allResources
map[string]string
Annotations to attach to any resource created or managed by StackGres.

Constraints: optional, updatable
clusterPods
map[string]string
Annotations to attach to pods created or managed by StackGres.

Constraints: optional, updatable
primaryService
map[string]string
Custom Kubernetes annotations passed to the -primary service.

Constraints: optional, updatable
replicasService
map[string]string
Custom Kubernetes annotations passed to the -replicas service.

Constraints: optional, updatable
services
map[string]string
Annotations to attach to all services created or managed by StackGres.

Constraints: optional, updatable

SGDistributedLogs.spec.metadata.labels

↩ Parent

Custom Kubernetes labels to be passed to resources created and managed by StackGres.

Example:


apiVersion: stackgres.io/v1
kind: SGDistributedLogs
metadata:
  name: stackgres
spec:
  metadata:
    labels:
      clusterPods:
        customLabel: customLabelValue
      services:
        customLabel: customLabelValue

Property
Description

Workaround for hugo bug not rendering first table row

clusterPods
map[string]string
Labels to attach to Pods created or managed by StackGres.

Constraints: optional, updatable
services
map[string]string
Labels to attach to Services and Endpoints created or managed by StackGres.

Constraints: optional, updatable

SGDistributedLogs.spec.nonProductionOptions

↩ Parent

Property
Description

Workaround for hugo bug not rendering first table row

disableClusterPodAntiAffinity
boolean
It is a best practice, on non-containerized environments, when running production workloads, to run each database server on a different server (virtual or physical), i.e., not to co-locate more than one database server per host.

The same best practice applies to databases on containers. By default, StackGres will not allow to run more than one StackGres or Distributed Logs pod on a given Kubernetes node. If set to true it will allow more than one StackGres pod per node.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
disableClusterResourceRequirements
boolean
It is a best practice, on containerized environments, when running production workloads, to enforce container’s resources requirements.

By default, StackGres will configure resource requirements for all the containers. Set this property to true to prevent StackGres from setting container’s resources requirements (except for patroni container, see disablePatroniResourceRequirements).

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
disablePatroniResourceRequirements
boolean
It is a best practice, on containerized environments, when running production workloads, to enforce container’s resources requirements.

The same best practice applies to databases on containers. By default, StackGres will configure resource requirements for patroni container. Set this property to true to prevent StackGres from setting patroni container’s resources requirement.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
enableSetClusterCpuRequests
boolean
Deprecated this value is ignored and you can consider it as always true.

On containerized environments, when running production workloads, enforcing container’s cpu requirements request to be equals to the limit allow to achieve the highest level of performance. Doing so, reduces the chances of leaving the workload with less cpu than it requires. It also allow to set static CPU management policy that allows to guarantee a pod the usage exclusive CPUs on the node.

By default, StackGres will configure cpu requirements to have the same limit and request for all the containers. Set this property to true to prevent StackGres from setting container’s cpu requirements request equals to the limit (except for patroni container, see enablePatroniCpuRequests) when .spec.requests.containers.<container name>.cpu .spec.requests.initContainers.<container name>.cpu is configured in the referenced SGInstanceProfile.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
enableSetClusterMemoryRequests
boolean
Deprecated this value is ignored and you can consider it as always true.

On containerized environments, when running production workloads, enforcing container’s memory requirements request to be equals to the limit allow to achieve the highest level of performance. Doing so, reduces the chances of leaving the workload with less memory than it requires.

By default, StackGres will configure memory requirements to have the same limit and request for all the containers. Set this property to true to prevent StackGres from setting container’s memory requirements request equals to the limit (except for patroni container, see enablePatroniCpuRequests) when .spec.requests.containers.<container name>.memory .spec.requests.initContainers.<container name>.memory is configured in the referenced SGInstanceProfile.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
enableSetPatroniCpuRequests
boolean
Deprecated this value is ignored and you can consider it as always true.

On containerized environments, when running production workloads, enforcing container’s cpu requirements request to be equals to the limit allow to achieve the highest level of performance. Doing so, reduces the chances of leaving the workload with less cpu than it requires. It also allow to set static CPU management policy that allows to guarantee a pod the usage exclusive CPUs on the node.

By default, StackGres will configure cpu requirements to have the same limit and request for the patroni container. Set this property to true to prevent StackGres from setting patroni container’s cpu requirements request equals to the limit when .spec.requests.cpu is configured in the referenced SGInstanceProfile.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
enableSetPatroniMemoryRequests
boolean
Deprecated this value is ignored and you can consider it as always true.

On containerized environments, when running production workloads, enforcing container’s memory requirements request to be equals to the limit allow to achieve the highest level of performance. Doing so, reduces the chances of leaving the workload with less memory than it requires.

By default, StackGres will configure memory requirements to have the same limit and request for the patroni container. Set this property to true to prevent StackGres from setting patroni container’s memory requirements request equals to the limit when .spec.requests.memory is configured in the referenced SGInstanceProfile.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.postgresServices

↩ Parent

Kubernetes services created or managed by StackGres.

Example:


apiVersion: stackgres.io/v1
kind: SGDistributedLogs
metadata:
  name: stackgres
spec:
  postgresServices:
    primary:
      type: ClusterIP
    replicas:
      enabled: true
      type: ClusterIP

Property
Description

Workaround for hugo bug not rendering first table row

primary
object
Configuration for the -primary service. It provides a stable connection (regardless of primary failures or switchovers) to the read-write Postgres server of the cluster.

Constraints: optional, updatable
replicas
object
Configuration for the -replicas service. It provides a stable connection (regardless of replica node failures) to any read-only Postgres server of the cluster. Read-only servers are load-balanced via this service.

Constraints: optional, updatable

SGDistributedLogs.spec.postgresServices.primary

↩ Parent

Configuration for the -primary service. It provides a stable connection (regardless of primary failures or switchovers) to the read-write Postgres server of the cluster.

Property
Description

Workaround for hugo bug not rendering first table row

allocateLoadBalancerNodePorts
boolean
allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is “true”. It may be set to “false” if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type.

Constraints: optional, updatable
externalIPs
[]string
externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#allocateloadbalancernodeports-v1-core


Constraints: optional, updatable
externalTrafficPolicy
string
externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service’s “externally-facing” addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to “Local”, the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, “Cluster”, uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get “Cluster” semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node.

Constraints: optional, updatable
healthCheckNodePort
integer
healthCheckNodePort specifies the healthcheck nodePort for the service. This only applies when type is set to LoadBalancer and externalTrafficPolicy is set to Local. If a value is specified, is in-range, and is not in use, it will be used. If not specified, a value will be automatically allocated. External systems (e.g. load-balancers) can use this port to determine if a given node holds endpoints for this service or not. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type). This field cannot be updated once set.

Constraints: optional, updatable
Format: int32
internalTrafficPolicy
string
InternalTrafficPolicy describes how nodes distribute service traffic they receive on the ClusterIP. If set to “Local”, the proxy will assume that pods only want to talk to endpoints of the service on the same node as the pod, dropping the traffic if there are no local endpoints. The default value, “Cluster”, uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features).

Constraints: optional, updatable
ipFamilies
[]string
IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service. This field is usually assigned automatically based on cluster configuration and the ipFamilyPolicy field. If this field is specified manually, the requested family is available in the cluster, and ipFamilyPolicy allows it, it will be used; otherwise creation of the service will fail. This field is conditionally mutable: it allows for adding or removing a secondary IP family, but it does not allow changing the primary IP family of the Service. Valid values are “IPv4” and “IPv6”. This field only applies to Services of types ClusterIP, NodePort, and LoadBalancer, and does apply to “headless” services. This field will be wiped when updating a Service to type ExternalName.

This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.


Constraints: optional, updatable
ipFamilyPolicy
string
IPFamilyPolicy represents the dual-stack-ness requested or required by this Service. If there is no value provided, then this field will be set to SingleStack. Services can be “SingleStack” (a single IP family), “PreferDualStack” (two IP families on dual-stack configured clusters or a single IP family on single-stack clusters), or “RequireDualStack” (two IP families on dual-stack configured clusters, otherwise fail). The ipFamilies and clusterIPs fields depend on the value of this field. This field will be wiped when updating a service to type ExternalName.

Constraints: optional, updatable
loadBalancerClass
string
loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. “internal-vip” or “example.com/internal-vip”. Unprefixed names are reserved for end-users. This field can only be set when the Service type is ‘LoadBalancer’. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type ‘LoadBalancer’. Once set, it can not be changed. This field will be wiped when a service is updated to a non ‘LoadBalancer’ type.

Constraints: optional, updatable
loadBalancerIP
string
Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. Deprecated: This field was under-specified and its meaning varies across implementations. Using it is non-portable and it may not support dual-stack. Users are encouraged to use implementation-specific annotations when available.

Constraints: optional, updatable
loadBalancerSourceRanges
[]string
If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

Constraints: optional, updatable
nodePorts
object
nodePorts is a list of ports for exposing a cluster services to the outside world

Constraints: optional, updatable
publishNotReadyAddresses
boolean
publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet’s Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered “ready” even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior.

Constraints: optional, updatable
sessionAffinity
string
Supports “ClientIP” and “None”. Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

Constraints: optional, updatable
sessionAffinityConfig
object
SessionAffinityConfig represents the configurations of session affinity.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#sessionaffinityconfig-v1-core


Constraints: optional, updatable
type
enum
type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ClusterIP, NodePort, LoadBalancer and None. “ClusterIP” allocates a cluster-internal IP address for load-balancing to endpoints. “NodePort” builds on ClusterIP and allocates a port on every node. “LoadBalancer” builds on NodePort and creates an external load-balancer (if supported in the current cloud). “None” creates a headless service that can be used in conjunction with .spec.pods.disableEnvoy set to true in order to access the database using a DNS. More info:


Constraints: optional, updatable
Enum: ClusterIP, LoadBalancer, NodePort, None
Default: ClusterIP
SGDistributedLogs.spec.postgresServices.primary.nodePorts

↩ Parent

nodePorts is a list of ports for exposing a cluster services to the outside world

Property
Description

Workaround for hugo bug not rendering first table row

pgport
integer
the node port that will be exposed to connect to Postgres instance

Constraints: optional, updatable
replicationport
integer
the node port that will be exposed to connect to Postgres instance for replication purpose

Constraints: optional, updatable
SGDistributedLogs.spec.postgresServices.primary.sessionAffinityConfig

↩ Parent

SessionAffinityConfig represents the configurations of session affinity.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#sessionaffinityconfig-v1-core

Property
Description

Workaround for hugo bug not rendering first table row

clientIP
object
ClientIPConfig represents the configurations of Client IP based session affinity.

Constraints: optional, updatable
SGDistributedLogs.spec.postgresServices.primary.sessionAffinityConfig.clientIP

↩ Parent

ClientIPConfig represents the configurations of Client IP based session affinity.

Property
Description

Workaround for hugo bug not rendering first table row

timeoutSeconds
integer
timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == “ClientIP”. Default value is 10800(for 3 hours).

Constraints: optional, updatable
Format: int32

SGDistributedLogs.spec.postgresServices.replicas

↩ Parent

Configuration for the -replicas service. It provides a stable connection (regardless of replica node failures) to any read-only Postgres server of the cluster. Read-only servers are load-balanced via this service.

Property
Description

Workaround for hugo bug not rendering first table row

allocateLoadBalancerNodePorts
boolean
allocateLoadBalancerNodePorts defines if NodePorts will be automatically allocated for services with type LoadBalancer. Default is “true”. It may be set to “false” if the cluster load-balancer does not rely on NodePorts. If the caller requests specific NodePorts (by specifying a value), those requests will be respected, regardless of this field. This field may only be set for services with type LoadBalancer and will be cleared if the type is changed to any other type.

Constraints: optional, updatable
enabled
boolean
Specify if the -replicas service should be created or not.

Constraints: optional, updatable
externalIPs
[]string
externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#allocateloadbalancernodeports-v1-core


Constraints: optional, updatable
externalTrafficPolicy
string
externalTrafficPolicy describes how nodes distribute service traffic they receive on one of the Service’s “externally-facing” addresses (NodePorts, ExternalIPs, and LoadBalancer IPs). If set to “Local”, the proxy will configure the service in a way that assumes that external load balancers will take care of balancing the service traffic between nodes, and so each node will deliver traffic only to the node-local endpoints of the service, without masquerading the client source IP. (Traffic mistakenly sent to a node with no endpoints will be dropped.) The default value, “Cluster”, uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features). Note that traffic sent to an External IP or LoadBalancer IP from within the cluster will always get “Cluster” semantics, but clients sending to a NodePort from within the cluster may need to take traffic policy into account when picking a node.

Constraints: optional, updatable
healthCheckNodePort
integer
healthCheckNodePort specifies the healthcheck nodePort for the service. This only applies when type is set to LoadBalancer and externalTrafficPolicy is set to Local. If a value is specified, is in-range, and is not in use, it will be used. If not specified, a value will be automatically allocated. External systems (e.g. load-balancers) can use this port to determine if a given node holds endpoints for this service or not. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type). This field cannot be updated once set.

Constraints: optional, updatable
Format: int32
internalTrafficPolicy
string
InternalTrafficPolicy describes how nodes distribute service traffic they receive on the ClusterIP. If set to “Local”, the proxy will assume that pods only want to talk to endpoints of the service on the same node as the pod, dropping the traffic if there are no local endpoints. The default value, “Cluster”, uses the standard behavior of routing to all endpoints evenly (possibly modified by topology and other features).

Constraints: optional, updatable
ipFamilies
[]string
IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this service. This field is usually assigned automatically based on cluster configuration and the ipFamilyPolicy field. If this field is specified manually, the requested family is available in the cluster, and ipFamilyPolicy allows it, it will be used; otherwise creation of the service will fail. This field is conditionally mutable: it allows for adding or removing a secondary IP family, but it does not allow changing the primary IP family of the Service. Valid values are “IPv4” and “IPv6”. This field only applies to Services of types ClusterIP, NodePort, and LoadBalancer, and does apply to “headless” services. This field will be wiped when updating a Service to type ExternalName.

This field may hold a maximum of two entries (dual-stack families, in either order). These families must correspond to the values of the clusterIPs field, if specified. Both clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.


Constraints: optional, updatable
ipFamilyPolicy
string
IPFamilyPolicy represents the dual-stack-ness requested or required by this Service. If there is no value provided, then this field will be set to SingleStack. Services can be “SingleStack” (a single IP family), “PreferDualStack” (two IP families on dual-stack configured clusters or a single IP family on single-stack clusters), or “RequireDualStack” (two IP families on dual-stack configured clusters, otherwise fail). The ipFamilies and clusterIPs fields depend on the value of this field. This field will be wiped when updating a service to type ExternalName.

Constraints: optional, updatable
loadBalancerClass
string
loadBalancerClass is the class of the load balancer implementation this Service belongs to. If specified, the value of this field must be a label-style identifier, with an optional prefix, e.g. “internal-vip” or “example.com/internal-vip”. Unprefixed names are reserved for end-users. This field can only be set when the Service type is ‘LoadBalancer’. If not set, the default load balancer implementation is used, today this is typically done through the cloud provider integration, but should apply for any default implementation. If set, it is assumed that a load balancer implementation is watching for Services with a matching class. Any default load balancer implementation (e.g. cloud providers) should ignore Services that set this field. This field can only be set when creating or updating a Service to type ‘LoadBalancer’. Once set, it can not be changed. This field will be wiped when a service is updated to a non ‘LoadBalancer’ type.

Constraints: optional, updatable
loadBalancerIP
string
Only applies to Service Type: LoadBalancer. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature. Deprecated: This field was under-specified and its meaning varies across implementations. Using it is non-portable and it may not support dual-stack. Users are encouraged to use implementation-specific annotations when available.

Constraints: optional, updatable
loadBalancerSourceRanges
[]string
If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

Constraints: optional, updatable
nodePorts
object
nodePorts is a list of ports for exposing a cluster services to the outside world

Constraints: optional, updatable
publishNotReadyAddresses
boolean
publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet’s Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered “ready” even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior.

Constraints: optional, updatable
sessionAffinity
string
Supports “ClientIP” and “None”. Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

Constraints: optional, updatable
sessionAffinityConfig
object
SessionAffinityConfig represents the configurations of session affinity.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#sessionaffinityconfig-v1-core


Constraints: optional, updatable
type
enum
type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ClusterIP, NodePort, LoadBalancer and None. “ClusterIP” allocates a cluster-internal IP address for load-balancing to endpoints. “NodePort” builds on ClusterIP and allocates a port on every node. “LoadBalancer” builds on NodePort and creates an external load-balancer (if supported in the current cloud). “None” creates a headless service that can be used in conjunction with .spec.pods.disableEnvoy set to true in order to access the database using a DNS. More info:


Constraints: optional, updatable
Enum: ClusterIP, LoadBalancer, NodePort, None
Default: ClusterIP
SGDistributedLogs.spec.postgresServices.replicas.nodePorts

↩ Parent

nodePorts is a list of ports for exposing a cluster services to the outside world

Property
Description

Workaround for hugo bug not rendering first table row

pgport
integer
the node port that will be exposed to connect to Postgres instance

Constraints: optional, updatable
replicationport
integer
the node port that will be exposed to connect to Postgres instance for replication purpose

Constraints: optional, updatable
SGDistributedLogs.spec.postgresServices.replicas.sessionAffinityConfig

↩ Parent

SessionAffinityConfig represents the configurations of session affinity.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#sessionaffinityconfig-v1-core

Property
Description

Workaround for hugo bug not rendering first table row

clientIP
object
ClientIPConfig represents the configurations of Client IP based session affinity.

Constraints: optional, updatable
SGDistributedLogs.spec.postgresServices.replicas.sessionAffinityConfig.clientIP

↩ Parent

ClientIPConfig represents the configurations of Client IP based session affinity.

Property
Description

Workaround for hugo bug not rendering first table row

timeoutSeconds
integer
timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == “ClientIP”. Default value is 10800(for 3 hours).

Constraints: optional, updatable
Format: int32

SGDistributedLogs.spec.resources

↩ Parent

Pod custom resources configuration.

Property
Description

Workaround for hugo bug not rendering first table row

disableResourcesRequestsSplitFromTotal
boolean
When set to true the resources requests values in fields SGInstanceProfile.spec.requests.cpu and SGInstanceProfile.spec.requests.memory will represent the resources requests of the patroni container and the total resources requests calculated by adding the resources requests of all the containers (including the patroni container).

Changing this field may require a restart.


Constraints: optional, updatable, may require restart
enableClusterLimitsRequirements
boolean
When set to true resources limits for containers other than the patroni container will be set just like for patroni container as specified in the SGInstanceProfile.

Changing this field may require a restart.


Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.scheduling

↩ Parent

Pod custom scheduling and affinity configuration.

Changing this field may require a restart.

Property
Description

Workaround for hugo bug not rendering first table row

nodeAffinity
object
Node affinity is a group of node affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#nodeaffinity-v1-core


Constraints: optional, updatable, may require restart
nodeSelector
map[string]string
NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node’s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Constraints: optional, updatable, may require restart
podAffinity
object
Pod affinity is a group of inter pod affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podaffinity-v1-core


Constraints: optional, updatable, may require restart
podAntiAffinity
object
Pod anti affinity is a group of inter pod anti affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podantiaffinity-v1-core


Constraints: optional, updatable, may require restart
priorityClassName
string
If specified, indicates the pod’s priority. “system-node-critical” and “system-cluster-critical” are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.

Constraints: optional, updatable, may require restart
tolerations
[]object

Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.scheduling.nodeAffinity

↩ Parent

Node affinity is a group of node affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#nodeaffinity-v1-core

Property
Description

Workaround for hugo bug not rendering first table row

preferredDuringSchedulingIgnoredDuringExecution
[]object
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.

Constraints: optional, updatable, may require restart
requiredDuringSchedulingIgnoredDuringExecution
object
A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index]

↩ Parent

An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it’s a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).

Property
Description

Workaround for hugo bug not rendering first table row

preference
object
A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.

Constraints: required, updatable, may require restart
weight
integer
Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.

Constraints: required, updatable, may require restart
Format: int32
SGDistributedLogs.spec.scheduling.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference

↩ Parent

A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
A list of node selector requirements by node’s labels.

Constraints: optional, updatable, may require restart
matchFields
[]object
A list of node selector requirements by node’s fields.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference.matchExpressions[index]

↩ Parent

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Constraints: required, updatable, may require restart
values
[]string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].preference.matchFields[index]

↩ Parent

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Constraints: required, updatable, may require restart
values
[]string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

↩ Parent

A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

Property
Description

Workaround for hugo bug not rendering first table row

nodeSelectorTerms
[]object
Required. A list of node selector terms. The terms are ORed.

Constraints: required, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index]

↩ Parent

A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
A list of node selector requirements by node’s labels.

Constraints: optional, updatable, may require restart
matchFields
[]object
A list of node selector requirements by node’s fields.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index].matchExpressions[index]

↩ Parent

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Constraints: required, updatable, may require restart
values
[]string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[index].matchFields[index]

↩ Parent

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
The label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Constraints: required, updatable, may require restart
values
[]string
An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.scheduling.podAffinity

↩ Parent

Pod affinity is a group of inter pod affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podaffinity-v1-core

Property
Description

Workaround for hugo bug not rendering first table row

preferredDuringSchedulingIgnoredDuringExecution
[]object
The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.

Constraints: optional, updatable, may require restart
requiredDuringSchedulingIgnoredDuringExecution
[]object
If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index]

↩ Parent

The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)

Property
Description

Workaround for hugo bug not rendering first table row

podAffinityTerm
object
Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Constraints: required, updatable, may require restart
weight
integer
weight associated with matching the corresponding podAffinityTerm, in the range 1-100.

Constraints: required, updatable, may require restart
Format: int32
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm

↩ Parent

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Property
Description

Workaround for hugo bug not rendering first table row

topologyKey
string
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.

Constraints: required, updatable, may require restart
labelSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
matchLabelKeys
[]string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
mismatchLabelKeys
[]string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
namespaceSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
namespaces
[]string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.labelSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.labelSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.namespaceSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.namespaceSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[index]

↩ Parent

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Property
Description

Workaround for hugo bug not rendering first table row

topologyKey
string
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.

Constraints: required, updatable, may require restart
labelSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
matchLabelKeys
[]string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
mismatchLabelKeys
[]string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
namespaceSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
namespaces
[]string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].labelSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].labelSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].namespaceSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].namespaceSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.scheduling.podAntiAffinity

↩ Parent

Pod anti affinity is a group of inter pod anti affinity scheduling rules.

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#podantiaffinity-v1-core

Property
Description

Workaround for hugo bug not rendering first table row

preferredDuringSchedulingIgnoredDuringExecution
[]object
The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and subtracting “weight” from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.

Constraints: optional, updatable, may require restart
requiredDuringSchedulingIgnoredDuringExecution
[]object
If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index]

↩ Parent

The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)

Property
Description

Workaround for hugo bug not rendering first table row

podAffinityTerm
object
Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Constraints: required, updatable, may require restart
weight
integer
weight associated with matching the corresponding podAffinityTerm, in the range 1-100.

Constraints: required, updatable, may require restart
Format: int32
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm

↩ Parent

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Property
Description

Workaround for hugo bug not rendering first table row

topologyKey
string
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.

Constraints: required, updatable, may require restart
labelSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
matchLabelKeys
[]string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
mismatchLabelKeys
[]string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
namespaceSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
namespaces
[]string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.labelSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.labelSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.namespaceSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[index].podAffinityTerm.namespaceSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[index]

↩ Parent

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Property
Description

Workaround for hugo bug not rendering first table row

topologyKey
string
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.

Constraints: required, updatable, may require restart
labelSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
matchLabelKeys
[]string
MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
mismatchLabelKeys
[]string
MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.

Constraints: optional, updatable, may require restart
namespaceSelector
object
A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Constraints: optional, updatable, may require restart
namespaces
[]string
namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].labelSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].labelSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].namespaceSelector

↩ Parent

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Property
Description

Workaround for hugo bug not rendering first table row

matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.

Constraints: optional, updatable, may require restart
matchLabels
map[string]string
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.

Constraints: optional, updatable, may require restart
SGDistributedLogs.spec.scheduling.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[index].namespaceSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Property
Description

Workaround for hugo bug not rendering first table row

key
string
key is the label key that the selector applies to.

Constraints: required, updatable, may require restart
operator
string
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Constraints: required, updatable, may require restart
values
[]string
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

Constraints: optional, updatable, may require restart

SGDistributedLogs.spec.scheduling.tolerations[index]

↩ Parent

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator .

Property
Description

Workaround for hugo bug not rendering first table row

effect
string
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Constraints: optional, updatable, may require restart
key
string
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Constraints: optional, updatable, may require restart
operator
string
Operator represents a key’s relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).

Constraints: optional, updatable, may require restart
tolerationSeconds
integer
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Constraints: optional, updatable, may require restart
Format: int64
value
string
Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Constraints: optional, updatable, may require restart

SGDistributedLogs.status

↩ Parent

Property
Description

Workaround for hugo bug not rendering first table row

conditions
[]object


Constraints: optional, updatable
connectedClusters
[]object
The list of connected sgclusters

Constraints: optional, updatable
databases
[]object
The list of database status

Constraints: optional, updatable
fluentdConfigHash
string
The hash of the configuration file that is used by fluentd

Constraints: optional, updatable
labelPrefix
string
The custom prefix that is prepended to all labels.

Constraints: optional, updatable
oldConfigMapRemoved
boolean
Flag to indicate the previous existing ConfigMap has been removed.

Constraints: optional, updatable
postgresVersion
string
The used Postgres version

Constraints: optional, updatable
timescaledbVersion
string
The used Timescaledb version

Constraints: optional, updatable

SGDistributedLogs.status.conditions[index]

↩ Parent

Property
Description

Workaround for hugo bug not rendering first table row

lastTransitionTime
string
Last time the condition transitioned from one status to another.

Constraints: optional, updatable
message
string
A human readable message indicating details about the transition.

Constraints: optional, updatable
reason
string
The reason for the condition’s last transition.

Constraints: optional, updatable
status
string
Status of the condition, one of True, False, Unknown.

Constraints: optional, updatable
type
string
Type of deployment condition.

Constraints: optional, updatable

SGDistributedLogs.status.connectedClusters[index]

↩ Parent

A connected sgcluster

Property
Description

Workaround for hugo bug not rendering first table row

config
object
The configuration for sgdistributedlogs of this sgcluster

Constraints: optional, updatable
name
string
The sgcluster name

Constraints: optional, updatable
namespace
string
The sgcluster namespace

Constraints: optional, updatable

SGDistributedLogs.status.connectedClusters[index].config

↩ Parent

The configuration for sgdistributedlogs of this sgcluster

Property
Description

Workaround for hugo bug not rendering first table row

retention
string
The retention window that has been applied to tables

Constraints: optional, updatable
sgDistributedLogs
string
The sgdistributedlogs to which this sgcluster is connected to

Constraints: optional, updatable

SGDistributedLogs.status.databases[index]

↩ Parent

A database status

Property
Description

Workaround for hugo bug not rendering first table row

name
string
The database name that has been created

Constraints: optional, updatable
retention
string
The retention window that has been applied to tables

Constraints: optional, updatable