Add separate params for master and replica load balancers to operator configuration
This commit is contained in:
		
							parent
							
								
									ac6c5bcf09
								
							
						
					
					
						commit
						0986e56226
					
				|  | @ -13,7 +13,7 @@ spec: | ||||||
|     - superuser |     - superuser | ||||||
|     - createdb |     - createdb | ||||||
|   enableMasterLoadBalancer: true |   enableMasterLoadBalancer: true | ||||||
|   # enableReplicaLoadBalancer: true # uncomment to enable a LB for a replica k8s service |   # enableReplicaLoadBalancer: true  | ||||||
|   allowedSourceRanges: # load balancers' source ranges for both master and replica services |   allowedSourceRanges: # load balancers' source ranges for both master and replica services | ||||||
|   - 127.0.0.1/32 |   - 127.0.0.1/32 | ||||||
|   databases: |   databases: | ||||||
|  |  | ||||||
|  | @ -36,7 +36,8 @@ data: | ||||||
|   team_admin_role: "admin" |   team_admin_role: "admin" | ||||||
|   teams_api_url: http://fake-teams-api.default.svc.cluster.local |   teams_api_url: http://fake-teams-api.default.svc.cluster.local | ||||||
|   workers: "4" |   workers: "4" | ||||||
|   enable_load_balancer: "true" |   enable_master_load_balancer: "true" | ||||||
|  |   # enable_replica_load_balancer: "true" | ||||||
|   api_port: "8080" |   api_port: "8080" | ||||||
|   ring_log_lines: "100" |   ring_log_lines: "100" | ||||||
|   cluster_history_entries: "1000" |   cluster_history_entries: "1000" | ||||||
|  |  | ||||||
|  | @ -679,7 +679,7 @@ func (c *Cluster) shouldCreateLoadBalancerForService(role PostgresRole, spec *sp | ||||||
| 	// create a load balancer for the master service if either Postgres or operator manifests tell to do so
 | 	// create a load balancer for the master service if either Postgres or operator manifests tell to do so
 | ||||||
| 	// if ReplicaLoadBalancer is unset and LB for master service is created, also create a balancer for replicas
 | 	// if ReplicaLoadBalancer is unset and LB for master service is created, also create a balancer for replicas
 | ||||||
| 	return (spec.EnableMasterLoadBalancer != nil && *spec.EnableMasterLoadBalancer) || | 	return (spec.EnableMasterLoadBalancer != nil && *spec.EnableMasterLoadBalancer) || | ||||||
| 		(spec.EnableMasterLoadBalancer == nil && c.OpConfig.EnableLoadBalancer) | 		(spec.EnableMasterLoadBalancer == nil && c.OpConfig.EnableMasterLoadBalancer) | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -67,30 +67,31 @@ type Config struct { | ||||||
| 	Resources | 	Resources | ||||||
| 	Auth | 	Auth | ||||||
| 	Scalyr | 	Scalyr | ||||||
| 	WatchedNamespace         string            `name:"watched_namespace"` // special values: "*" means 'watch all namespaces', the empty string "" means 'watch a namespace where operator is deployed to'
 | 	WatchedNamespace          string            `name:"watched_namespace"` // special values: "*" means 'watch all namespaces', the empty string "" means 'watch a namespace where operator is deployed to'
 | ||||||
| 	EtcdHost                 string            `name:"etcd_host" default:"etcd-client.default.svc.cluster.local:2379"` | 	EtcdHost                  string            `name:"etcd_host" default:"etcd-client.default.svc.cluster.local:2379"` | ||||||
| 	DockerImage              string            `name:"docker_image" default:"registry.opensource.zalan.do/acid/spiloprivate-9.6:1.2-p4"` | 	DockerImage               string            `name:"docker_image" default:"registry.opensource.zalan.do/acid/spiloprivate-9.6:1.2-p4"` | ||||||
| 	ServiceAccountName       string            `name:"service_account_name" default:"operator"` | 	ServiceAccountName        string            `name:"service_account_name" default:"operator"` | ||||||
| 	DbHostedZone             string            `name:"db_hosted_zone" default:"db.example.com"` | 	DbHostedZone              string            `name:"db_hosted_zone" default:"db.example.com"` | ||||||
| 	EtcdScope                string            `name:"etcd_scope" default:"service"` | 	EtcdScope                 string            `name:"etcd_scope" default:"service"` | ||||||
| 	WALES3Bucket             string            `name:"wal_s3_bucket"` | 	WALES3Bucket              string            `name:"wal_s3_bucket"` | ||||||
| 	KubeIAMRole              string            `name:"kube_iam_role"` | 	KubeIAMRole               string            `name:"kube_iam_role"` | ||||||
| 	DebugLogging             bool              `name:"debug_logging" default:"true"` | 	DebugLogging              bool              `name:"debug_logging" default:"true"` | ||||||
| 	EnableDBAccess           bool              `name:"enable_database_access" default:"true"` | 	EnableDBAccess            bool              `name:"enable_database_access" default:"true"` | ||||||
| 	EnableTeamsAPI           bool              `name:"enable_teams_api" default:"true"` | 	EnableTeamsAPI            bool              `name:"enable_teams_api" default:"true"` | ||||||
| 	EnableTeamSuperuser      bool              `name:"enable_team_superuser" default:"false"` | 	EnableTeamSuperuser       bool              `name:"enable_team_superuser" default:"false"` | ||||||
| 	TeamAdminRole            string            `name:"team_admin_role" default:"admin"` | 	TeamAdminRole             string            `name:"team_admin_role" default:"admin"` | ||||||
| 	EnableLoadBalancer       bool              `name:"enable_load_balancer" default:"true"` | 	EnableMasterLoadBalancer  bool              `name:"enable_master_load_balancer" default:"true"` | ||||||
| 	MasterDNSNameFormat      stringTemplate    `name:"master_dns_name_format" default:"{cluster}.{team}.{hostedzone}"` | 	EnableReplicaLoadBalancer bool              `name:"enable_replica_load_balancer" default:"false"` | ||||||
| 	ReplicaDNSNameFormat     stringTemplate    `name:"replica_dns_name_format" default:"{cluster}-repl.{team}.{hostedzone}"` | 	MasterDNSNameFormat       stringTemplate    `name:"master_dns_name_format" default:"{cluster}.{team}.{hostedzone}"` | ||||||
| 	PDBNameFormat            stringTemplate    `name:"pdb_name_format" default:"postgres-{cluster}-pdb"` | 	ReplicaDNSNameFormat      stringTemplate    `name:"replica_dns_name_format" default:"{cluster}-repl.{team}.{hostedzone}"` | ||||||
| 	Workers                  uint32            `name:"workers" default:"4"` | 	PDBNameFormat             stringTemplate    `name:"pdb_name_format" default:"postgres-{cluster}-pdb"` | ||||||
| 	APIPort                  int               `name:"api_port" default:"8080"` | 	Workers                   uint32            `name:"workers" default:"4"` | ||||||
| 	RingLogLines             int               `name:"ring_log_lines" default:"100"` | 	APIPort                   int               `name:"api_port" default:"8080"` | ||||||
| 	ClusterHistoryEntries    int               `name:"cluster_history_entries" default:"1000"` | 	RingLogLines              int               `name:"ring_log_lines" default:"100"` | ||||||
| 	TeamAPIRoleConfiguration map[string]string `name:"team_api_role_configuration" default:"log_statement:all"` | 	ClusterHistoryEntries     int               `name:"cluster_history_entries" default:"1000"` | ||||||
| 	PodTerminateGracePeriod  time.Duration     `name:"pod_terminate_grace_period" default:"5m"` | 	TeamAPIRoleConfiguration  map[string]string `name:"team_api_role_configuration" default:"log_statement:all"` | ||||||
| 	ProtectedRoles           []string          `name:"protected_role_names" default:"admin"` | 	PodTerminateGracePeriod   time.Duration     `name:"pod_terminate_grace_period" default:"5m"` | ||||||
|  | 	ProtectedRoles            []string          `name:"protected_role_names" default:"admin"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // MustMarshal marshals the config or panics
 | // MustMarshal marshals the config or panics
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue