mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-18 04:36:23 +02:00
Implement replicaLoadBalancer boolean flag. (#38)
The flag adds a replica service with the name cluster_name-repl and
a DNS name that defaults to {cluster}-repl.{team}.{hostedzone}.
The implementation converted Service field of the cluster into a map
with one or two elements and deals with the cases when the new flag
is changed on a running cluster
(the update and the sync should create or delete the replica service).
In order to pick up master and replica service and master endpoint
when listing cluster resources.
* Update the spec when updating the cluster.
This commit is contained in:
@@ -9,7 +9,7 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type Decoder interface {
|
||||
type decoder interface {
|
||||
Decode(value string) error
|
||||
}
|
||||
|
||||
@@ -21,15 +21,15 @@ type fieldInfo struct {
|
||||
|
||||
type stringTemplate string
|
||||
|
||||
func decoderFrom(field reflect.Value) (d Decoder) {
|
||||
func decoderFrom(field reflect.Value) (d decoder) {
|
||||
// it may be impossible for a struct field to fail this check
|
||||
if !field.CanInterface() {
|
||||
return
|
||||
}
|
||||
|
||||
d, ok := field.Interface().(Decoder)
|
||||
d, ok := field.Interface().(decoder)
|
||||
if !ok && field.CanAddr() {
|
||||
d, _ = field.Addr().Interface().(Decoder)
|
||||
d, _ = field.Addr().Interface().(decoder)
|
||||
}
|
||||
|
||||
return d
|
||||
|
||||
Reference in New Issue
Block a user