This commit is contained in:
Szilárd Vincze 2025-10-21 15:02:35 +02:00 committed by GitHub
commit df53a1216b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 27 additions and 6 deletions

View File

@ -616,6 +616,9 @@ spec:
logging_rest_api:
type: object
properties:
api_address:
type: string
default: ""
api_port:
type: integer
default: 8080

View File

@ -309,6 +309,8 @@ configDebug:
# parameters affecting logging and REST API listener
configLoggingRestApi:
# REST API listener binds to this address
# api_address: ""
# REST API listener listens to this port
api_port: 8080
# number of entries in the cluster history ring buffer

View File

@ -983,6 +983,9 @@ key.
Parameters affecting logging and REST API listener. In the CRD-based
configuration they are grouped under the `logging_rest_api` key.
* **api_address**
REST API listener binds to this address. The default is empty.
* **api_port**
REST API listener listens to this port. The default is `8080`.

View File

@ -7,6 +7,7 @@ data:
# additional_pod_capabilities: "SYS_NICE"
# additional_secret_mount: "some-secret-name"
# additional_secret_mount_path: "/some/dir"
# api_address: ""
api_port: "8080"
aws_region: eu-central-1
cluster_domain: cluster.local

View File

@ -614,6 +614,9 @@ spec:
logging_rest_api:
type: object
properties:
api_address:
type: string
default: ""
api_port:
type: integer
default: 8080

View File

@ -205,6 +205,7 @@ configuration:
log_statement: all
# teams_api_url: ""
logging_rest_api:
# api_address: ""
api_port: 8080
cluster_history_entries: 1000
ring_log_lines: 100

View File

@ -1878,6 +1878,9 @@ var OperatorConfigCRDResourceValidation = apiextv1.CustomResourceValidation{
"logging_rest_api": {
Type: "object",
Properties: map[string]apiextv1.JSONSchemaProps{
"api_address": {
Type: "string",
},
"api_port": {
Type: "integer",
},

View File

@ -191,9 +191,10 @@ type TeamsAPIConfiguration struct {
// LoggingRESTAPIConfiguration defines Logging API conf
type LoggingRESTAPIConfiguration struct {
APIPort int `json:"api_port,omitempty"`
RingLogLines int `json:"ring_log_lines,omitempty"`
ClusterHistoryEntries int `json:"cluster_history_entries,omitempty"`
APIAddress string `json:"api_address,omitempty"`
APIPort int `json:"api_port,omitempty"`
RingLogLines int `json:"ring_log_lines,omitempty"`
ClusterHistoryEntries int `json:"cluster_history_entries,omitempty"`
}
// ScalyrConfiguration defines the configuration for ScalyrAPI

View File

@ -4,10 +4,12 @@ import (
"context"
"encoding/json"
"fmt"
"net"
"net/http"
"net/http/pprof"
"regexp"
"strconv"
"strings"
"sync"
"time"
@ -72,7 +74,7 @@ var (
)
// New creates new HTTP API server
func New(controller controllerInformer, port int, logger *logrus.Logger) *Server {
func New(controller controllerInformer, address string, port int, logger *logrus.Logger) *Server {
s := &Server{
logger: logger.WithField("pkg", "apiserver"),
controller: controller,
@ -94,7 +96,7 @@ func New(controller controllerInformer, port int, logger *logrus.Logger) *Server
mux.HandleFunc("/databases/", s.databases)
s.http = http.Server{
Addr: fmt.Sprintf(":%d", port),
Addr: net.JoinHostPort(strings.Trim(address, "[]"), strconv.Itoa(port)),
Handler: http.TimeoutHandler(mux, httpAPITimeout, ""),
ReadTimeout: httpReadTimeout,
}

View File

@ -366,7 +366,7 @@ func (c *Controller) initController() {
})
}
c.apiserver = apiserver.New(c, c.opConfig.APIPort, c.logger.Logger)
c.apiserver = apiserver.New(c, c.opConfig.APIAddress, c.opConfig.APIPort, c.logger.Logger)
}
func (c *Controller) initSharedInformers() {

View File

@ -222,6 +222,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
result.RoleDeletionSuffix = util.Coalesce(fromCRD.TeamsAPI.RoleDeletionSuffix, "_deleted")
// logging REST API config
result.APIAddress = util.Coalesce(fromCRD.LoggingRESTAPI.APIAddress, "")
result.APIPort = util.CoalesceInt(fromCRD.LoggingRESTAPI.APIPort, 8080)
result.RingLogLines = util.CoalesceInt(fromCRD.LoggingRESTAPI.RingLogLines, 100)
result.ClusterHistoryEntries = util.CoalesceInt(fromCRD.LoggingRESTAPI.ClusterHistoryEntries, 1000)

View File

@ -228,6 +228,7 @@ type Config struct {
EnableSidecars *bool `name:"enable_sidecars" default:"true"`
SharePgSocketWithSidecars *bool `name:"share_pgsocket_with_sidecars" default:"false"`
Workers uint32 `name:"workers" default:"8"`
APIAddress string `name:"api_address" default:""`
APIPort int `name:"api_port" default:"8080"`
RingLogLines int `name:"ring_log_lines" default:"100"`
ClusterHistoryEntries int `name:"cluster_history_entries" default:"1000"`